tenkiyoho LED 2 (with ESP-WROOM-02)

Dependencies:   mbed

Committer:
kohacraft
Date:
Sun Sep 06 09:58:41 2015 +0000
Revision:
1:5f560645b4fb
Parent:
0:fb93c5feca27
Child:
2:65e5f82ea7b8
changed ip to weather.yahooapis.com

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