kohacraft Lab
/
kc_tenkiyoho_LED3
Tenki yoho LED kit2
main.cpp@0:82aac34e1141, 2016-05-17 (annotated)
- Committer:
- kohacraft
- Date:
- Tue May 17 01:46:09 2016 +0000
- Revision:
- 0:82aac34e1141
- Child:
- 1:1c83ef47372a
ver1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kohacraft | 0:82aac34e1141 | 1 | #include "mbed.h" |
kohacraft | 0:82aac34e1141 | 2 | #include <string.h> |
kohacraft | 0:82aac34e1141 | 3 | |
kohacraft | 0:82aac34e1141 | 4 | Serial wifi(dp16, dp15); // ESP-WROOM-02 tx, rx |
kohacraft | 0:82aac34e1141 | 5 | DigitalOut wifiRst(dp17); // /ESP-WROOM-02 RESET |
kohacraft | 0:82aac34e1141 | 6 | |
kohacraft | 0:82aac34e1141 | 7 | DigitalOut sunny(dp1); //dp1を晴れのLEDにつなぎます |
kohacraft | 0:82aac34e1141 | 8 | DigitalOut cloudy(dp2); //dp2を曇りのLEDにつなぎます |
kohacraft | 0:82aac34e1141 | 9 | DigitalOut rainy(dp4); //dp4を雨のLEDにつなぎます |
kohacraft | 0:82aac34e1141 | 10 | DigitalOut snowy(dp6); //dp6を雪のLEDににつなぎます |
kohacraft | 0:82aac34e1141 | 11 | |
kohacraft | 0:82aac34e1141 | 12 | #define baudrate 115200 |
kohacraft | 0:82aac34e1141 | 13 | |
kohacraft | 0:82aac34e1141 | 14 | static char rxbuff[1500]; //ネットから取得するデータの格納場所 |
kohacraft | 0:82aac34e1141 | 15 | int buffAdr = 0; |
kohacraft | 0:82aac34e1141 | 16 | |
kohacraft | 0:82aac34e1141 | 17 | const char SSID[] = "your SSDI"; //アクセスポイントのSSID |
kohacraft | 0:82aac34e1141 | 18 | const char PASS[] = "password"; //アクセスポイントのパスワード |
kohacraft | 0:82aac34e1141 | 19 | const char WOEID[] = "1118370"; //天気を調べる場所 http://woeid.rosselliot.co.nz/ で郵便番号で検索して得られる番号 |
kohacraft | 0:82aac34e1141 | 20 | |
kohacraft | 0:82aac34e1141 | 21 | //データを受信する(1秒くらいは受信する) |
kohacraft | 0:82aac34e1141 | 22 | bool recvData(int throwDataSize) |
kohacraft | 0:82aac34e1141 | 23 | { |
kohacraft | 0:82aac34e1141 | 24 | bool ret = false; |
kohacraft | 0:82aac34e1141 | 25 | buffAdr = 0; |
kohacraft | 0:82aac34e1141 | 26 | rxbuff[0] = '\0'; |
kohacraft | 0:82aac34e1141 | 27 | |
kohacraft | 0:82aac34e1141 | 28 | int headerCount = 0; |
kohacraft | 0:82aac34e1141 | 29 | |
kohacraft | 0:82aac34e1141 | 30 | //700000回ループしたらタイムアウトする(約1秒) |
kohacraft | 0:82aac34e1141 | 31 | for( int i = 0; i < 700000 ; i++ ) |
kohacraft | 0:82aac34e1141 | 32 | { |
kohacraft | 0:82aac34e1141 | 33 | if( wifi.readable() != 0 ) |
kohacraft | 0:82aac34e1141 | 34 | { |
kohacraft | 0:82aac34e1141 | 35 | rxbuff[buffAdr++] = wifi.getc(); //Serial.getc() |
kohacraft | 0:82aac34e1141 | 36 | headerCount++; |
kohacraft | 0:82aac34e1141 | 37 | if( headerCount <= throwDataSize ) //最初のthrowDataSize文字捨てる |
kohacraft | 0:82aac34e1141 | 38 | buffAdr=0; |
kohacraft | 0:82aac34e1141 | 39 | if( buffAdr >= sizeof(rxbuff)-1 ) //バッファ溢れしたら終了 |
kohacraft | 0:82aac34e1141 | 40 | { |
kohacraft | 0:82aac34e1141 | 41 | ret = true; |
kohacraft | 0:82aac34e1141 | 42 | i=700000; //loopを早く終わらすために |
kohacraft | 0:82aac34e1141 | 43 | break; |
kohacraft | 0:82aac34e1141 | 44 | } |
kohacraft | 0:82aac34e1141 | 45 | |
kohacraft | 0:82aac34e1141 | 46 | } |
kohacraft | 0:82aac34e1141 | 47 | } |
kohacraft | 0:82aac34e1141 | 48 | |
kohacraft | 0:82aac34e1141 | 49 | //文字列の最後を終端 |
kohacraft | 0:82aac34e1141 | 50 | buffAdr = '\0'; |
kohacraft | 0:82aac34e1141 | 51 | rxbuff[sizeof(rxbuff)-1] = '\0'; |
kohacraft | 0:82aac34e1141 | 52 | return ret; |
kohacraft | 0:82aac34e1141 | 53 | } |
kohacraft | 0:82aac34e1141 | 54 | |
kohacraft | 0:82aac34e1141 | 55 | //文字列から予報天気を抽出 |
kohacraft | 0:82aac34e1141 | 56 | bool getWeather( char* str , int* weatherCord , int* tempLow , int* tempHi ) |
kohacraft | 0:82aac34e1141 | 57 | { |
kohacraft | 0:82aac34e1141 | 58 | //文字列探索 |
kohacraft | 0:82aac34e1141 | 59 | char *forecast; |
kohacraft | 0:82aac34e1141 | 60 | if ( (forecast = strstr(str, "yweather:forecast") ) == NULL ) |
kohacraft | 0:82aac34e1141 | 61 | { |
kohacraft | 0:82aac34e1141 | 62 | //取得できず |
kohacraft | 0:82aac34e1141 | 63 | weatherCord = 0; |
kohacraft | 0:82aac34e1141 | 64 | tempLow = 0; |
kohacraft | 0:82aac34e1141 | 65 | tempLow = 0; |
kohacraft | 0:82aac34e1141 | 66 | return false; |
kohacraft | 0:82aac34e1141 | 67 | } |
kohacraft | 0:82aac34e1141 | 68 | |
kohacraft | 0:82aac34e1141 | 69 | //天気コードを抽出 |
kohacraft | 0:82aac34e1141 | 70 | char *codeStart,*codeEnd; |
kohacraft | 0:82aac34e1141 | 71 | codeStart = strstr(forecast, "code="); |
kohacraft | 0:82aac34e1141 | 72 | codeStart = strchr( codeStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 73 | codeStart++; //"の次の文字のポインタ |
kohacraft | 0:82aac34e1141 | 74 | codeEnd = strchr( codeStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 75 | *codeEnd = '\0'; |
kohacraft | 0:82aac34e1141 | 76 | *weatherCord = atoi( codeStart ); //最高気温を数字に変換 |
kohacraft | 0:82aac34e1141 | 77 | |
kohacraft | 0:82aac34e1141 | 78 | //最高気温を抽出 |
kohacraft | 0:82aac34e1141 | 79 | char *hiStart,*hiEnd; |
kohacraft | 0:82aac34e1141 | 80 | hiStart = strstr(codeEnd+1, "high="); |
kohacraft | 0:82aac34e1141 | 81 | hiStart = strchr( hiStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 82 | hiStart++; //"の次の文字のポインタ |
kohacraft | 0:82aac34e1141 | 83 | hiEnd = strchr( hiStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 84 | *hiEnd = '\0'; |
kohacraft | 0:82aac34e1141 | 85 | *tempHi = atoi( hiStart ); //最高気温を数字に変換 |
kohacraft | 0:82aac34e1141 | 86 | |
kohacraft | 0:82aac34e1141 | 87 | //最低気温を抽出 |
kohacraft | 0:82aac34e1141 | 88 | char *lowStart,*lowEnd; |
kohacraft | 0:82aac34e1141 | 89 | lowStart = strstr(hiEnd+1, "low="); |
kohacraft | 0:82aac34e1141 | 90 | lowStart = strchr( lowStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 91 | lowStart++; //"の次の文字のポインタ |
kohacraft | 0:82aac34e1141 | 92 | lowEnd = strchr( lowStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 93 | *lowEnd = '\0'; |
kohacraft | 0:82aac34e1141 | 94 | *tempLow = atoi( lowStart ); //最低気温を数字に変換 |
kohacraft | 0:82aac34e1141 | 95 | |
kohacraft | 0:82aac34e1141 | 96 | //天気を抽出 |
kohacraft | 0:82aac34e1141 | 97 | char *textStart,*textEnd; |
kohacraft | 0:82aac34e1141 | 98 | char weatherText[32]; |
kohacraft | 0:82aac34e1141 | 99 | textStart = strstr(lowEnd+1, "text="); |
kohacraft | 0:82aac34e1141 | 100 | textStart = strchr( textStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 101 | textStart++; //"の次の文字のポインタ |
kohacraft | 0:82aac34e1141 | 102 | textEnd = strchr( textStart , '\"' ); |
kohacraft | 0:82aac34e1141 | 103 | *textEnd = '\0'; |
kohacraft | 0:82aac34e1141 | 104 | strncpy( weatherText, textStart , 32); |
kohacraft | 0:82aac34e1141 | 105 | |
kohacraft | 0:82aac34e1141 | 106 | return true; |
kohacraft | 0:82aac34e1141 | 107 | } |
kohacraft | 0:82aac34e1141 | 108 | |
kohacraft | 0:82aac34e1141 | 109 | //LEDを順番に光らせる |
kohacraft | 0:82aac34e1141 | 110 | void ledIlluminationWait() |
kohacraft | 0:82aac34e1141 | 111 | { |
kohacraft | 0:82aac34e1141 | 112 | snowy = 0; |
kohacraft | 0:82aac34e1141 | 113 | sunny = 1; |
kohacraft | 0:82aac34e1141 | 114 | wait(0.5); |
kohacraft | 0:82aac34e1141 | 115 | |
kohacraft | 0:82aac34e1141 | 116 | sunny = 0; |
kohacraft | 0:82aac34e1141 | 117 | cloudy = 1; |
kohacraft | 0:82aac34e1141 | 118 | wait(0.5); |
kohacraft | 0:82aac34e1141 | 119 | |
kohacraft | 0:82aac34e1141 | 120 | cloudy = 0; |
kohacraft | 0:82aac34e1141 | 121 | rainy = 1; |
kohacraft | 0:82aac34e1141 | 122 | wait(0.5); |
kohacraft | 0:82aac34e1141 | 123 | |
kohacraft | 0:82aac34e1141 | 124 | rainy = 0; |
kohacraft | 0:82aac34e1141 | 125 | snowy = 1; |
kohacraft | 0:82aac34e1141 | 126 | wait(0.5); |
kohacraft | 0:82aac34e1141 | 127 | |
kohacraft | 0:82aac34e1141 | 128 | } |
kohacraft | 0:82aac34e1141 | 129 | |
kohacraft | 0:82aac34e1141 | 130 | |
kohacraft | 0:82aac34e1141 | 131 | //OKの文字列を受信するまで待つ timeが0なら永久に待つ |
kohacraft | 0:82aac34e1141 | 132 | //time*1[秒]待つ (time=10は10秒待つ) |
kohacraft | 0:82aac34e1141 | 133 | bool waitOk(int time) |
kohacraft | 0:82aac34e1141 | 134 | { |
kohacraft | 0:82aac34e1141 | 135 | bool ret = false; |
kohacraft | 0:82aac34e1141 | 136 | int addNumber = 1; |
kohacraft | 0:82aac34e1141 | 137 | if( time == 0 ) |
kohacraft | 0:82aac34e1141 | 138 | { |
kohacraft | 0:82aac34e1141 | 139 | addNumber = 0; |
kohacraft | 0:82aac34e1141 | 140 | time = 1; |
kohacraft | 0:82aac34e1141 | 141 | } |
kohacraft | 0:82aac34e1141 | 142 | for( int i = 0 ; i<time ; i+=addNumber ) |
kohacraft | 0:82aac34e1141 | 143 | { |
kohacraft | 0:82aac34e1141 | 144 | recvData(0); |
kohacraft | 0:82aac34e1141 | 145 | if( strstr(rxbuff, "OK") != NULL ) |
kohacraft | 0:82aac34e1141 | 146 | { |
kohacraft | 0:82aac34e1141 | 147 | ret = true; |
kohacraft | 0:82aac34e1141 | 148 | break; |
kohacraft | 0:82aac34e1141 | 149 | } |
kohacraft | 0:82aac34e1141 | 150 | } |
kohacraft | 0:82aac34e1141 | 151 | return ret; |
kohacraft | 0:82aac34e1141 | 152 | } |
kohacraft | 0:82aac34e1141 | 153 | |
kohacraft | 0:82aac34e1141 | 154 | int main() { |
kohacraft | 0:82aac34e1141 | 155 | |
kohacraft | 0:82aac34e1141 | 156 | //天気情報 |
kohacraft | 0:82aac34e1141 | 157 | bool sun = 0; |
kohacraft | 0:82aac34e1141 | 158 | bool rain = 0; |
kohacraft | 0:82aac34e1141 | 159 | bool cloud = 0; |
kohacraft | 0:82aac34e1141 | 160 | bool snow = 0; |
kohacraft | 0:82aac34e1141 | 161 | |
kohacraft | 0:82aac34e1141 | 162 | wifi.baud(baudrate); //ビットレートを設定 |
kohacraft | 0:82aac34e1141 | 163 | |
kohacraft | 0:82aac34e1141 | 164 | while(1) |
kohacraft | 0:82aac34e1141 | 165 | { |
kohacraft | 0:82aac34e1141 | 166 | //無線LANモジュールをリセット |
kohacraft | 0:82aac34e1141 | 167 | wifiRst = 0; |
kohacraft | 0:82aac34e1141 | 168 | wait_ms(100); |
kohacraft | 0:82aac34e1141 | 169 | wifiRst = 1; |
kohacraft | 0:82aac34e1141 | 170 | |
kohacraft | 0:82aac34e1141 | 171 | //無線LANモジュールが安定するのを待つ |
kohacraft | 0:82aac34e1141 | 172 | ledIlluminationWait(); |
kohacraft | 0:82aac34e1141 | 173 | ledIlluminationWait(); |
kohacraft | 0:82aac34e1141 | 174 | ledIlluminationWait(); |
kohacraft | 0:82aac34e1141 | 175 | ledIlluminationWait(); |
kohacraft | 0:82aac34e1141 | 176 | ledIlluminationWait(); |
kohacraft | 0:82aac34e1141 | 177 | |
kohacraft | 0:82aac34e1141 | 178 | //最初にlanモジュールから出力される文字列を捨てる |
kohacraft | 0:82aac34e1141 | 179 | char temp; |
kohacraft | 0:82aac34e1141 | 180 | while( wifi.readable() == 1 ) |
kohacraft | 0:82aac34e1141 | 181 | temp = wifi.getc(); |
kohacraft | 0:82aac34e1141 | 182 | |
kohacraft | 0:82aac34e1141 | 183 | //ATコマンドで無線LANモジュールをクライアントモードにする |
kohacraft | 0:82aac34e1141 | 184 | sunny = 1; cloudy = 0; rainy = 0; snowy = 0; //晴れが光っぱなしの場合はwifiジュールと通信できていない |
kohacraft | 0:82aac34e1141 | 185 | wifi.printf("AT\r\n"); |
kohacraft | 0:82aac34e1141 | 186 | waitOk(0); |
kohacraft | 0:82aac34e1141 | 187 | |
kohacraft | 0:82aac34e1141 | 188 | sunny = 0; cloudy = 1; rainy = 0; snowy = 0; |
kohacraft | 0:82aac34e1141 | 189 | wifi.printf("AT+CWMODE=1\r\n"); |
kohacraft | 0:82aac34e1141 | 190 | waitOk(0); |
kohacraft | 0:82aac34e1141 | 191 | |
kohacraft | 0:82aac34e1141 | 192 | //アクセスポイントに接続 |
kohacraft | 0:82aac34e1141 | 193 | sunny = 0; cloudy = 0; rainy = 1; snowy = 0; //雨が光っぱなしの場合はアクセスポイントにつながらない |
kohacraft | 0:82aac34e1141 | 194 | wifi.printf("AT+CWJAP=\"%s\",\"%s\"\r\n",SSID,PASS); |
kohacraft | 0:82aac34e1141 | 195 | waitOk(0); |
kohacraft | 0:82aac34e1141 | 196 | |
kohacraft | 0:82aac34e1141 | 197 | while(1) |
kohacraft | 0:82aac34e1141 | 198 | { |
kohacraft | 0:82aac34e1141 | 199 | //LEDを消灯 |
kohacraft | 0:82aac34e1141 | 200 | sunny = 0; cloudy = 0; rainy = 0; snowy = 0; //全てが消え続ける場合はサーバーにつながらない |
kohacraft | 0:82aac34e1141 | 201 | |
kohacraft | 0:82aac34e1141 | 202 | //サーバに接続 |
kohacraft | 0:82aac34e1141 | 203 | wifi.printf("AT+CIPSTART=\"TCP\",\"query.yahooapis.com\",80\r\n"); |
kohacraft | 0:82aac34e1141 | 204 | if( waitOk(3600) == false ) |
kohacraft | 0:82aac34e1141 | 205 | break; //1時間待っても返事が無ければ最初からやり直し |
kohacraft | 0:82aac34e1141 | 206 | |
kohacraft | 0:82aac34e1141 | 207 | //サーバに天気データを要求 |
kohacraft | 0:82aac34e1141 | 208 | char str[250]; |
kohacraft | 0:82aac34e1141 | 209 | sprintf(str , "GET http://query.yahooapis.com/v1/public/yql?q=SELECT%%20*%%20FROM%%20weather.forecast%%20WHERE%%20woeid%%3D%%22%s%%22%20and%%20u%%3D%%22c%%22\r\nHost: query.yahooapis.com\r\nConnection: close\r\n\r\n\r\n",WOEID); |
kohacraft | 0:82aac34e1141 | 210 | wifi.printf("AT+CIPSEND=%d\r\n",strlen(str)); |
kohacraft | 0:82aac34e1141 | 211 | if( waitOk(3600) == false ) |
kohacraft | 0:82aac34e1141 | 212 | break; //1時間待っても返事が無ければ最初からやり直し |
kohacraft | 0:82aac34e1141 | 213 | |
kohacraft | 0:82aac34e1141 | 214 | wifi.printf("%s",str); |
kohacraft | 0:82aac34e1141 | 215 | recvData(1500); //データの受信(最初の1500文字を捨てる) |
kohacraft | 0:82aac34e1141 | 216 | //wifi.printf("%s\r\n",rxbuff); //*** デバッグ用 *** バッファの内容を出力 |
kohacraft | 0:82aac34e1141 | 217 | |
kohacraft | 0:82aac34e1141 | 218 | //文字列探索 |
kohacraft | 0:82aac34e1141 | 219 | sunny = 0; cloudy = 0; rainy = 0; snowy = 1; //雪が光っぱなしの場合は天気情報が得られてない |
kohacraft | 0:82aac34e1141 | 220 | int weatherCord , tempHi , tempLow; |
kohacraft | 0:82aac34e1141 | 221 | if( getWeather( rxbuff , &weatherCord , &tempLow , &tempHi ) == false ) //データの受信 |
kohacraft | 0:82aac34e1141 | 222 | { |
kohacraft | 0:82aac34e1141 | 223 | //予報の文字列がない |
kohacraft | 0:82aac34e1141 | 224 | wait(30); |
kohacraft | 0:82aac34e1141 | 225 | break; //30秒待って最初からやり直す |
kohacraft | 0:82aac34e1141 | 226 | } |
kohacraft | 0:82aac34e1141 | 227 | |
kohacraft | 0:82aac34e1141 | 228 | //*** ↓デバッグ用 *** 受信した天気情報を出力 |
kohacraft | 0:82aac34e1141 | 229 | //wifi.printf("weatherCord:%d tempLow:%d tempHi:%d\r\n",weatherCord , tempLow , tempHi); |
kohacraft | 0:82aac34e1141 | 230 | |
kohacraft | 0:82aac34e1141 | 231 | |
kohacraft | 0:82aac34e1141 | 232 | //天気をLEDの色に変換する |
kohacraft | 0:82aac34e1141 | 233 | switch(weatherCord) |
kohacraft | 0:82aac34e1141 | 234 | { |
kohacraft | 0:82aac34e1141 | 235 | //晴れ |
kohacraft | 0:82aac34e1141 | 236 | case 24: |
kohacraft | 0:82aac34e1141 | 237 | case 25: |
kohacraft | 0:82aac34e1141 | 238 | case 31: |
kohacraft | 0:82aac34e1141 | 239 | case 32: |
kohacraft | 0:82aac34e1141 | 240 | case 36: |
kohacraft | 0:82aac34e1141 | 241 | case 29: |
kohacraft | 0:82aac34e1141 | 242 | case 30: |
kohacraft | 0:82aac34e1141 | 243 | case 33: |
kohacraft | 0:82aac34e1141 | 244 | case 34: |
kohacraft | 0:82aac34e1141 | 245 | case 44: |
kohacraft | 0:82aac34e1141 | 246 | sun = 1; |
kohacraft | 0:82aac34e1141 | 247 | rain = 0; |
kohacraft | 0:82aac34e1141 | 248 | cloud = 0; |
kohacraft | 0:82aac34e1141 | 249 | snow = 0; |
kohacraft | 0:82aac34e1141 | 250 | break; |
kohacraft | 0:82aac34e1141 | 251 | |
kohacraft | 0:82aac34e1141 | 252 | //曇り |
kohacraft | 0:82aac34e1141 | 253 | case 19: |
kohacraft | 0:82aac34e1141 | 254 | case 21: |
kohacraft | 0:82aac34e1141 | 255 | case 22: |
kohacraft | 0:82aac34e1141 | 256 | case 23: |
kohacraft | 0:82aac34e1141 | 257 | case 26: |
kohacraft | 0:82aac34e1141 | 258 | case 27: |
kohacraft | 0:82aac34e1141 | 259 | case 28: |
kohacraft | 0:82aac34e1141 | 260 | sun = 0; |
kohacraft | 0:82aac34e1141 | 261 | rain = 0; |
kohacraft | 0:82aac34e1141 | 262 | cloud = 1; |
kohacraft | 0:82aac34e1141 | 263 | snow = 0; |
kohacraft | 0:82aac34e1141 | 264 | break; |
kohacraft | 0:82aac34e1141 | 265 | |
kohacraft | 0:82aac34e1141 | 266 | //雨 |
kohacraft | 0:82aac34e1141 | 267 | case 0: |
kohacraft | 0:82aac34e1141 | 268 | case 1: |
kohacraft | 0:82aac34e1141 | 269 | case 2: |
kohacraft | 0:82aac34e1141 | 270 | case 3: |
kohacraft | 0:82aac34e1141 | 271 | case 4: |
kohacraft | 0:82aac34e1141 | 272 | case 6: |
kohacraft | 0:82aac34e1141 | 273 | case 12: |
kohacraft | 0:82aac34e1141 | 274 | case 17: |
kohacraft | 0:82aac34e1141 | 275 | case 38: |
kohacraft | 0:82aac34e1141 | 276 | case 39: |
kohacraft | 0:82aac34e1141 | 277 | case 40: |
kohacraft | 0:82aac34e1141 | 278 | case 45: |
kohacraft | 0:82aac34e1141 | 279 | case 47: |
kohacraft | 0:82aac34e1141 | 280 | case 5: |
kohacraft | 0:82aac34e1141 | 281 | case 10: |
kohacraft | 0:82aac34e1141 | 282 | case 18: |
kohacraft | 0:82aac34e1141 | 283 | case 35: |
kohacraft | 0:82aac34e1141 | 284 | case 9: |
kohacraft | 0:82aac34e1141 | 285 | case 11: |
kohacraft | 0:82aac34e1141 | 286 | case 20: |
kohacraft | 0:82aac34e1141 | 287 | case 37: |
kohacraft | 0:82aac34e1141 | 288 | sun = 0; |
kohacraft | 0:82aac34e1141 | 289 | rain = 1; |
kohacraft | 0:82aac34e1141 | 290 | cloud = 0; |
kohacraft | 0:82aac34e1141 | 291 | snow = 0; |
kohacraft | 0:82aac34e1141 | 292 | break; |
kohacraft | 0:82aac34e1141 | 293 | |
kohacraft | 0:82aac34e1141 | 294 | //雪 |
kohacraft | 0:82aac34e1141 | 295 | case 7: |
kohacraft | 0:82aac34e1141 | 296 | case 8: |
kohacraft | 0:82aac34e1141 | 297 | case 13: |
kohacraft | 0:82aac34e1141 | 298 | case 14: |
kohacraft | 0:82aac34e1141 | 299 | case 15: |
kohacraft | 0:82aac34e1141 | 300 | case 16: |
kohacraft | 0:82aac34e1141 | 301 | case 41: |
kohacraft | 0:82aac34e1141 | 302 | case 42: |
kohacraft | 0:82aac34e1141 | 303 | case 43: |
kohacraft | 0:82aac34e1141 | 304 | case 46: |
kohacraft | 0:82aac34e1141 | 305 | sun = 0; |
kohacraft | 0:82aac34e1141 | 306 | rain = 0; |
kohacraft | 0:82aac34e1141 | 307 | cloud = 0; |
kohacraft | 0:82aac34e1141 | 308 | snow = 1; |
kohacraft | 0:82aac34e1141 | 309 | break; |
kohacraft | 0:82aac34e1141 | 310 | |
kohacraft | 0:82aac34e1141 | 311 | |
kohacraft | 0:82aac34e1141 | 312 | } |
kohacraft | 0:82aac34e1141 | 313 | |
kohacraft | 0:82aac34e1141 | 314 | //LEDを点滅させながら1時間待つ |
kohacraft | 0:82aac34e1141 | 315 | for(int i=0 ; i<60*60 ; i++) |
kohacraft | 0:82aac34e1141 | 316 | { |
kohacraft | 0:82aac34e1141 | 317 | //LEDを点灯 |
kohacraft | 0:82aac34e1141 | 318 | sunny = sun; |
kohacraft | 0:82aac34e1141 | 319 | rainy = rain; |
kohacraft | 0:82aac34e1141 | 320 | cloudy = cloud; |
kohacraft | 0:82aac34e1141 | 321 | snowy = snow; |
kohacraft | 0:82aac34e1141 | 322 | wait(0.5); |
kohacraft | 0:82aac34e1141 | 323 | |
kohacraft | 0:82aac34e1141 | 324 | //LEDを消灯 |
kohacraft | 0:82aac34e1141 | 325 | sunny = 0; |
kohacraft | 0:82aac34e1141 | 326 | rainy = 0; |
kohacraft | 0:82aac34e1141 | 327 | cloudy = 0; |
kohacraft | 0:82aac34e1141 | 328 | snowy = 0; |
kohacraft | 0:82aac34e1141 | 329 | wait(0.5); |
kohacraft | 0:82aac34e1141 | 330 | } |
kohacraft | 0:82aac34e1141 | 331 | } |
kohacraft | 0:82aac34e1141 | 332 | } |
kohacraft | 0:82aac34e1141 | 333 | } |
kohacraft | 0:82aac34e1141 | 334 | |
kohacraft | 0:82aac34e1141 | 335 | /* weather Cords |
kohacraft | 0:82aac34e1141 | 336 | 0 tornado |
kohacraft | 0:82aac34e1141 | 337 | 1 tropical storm |
kohacraft | 0:82aac34e1141 | 338 | 2 hurricane |
kohacraft | 0:82aac34e1141 | 339 | 3 severe thunderstorms |
kohacraft | 0:82aac34e1141 | 340 | 4 thunderstorms |
kohacraft | 0:82aac34e1141 | 341 | 5 mixed rain and snow |
kohacraft | 0:82aac34e1141 | 342 | 6 mixed rain and sleet |
kohacraft | 0:82aac34e1141 | 343 | 7 mixed snow and sleet |
kohacraft | 0:82aac34e1141 | 344 | 8 freezing drizzle |
kohacraft | 0:82aac34e1141 | 345 | 9 drizzle |
kohacraft | 0:82aac34e1141 | 346 | 10 freezing rain |
kohacraft | 0:82aac34e1141 | 347 | 11 showers |
kohacraft | 0:82aac34e1141 | 348 | 12 showers |
kohacraft | 0:82aac34e1141 | 349 | 13 snow flurries |
kohacraft | 0:82aac34e1141 | 350 | 14 light snow showers |
kohacraft | 0:82aac34e1141 | 351 | 15 blowing snow |
kohacraft | 0:82aac34e1141 | 352 | 16 snow |
kohacraft | 0:82aac34e1141 | 353 | 17 hail |
kohacraft | 0:82aac34e1141 | 354 | 18 sleet |
kohacraft | 0:82aac34e1141 | 355 | 19 dust |
kohacraft | 0:82aac34e1141 | 356 | 20 foggy |
kohacraft | 0:82aac34e1141 | 357 | 21 haze |
kohacraft | 0:82aac34e1141 | 358 | 22 smoky |
kohacraft | 0:82aac34e1141 | 359 | 23 blustery |
kohacraft | 0:82aac34e1141 | 360 | 24 windy |
kohacraft | 0:82aac34e1141 | 361 | 25 cold |
kohacraft | 0:82aac34e1141 | 362 | 26 cloudy |
kohacraft | 0:82aac34e1141 | 363 | 27 mostly cloudy (night) |
kohacraft | 0:82aac34e1141 | 364 | 28 mostly cloudy (day) |
kohacraft | 0:82aac34e1141 | 365 | 29 partly cloudy (night) |
kohacraft | 0:82aac34e1141 | 366 | 30 partly cloudy (day) |
kohacraft | 0:82aac34e1141 | 367 | 31 clear (night) |
kohacraft | 0:82aac34e1141 | 368 | 32 sunny |
kohacraft | 0:82aac34e1141 | 369 | 33 fair (night) |
kohacraft | 0:82aac34e1141 | 370 | 34 fair (day) |
kohacraft | 0:82aac34e1141 | 371 | 35 mixed rain and hail |
kohacraft | 0:82aac34e1141 | 372 | 36 hot |
kohacraft | 0:82aac34e1141 | 373 | 37 isolated thunderstorms |
kohacraft | 0:82aac34e1141 | 374 | 38 scattered thunderstorms |
kohacraft | 0:82aac34e1141 | 375 | 39 scattered thunderstorms |
kohacraft | 0:82aac34e1141 | 376 | 40 scattered showers |
kohacraft | 0:82aac34e1141 | 377 | 41 heavy snow |
kohacraft | 0:82aac34e1141 | 378 | 42 scattered snow showers |
kohacraft | 0:82aac34e1141 | 379 | 43 heavy snow |
kohacraft | 0:82aac34e1141 | 380 | 44 partly cloudy |
kohacraft | 0:82aac34e1141 | 381 | 45 thundershowers |
kohacraft | 0:82aac34e1141 | 382 | 46 snow showers |
kohacraft | 0:82aac34e1141 | 383 | 47 isolated thundershowers |
kohacraft | 0:82aac34e1141 | 384 | */ |