kohacraft Lab
/
kc_tenkiyoho_LED2
tenkiyoho LED 2 (with ESP-WROOM-02)
main.cpp@2:65e5f82ea7b8, 2016-05-04 (annotated)
- 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?
User | Revision | Line number | New 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 | } |