tenkiyoho LED 2 (with ESP-WROOM-02)

Dependencies:   mbed

Committer:
kohacraft
Date:
Wed May 04 03:13:17 2016 +0000
Revision:
2:65e5f82ea7b8
Parent:
1:5f560645b4fb
yahoo API ???; ?????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:fb93c5feca27 1 #include "mbed.h"
kohacraft 0:fb93c5feca27 2 #include <string.h>
kohacraft 0:fb93c5feca27 3
kohacraft 0:fb93c5feca27 4 Serial wifi(dp16, dp15); // ESP-WROOM-02 tx, rx
kohacraft 0:fb93c5feca27 5 DigitalOut wifiRst(dp17); // /ESP-WROOM-02 RESET
kohacraft 0:fb93c5feca27 6 DigitalIn lightSensor(dp4); //loom light sensor(CdS:GL5528 conect to dp4 and GND)
kohacraft 0:fb93c5feca27 7
kohacraft 0:fb93c5feca27 8 PwmOut sunny(dp1); //dp1を晴れのLEDのPWM出力にします
kohacraft 0:fb93c5feca27 9 PwmOut rainy(dp2); //dp2を雨のLEDのPWM出力にします
kohacraft 0:fb93c5feca27 10 PwmOut cloudy(dp18); //dp18を曇りのLEDのPWM出力にします
kohacraft 0:fb93c5feca27 11 PwmOut snowy(dp24); //dp18を雪のLEDのPWM出力にします
kohacraft 0:fb93c5feca27 12
kohacraft 0:fb93c5feca27 13 #define baudrate 115200
kohacraft 0:fb93c5feca27 14
kohacraft 2:65e5f82ea7b8 15 static char rxbuff[1500]; //取得する文字列
kohacraft 0:fb93c5feca27 16 int buffAdr = 0;
kohacraft 0:fb93c5feca27 17
kohacraft 0:fb93c5feca27 18 const char SSID[] = "your SSDI"; //アクセスポイントのSSID
kohacraft 0:fb93c5feca27 19 const char PASS[] = "password"; //アクセスポイントのパスワード
kohacraft 2:65e5f82ea7b8 20 const char WOEID[] = "28413961"; //天気を調べる場所 http://woeid.rosselliot.co.nz/ で郵便番号で検索して得られる番号
kohacraft 0:fb93c5feca27 21
kohacraft 0:fb93c5feca27 22 //データを受信する
kohacraft 0:fb93c5feca27 23 bool recvData()
kohacraft 0:fb93c5feca27 24 {
kohacraft 0:fb93c5feca27 25 bool ret = false;
kohacraft 0:fb93c5feca27 26 buffAdr = 0;
kohacraft 0:fb93c5feca27 27 for( int i =0 ; i< sizeof( rxbuff ) ; i++ )
kohacraft 0:fb93c5feca27 28 rxbuff[i] = '\0';
kohacraft 0:fb93c5feca27 29
kohacraft 0:fb93c5feca27 30 int headerCount = 0;
kohacraft 0:fb93c5feca27 31
kohacraft 0:fb93c5feca27 32 //1000000回ループしたらタイムアウトする
kohacraft 0:fb93c5feca27 33 for( int i = 0; i < 1000000 ; i++ )
kohacraft 0:fb93c5feca27 34 {
kohacraft 0:fb93c5feca27 35 if( wifi.readable() != 0 )
kohacraft 0:fb93c5feca27 36 {
kohacraft 0:fb93c5feca27 37 rxbuff[buffAdr++] = wifi.getc(); //Serial.getc()
kohacraft 0:fb93c5feca27 38 headerCount++;
kohacraft 2:65e5f82ea7b8 39 if( headerCount <= 1500 ) //最初の2400文字捨てる
kohacraft 0:fb93c5feca27 40 buffAdr=0;
kohacraft 0:fb93c5feca27 41 if( buffAdr >= sizeof(rxbuff)-1 ) //バッファ溢れしたら終了
kohacraft 0:fb93c5feca27 42 {
kohacraft 0:fb93c5feca27 43 ret = true;
kohacraft 0:fb93c5feca27 44 i=1000000; //loopを早く終わらすために
kohacraft 0:fb93c5feca27 45 break;
kohacraft 0:fb93c5feca27 46 }
kohacraft 0:fb93c5feca27 47
kohacraft 0:fb93c5feca27 48 }
kohacraft 0:fb93c5feca27 49 }
kohacraft 0:fb93c5feca27 50
kohacraft 0:fb93c5feca27 51 //文字列の最後を終端
kohacraft 0:fb93c5feca27 52 rxbuff[sizeof(rxbuff)-1] = '\0';
kohacraft 0:fb93c5feca27 53 return ret;
kohacraft 0:fb93c5feca27 54 }
kohacraft 0:fb93c5feca27 55
kohacraft 0:fb93c5feca27 56 //文字列から予報天気を抽出
kohacraft 0:fb93c5feca27 57 bool getWeather( char* str , int* weatherCord , int* tempLow , int* tempHi )
kohacraft 0:fb93c5feca27 58 {
kohacraft 0:fb93c5feca27 59 //文字列探索
kohacraft 0:fb93c5feca27 60 char *forecast;
kohacraft 0:fb93c5feca27 61 if ( (forecast = strstr(str, "yweather:forecast") ) == NULL )
kohacraft 0:fb93c5feca27 62 {
kohacraft 0:fb93c5feca27 63 //取得できず
kohacraft 0:fb93c5feca27 64 weatherCord = 0;
kohacraft 0:fb93c5feca27 65 tempLow = 0;
kohacraft 0:fb93c5feca27 66 tempLow = 0;
kohacraft 0:fb93c5feca27 67 return false;
kohacraft 0:fb93c5feca27 68 }
kohacraft 0:fb93c5feca27 69
kohacraft 2:65e5f82ea7b8 70 //天気コードを抽出
kohacraft 2:65e5f82ea7b8 71 char *codeStart,*codeEnd;
kohacraft 2:65e5f82ea7b8 72 //int weatherCord;
kohacraft 2:65e5f82ea7b8 73 codeStart = strstr(forecast, "code=");
kohacraft 2:65e5f82ea7b8 74 codeStart = strchr( codeStart , '\"' );
kohacraft 2:65e5f82ea7b8 75 codeStart++; //"の次の文字のポインタ
kohacraft 2:65e5f82ea7b8 76 codeEnd = strchr( codeStart , '\"' );
kohacraft 2:65e5f82ea7b8 77 *codeEnd = '\0';
kohacraft 2:65e5f82ea7b8 78 *weatherCord = atoi( codeStart ); //最高気温を数字に変換
kohacraft 0:fb93c5feca27 79
kohacraft 0:fb93c5feca27 80 //最高気温を抽出
kohacraft 0:fb93c5feca27 81 char *hiStart,*hiEnd;
kohacraft 0:fb93c5feca27 82 //int tempHi;
kohacraft 2:65e5f82ea7b8 83 hiStart = strstr(codeEnd+1, "high=");
kohacraft 0:fb93c5feca27 84 hiStart = strchr( hiStart , '\"' );
kohacraft 0:fb93c5feca27 85 hiStart++; //"の次の文字のポインタ
kohacraft 0:fb93c5feca27 86 hiEnd = strchr( hiStart , '\"' );
kohacraft 0:fb93c5feca27 87 *hiEnd = '\0';
kohacraft 0:fb93c5feca27 88 *tempHi = atoi( hiStart ); //最高気温を数字に変換
kohacraft 2:65e5f82ea7b8 89
kohacraft 2:65e5f82ea7b8 90 //最低気温を抽出
kohacraft 2:65e5f82ea7b8 91 char *lowStart,*lowEnd;
kohacraft 2:65e5f82ea7b8 92 //int tempLow;
kohacraft 2:65e5f82ea7b8 93 lowStart = strstr(hiEnd+1, "low=");
kohacraft 2:65e5f82ea7b8 94 lowStart = strchr( lowStart , '\"' );
kohacraft 2:65e5f82ea7b8 95 lowStart++; //"の次の文字のポインタ
kohacraft 2:65e5f82ea7b8 96 lowEnd = strchr( lowStart , '\"' );
kohacraft 2:65e5f82ea7b8 97 *lowEnd = '\0';
kohacraft 2:65e5f82ea7b8 98 *tempLow = atoi( lowStart ); //最低気温を数字に変換
kohacraft 0:fb93c5feca27 99
kohacraft 0:fb93c5feca27 100 //天気を抽出
kohacraft 0:fb93c5feca27 101 char *textStart,*textEnd;
kohacraft 0:fb93c5feca27 102 char weatherText[32];
kohacraft 2:65e5f82ea7b8 103 textStart = strstr(lowEnd+1, "text=");
kohacraft 0:fb93c5feca27 104 textStart = strchr( textStart , '\"' );
kohacraft 0:fb93c5feca27 105 textStart++; //"の次の文字のポインタ
kohacraft 0:fb93c5feca27 106 textEnd = strchr( textStart , '\"' );
kohacraft 0:fb93c5feca27 107 *textEnd = '\0';
kohacraft 0:fb93c5feca27 108 strncpy( weatherText, textStart , 32);
kohacraft 0:fb93c5feca27 109
kohacraft 0:fb93c5feca27 110 return true;
kohacraft 0:fb93c5feca27 111 }
kohacraft 0:fb93c5feca27 112
kohacraft 0:fb93c5feca27 113 //LEDを順番に光らせる
kohacraft 0:fb93c5feca27 114 void ledIlluminationWait()
kohacraft 0:fb93c5feca27 115 {
kohacraft 0:fb93c5feca27 116 snowy = 0.0;
kohacraft 0:fb93c5feca27 117 sunny = 1.0;
kohacraft 0:fb93c5feca27 118 wait(0.5);
kohacraft 0:fb93c5feca27 119
kohacraft 0:fb93c5feca27 120 sunny = 0.0;
kohacraft 0:fb93c5feca27 121 rainy = 1.0;
kohacraft 0:fb93c5feca27 122 wait(0.5);
kohacraft 0:fb93c5feca27 123
kohacraft 0:fb93c5feca27 124 rainy = 0.0;
kohacraft 0:fb93c5feca27 125 cloudy = 1.0;
kohacraft 0:fb93c5feca27 126 wait(0.5);
kohacraft 0:fb93c5feca27 127
kohacraft 0:fb93c5feca27 128 cloudy = 0.0;
kohacraft 0:fb93c5feca27 129 snowy = 1.0;
kohacraft 0:fb93c5feca27 130 wait(0.5);
kohacraft 0:fb93c5feca27 131
kohacraft 0:fb93c5feca27 132 }
kohacraft 0:fb93c5feca27 133
kohacraft 0:fb93c5feca27 134 //天気に応じた明るさの変換
kohacraft 0:fb93c5feca27 135 float wheatherIllumination( float inValue1 , float inValue2)
kohacraft 0:fb93c5feca27 136 {
kohacraft 0:fb93c5feca27 137 float temp;
kohacraft 0:fb93c5feca27 138
kohacraft 0:fb93c5feca27 139 //1に近い場合は1を返す
kohacraft 0:fb93c5feca27 140 if( inValue1 > 0.99 )
kohacraft 0:fb93c5feca27 141 {
kohacraft 0:fb93c5feca27 142 temp = inValue1 -inValue2*0.3; //少し暗くする
kohacraft 0:fb93c5feca27 143 return temp;
kohacraft 0:fb93c5feca27 144 }
kohacraft 0:fb93c5feca27 145
kohacraft 0:fb93c5feca27 146 //0に近い場合は0を返す
kohacraft 0:fb93c5feca27 147 if( inValue1 < 0.01 )
kohacraft 0:fb93c5feca27 148 return 0.0;
kohacraft 0:fb93c5feca27 149
kohacraft 0:fb93c5feca27 150 //それら以外
kohacraft 0:fb93c5feca27 151 temp = inValue2 * inValue1;
kohacraft 0:fb93c5feca27 152 return temp;
kohacraft 0:fb93c5feca27 153 }
kohacraft 0:fb93c5feca27 154
kohacraft 0:fb93c5feca27 155 int main() {
kohacraft 0:fb93c5feca27 156
kohacraft 0:fb93c5feca27 157 //LEDのPWM周期
kohacraft 0:fb93c5feca27 158 sunny.period(5);
kohacraft 0:fb93c5feca27 159 rainy.period(5);
kohacraft 0:fb93c5feca27 160 cloudy.period(5);
kohacraft 0:fb93c5feca27 161 snowy.period(5);
kohacraft 0:fb93c5feca27 162
kohacraft 0:fb93c5feca27 163 //天気情報 1:ほとんど ~0.5:ときどき ~0:なし
kohacraft 0:fb93c5feca27 164 float sun = 0;
kohacraft 0:fb93c5feca27 165 float rain = 0;
kohacraft 0:fb93c5feca27 166 float cloud = 0;
kohacraft 0:fb93c5feca27 167 float snow = 0;
kohacraft 0:fb93c5feca27 168
kohacraft 0:fb93c5feca27 169 lightSensor.mode(PullUp); //室内の明るさセンサをプルアップする
kohacraft 0:fb93c5feca27 170 wifi.baud(baudrate); //ビットレートを設定
kohacraft 0:fb93c5feca27 171
kohacraft 0:fb93c5feca27 172 while(1)
kohacraft 0:fb93c5feca27 173 {
kohacraft 0:fb93c5feca27 174 //無線LANモジュールをリセット
kohacraft 0:fb93c5feca27 175 wifiRst = 1;
kohacraft 0:fb93c5feca27 176 wifiRst = 0;
kohacraft 0:fb93c5feca27 177 wifiRst = 1;
kohacraft 0:fb93c5feca27 178
kohacraft 0:fb93c5feca27 179 //無線LANモジュールが安定するのを待つ
kohacraft 0:fb93c5feca27 180 for( int i=0 ; i<5 ; i++ )
kohacraft 0:fb93c5feca27 181 {
kohacraft 0:fb93c5feca27 182 ledIlluminationWait();
kohacraft 0:fb93c5feca27 183 }
kohacraft 0:fb93c5feca27 184
kohacraft 0:fb93c5feca27 185 //最初にlanモジュールから出力される文字列を捨てる
kohacraft 0:fb93c5feca27 186 char temp;
kohacraft 0:fb93c5feca27 187 while( wifi.readable() == 1 )
kohacraft 0:fb93c5feca27 188 temp = wifi.getc();
kohacraft 0:fb93c5feca27 189
kohacraft 0:fb93c5feca27 190 //ATコマンドで無線LANモジュールをクライアントモードにする
kohacraft 0:fb93c5feca27 191 wifi.printf("AT\r\n");
kohacraft 0:fb93c5feca27 192 ledIlluminationWait();
kohacraft 0:fb93c5feca27 193
kohacraft 2:65e5f82ea7b8 194 wifi.printf("AT+CWMODE=1\r\n");
kohacraft 0:fb93c5feca27 195 ledIlluminationWait();
kohacraft 0:fb93c5feca27 196
kohacraft 0:fb93c5feca27 197 //アクセスポイントに接続
kohacraft 0:fb93c5feca27 198 wifi.printf("AT+CWJAP=\"%s\",\"%s\"\r\n",SSID,PASS);
kohacraft 0:fb93c5feca27 199 ledIlluminationWait();
kohacraft 0:fb93c5feca27 200 ledIlluminationWait();
kohacraft 0:fb93c5feca27 201 ledIlluminationWait();
kohacraft 0:fb93c5feca27 202
kohacraft 0:fb93c5feca27 203 while(1)
kohacraft 0:fb93c5feca27 204 {
kohacraft 0:fb93c5feca27 205 //サーバに接続
kohacraft 2:65e5f82ea7b8 206 wifi.printf("AT+CIPSTART=\"TCP\",\"query.yahooapis.com\",80\r\n");
kohacraft 0:fb93c5feca27 207 ledIlluminationWait();
kohacraft 0:fb93c5feca27 208
kohacraft 0:fb93c5feca27 209 //サーバに要求
kohacraft 2:65e5f82ea7b8 210 char str[200];
kohacraft 2:65e5f82ea7b8 211 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 2:65e5f82ea7b8 212 wifi.printf("AT+CIPSEND=%d\r\n",strlen(str));
kohacraft 0:fb93c5feca27 213 ledIlluminationWait();
kohacraft 0:fb93c5feca27 214
kohacraft 0:fb93c5feca27 215 //サーバに要求
kohacraft 2:65e5f82ea7b8 216 wifi.printf("%s",str);
kohacraft 0:fb93c5feca27 217 recvData(); //データの受信
kohacraft 0:fb93c5feca27 218
kohacraft 0:fb93c5feca27 219 //切断
kohacraft 0:fb93c5feca27 220 wifi.printf("AT+CIPCLOSE\r\n");
kohacraft 2:65e5f82ea7b8 221 wifi.printf("%s\r\n",rxbuff); //バッファの内容を出力
kohacraft 0:fb93c5feca27 222
kohacraft 0:fb93c5feca27 223 //文字列探索
kohacraft 0:fb93c5feca27 224 int weatherCord , tempHi , tempLow;
kohacraft 0:fb93c5feca27 225 if( getWeather( rxbuff , &weatherCord , &tempLow , &tempHi ) == false ) //データの受信
kohacraft 0:fb93c5feca27 226 {
kohacraft 0:fb93c5feca27 227 //予報の文字列がない
kohacraft 2:65e5f82ea7b8 228 wifi.printf("Can not find strng:forecast\r\n");
kohacraft 0:fb93c5feca27 229 break; //最初からやり直す
kohacraft 0:fb93c5feca27 230 }
kohacraft 2:65e5f82ea7b8 231 wifi.printf("weatherCord:%d tempLow:%d tempHi:%d\r\n",weatherCord , tempLow , tempHi);
kohacraft 0:fb93c5feca27 232
kohacraft 0:fb93c5feca27 233
kohacraft 0:fb93c5feca27 234 //天気をLEDの色に変換する
kohacraft 0:fb93c5feca27 235 switch(weatherCord)
kohacraft 0:fb93c5feca27 236 {
kohacraft 0:fb93c5feca27 237 //晴れ
kohacraft 0:fb93c5feca27 238 case 24:
kohacraft 0:fb93c5feca27 239 case 25:
kohacraft 0:fb93c5feca27 240 case 31:
kohacraft 0:fb93c5feca27 241 case 32:
kohacraft 0:fb93c5feca27 242 case 36:
kohacraft 0:fb93c5feca27 243 sun = 1;
kohacraft 0:fb93c5feca27 244 rain = 0;
kohacraft 0:fb93c5feca27 245 cloud = 0;
kohacraft 0:fb93c5feca27 246 snow = 0;
kohacraft 0:fb93c5feca27 247 break;
kohacraft 0:fb93c5feca27 248
kohacraft 0:fb93c5feca27 249 //晴れ時々曇り
kohacraft 0:fb93c5feca27 250 case 29:
kohacraft 0:fb93c5feca27 251 case 30:
kohacraft 0:fb93c5feca27 252 case 33:
kohacraft 0:fb93c5feca27 253 case 34:
kohacraft 0:fb93c5feca27 254 case 44:
kohacraft 0:fb93c5feca27 255 sun = 1;
kohacraft 0:fb93c5feca27 256 rain = 0;
kohacraft 0:fb93c5feca27 257 cloud = 0.5;
kohacraft 0:fb93c5feca27 258 snow = 0;
kohacraft 0:fb93c5feca27 259 break;
kohacraft 0:fb93c5feca27 260
kohacraft 0:fb93c5feca27 261 //晴れ時々雨
kohacraft 0:fb93c5feca27 262 case 45:
kohacraft 0:fb93c5feca27 263 case 47:
kohacraft 0:fb93c5feca27 264 sun = 1;
kohacraft 0:fb93c5feca27 265 rain = 0.5;
kohacraft 0:fb93c5feca27 266 cloud = 0;
kohacraft 0:fb93c5feca27 267 snow = 0;
kohacraft 0:fb93c5feca27 268 break;
kohacraft 0:fb93c5feca27 269
kohacraft 0:fb93c5feca27 270 //晴れ時々雪
kohacraft 0:fb93c5feca27 271 case 46:
kohacraft 0:fb93c5feca27 272 sun = 1;
kohacraft 0:fb93c5feca27 273 rain = 0;
kohacraft 0:fb93c5feca27 274 cloud = 0;
kohacraft 0:fb93c5feca27 275 snow = 0.5;
kohacraft 0:fb93c5feca27 276 break;
kohacraft 0:fb93c5feca27 277
kohacraft 0:fb93c5feca27 278
kohacraft 0:fb93c5feca27 279 //曇り
kohacraft 0:fb93c5feca27 280 case 19:
kohacraft 0:fb93c5feca27 281 case 21:
kohacraft 0:fb93c5feca27 282 case 22:
kohacraft 0:fb93c5feca27 283 case 26:
kohacraft 0:fb93c5feca27 284 sun = 0;
kohacraft 0:fb93c5feca27 285 rain = 0;
kohacraft 0:fb93c5feca27 286 cloud = 1;
kohacraft 0:fb93c5feca27 287 snow = 0;
kohacraft 0:fb93c5feca27 288 break;
kohacraft 0:fb93c5feca27 289
kohacraft 0:fb93c5feca27 290 //曇り時々晴れ
kohacraft 0:fb93c5feca27 291 case 27:
kohacraft 0:fb93c5feca27 292 case 28:
kohacraft 0:fb93c5feca27 293 sun = 0.5;
kohacraft 0:fb93c5feca27 294 rain = 0;
kohacraft 0:fb93c5feca27 295 cloud = 1;
kohacraft 0:fb93c5feca27 296 snow = 0;
kohacraft 0:fb93c5feca27 297 break;
kohacraft 0:fb93c5feca27 298
kohacraft 0:fb93c5feca27 299 //曇り時々雨
kohacraft 0:fb93c5feca27 300 case 9:
kohacraft 0:fb93c5feca27 301 case 11:
kohacraft 0:fb93c5feca27 302 case 20:
kohacraft 0:fb93c5feca27 303 case 37:
kohacraft 0:fb93c5feca27 304 sun = 0;
kohacraft 0:fb93c5feca27 305 rain = 0.5;
kohacraft 0:fb93c5feca27 306 cloud = 1;
kohacraft 0:fb93c5feca27 307 snow = 0;
kohacraft 0:fb93c5feca27 308 break;
kohacraft 0:fb93c5feca27 309
kohacraft 0:fb93c5feca27 310 //曇り時々雪
kohacraft 0:fb93c5feca27 311 case 8:
kohacraft 0:fb93c5feca27 312 case 13:
kohacraft 0:fb93c5feca27 313 sun = 0;
kohacraft 0:fb93c5feca27 314 rain = 0;
kohacraft 0:fb93c5feca27 315 cloud = 1;
kohacraft 0:fb93c5feca27 316 snow = 0.5;
kohacraft 0:fb93c5feca27 317 break;
kohacraft 0:fb93c5feca27 318
kohacraft 0:fb93c5feca27 319
kohacraft 0:fb93c5feca27 320 //雨
kohacraft 0:fb93c5feca27 321 case 0:
kohacraft 0:fb93c5feca27 322 case 1:
kohacraft 0:fb93c5feca27 323 case 2:
kohacraft 0:fb93c5feca27 324 case 3:
kohacraft 0:fb93c5feca27 325 case 4:
kohacraft 0:fb93c5feca27 326 case 6:
kohacraft 0:fb93c5feca27 327 case 12:
kohacraft 0:fb93c5feca27 328 case 17:
kohacraft 0:fb93c5feca27 329 case 23:
kohacraft 0:fb93c5feca27 330 case 38:
kohacraft 0:fb93c5feca27 331 case 39:
kohacraft 0:fb93c5feca27 332 case 40:
kohacraft 0:fb93c5feca27 333 sun = 0;
kohacraft 0:fb93c5feca27 334 rain = 1;
kohacraft 0:fb93c5feca27 335 cloud = 0;
kohacraft 0:fb93c5feca27 336 snow = 0;
kohacraft 0:fb93c5feca27 337 break;
kohacraft 0:fb93c5feca27 338
kohacraft 0:fb93c5feca27 339 //雨時々雪
kohacraft 0:fb93c5feca27 340 case 5:
kohacraft 0:fb93c5feca27 341 case 10:
kohacraft 0:fb93c5feca27 342 case 18:
kohacraft 0:fb93c5feca27 343 case 35:
kohacraft 0:fb93c5feca27 344 sun = 0;
kohacraft 0:fb93c5feca27 345 rain = 1;
kohacraft 0:fb93c5feca27 346 cloud = 0;
kohacraft 0:fb93c5feca27 347 snow = 0.5;
kohacraft 0:fb93c5feca27 348 break;
kohacraft 0:fb93c5feca27 349
kohacraft 0:fb93c5feca27 350
kohacraft 0:fb93c5feca27 351 //雪
kohacraft 0:fb93c5feca27 352 case 14:
kohacraft 0:fb93c5feca27 353 case 15:
kohacraft 0:fb93c5feca27 354 case 16:
kohacraft 0:fb93c5feca27 355 case 41:
kohacraft 0:fb93c5feca27 356 case 42:
kohacraft 0:fb93c5feca27 357 case 43:
kohacraft 0:fb93c5feca27 358 sun = 0;
kohacraft 0:fb93c5feca27 359 rain = 0;
kohacraft 0:fb93c5feca27 360 cloud = 0;
kohacraft 0:fb93c5feca27 361 snow = 1;
kohacraft 0:fb93c5feca27 362 break;
kohacraft 0:fb93c5feca27 363
kohacraft 0:fb93c5feca27 364 //雪時々雨
kohacraft 0:fb93c5feca27 365 case 7:
kohacraft 0:fb93c5feca27 366 sun = 0;
kohacraft 0:fb93c5feca27 367 rain = 0.5;
kohacraft 0:fb93c5feca27 368 cloud = 0;
kohacraft 0:fb93c5feca27 369 snow = 1;
kohacraft 0:fb93c5feca27 370 break;
kohacraft 0:fb93c5feca27 371
kohacraft 0:fb93c5feca27 372
kohacraft 0:fb93c5feca27 373 }
kohacraft 0:fb93c5feca27 374
kohacraft 0:fb93c5feca27 375 for(int j=0 ; j<30*10 ; j++) //30分ループし続ける
kohacraft 0:fb93c5feca27 376 {
kohacraft 0:fb93c5feca27 377 //3秒かけて徐々に明るくする
kohacraft 0:fb93c5feca27 378 for( float i = 0.0 ; i< 1.0 ; i+=0.01 )
kohacraft 0:fb93c5feca27 379 {
kohacraft 0:fb93c5feca27 380 sunny = wheatherIllumination( sun , i );
kohacraft 0:fb93c5feca27 381 rainy = wheatherIllumination( rain , i );
kohacraft 0:fb93c5feca27 382 cloudy = wheatherIllumination( cloud , i );
kohacraft 0:fb93c5feca27 383 snowy = wheatherIllumination( snow , i );
kohacraft 0:fb93c5feca27 384 wait(0.03);
kohacraft 0:fb93c5feca27 385 }
kohacraft 0:fb93c5feca27 386 //3秒かけて徐々に暗くする
kohacraft 0:fb93c5feca27 387 for( float i = 1.0 ; i> 0.0 ; i-=0.01 )
kohacraft 0:fb93c5feca27 388 {
kohacraft 0:fb93c5feca27 389 sunny = wheatherIllumination( sun , i );
kohacraft 0:fb93c5feca27 390 rainy = wheatherIllumination( rain , i );
kohacraft 0:fb93c5feca27 391 cloudy = wheatherIllumination( cloud , i );
kohacraft 0:fb93c5feca27 392 snowy = wheatherIllumination( snow , i );
kohacraft 0:fb93c5feca27 393 wait(0.03);
kohacraft 0:fb93c5feca27 394 }
kohacraft 0:fb93c5feca27 395 }
kohacraft 0:fb93c5feca27 396 }
kohacraft 0:fb93c5feca27 397 }
kohacraft 0:fb93c5feca27 398 }