#include #include #include #include #include #define PIN 13 #define N 92 Adafruit_NeoPixel led=Adafruit_NeoPixel(N, PIN, NEO_GRB + NEO_KHZ800); WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "ntp.nict.jp", 32400, 86400000); // UTC+9H, every 24H const char *ssid ="SSID", *password="PASSWORD"; uint8_t lastmm=99; uint8_t R=0, G=20, B=0; unsigned long prevtime, nowtime; char LED[]={ // 配列LEDに値を入れる 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x67 }; void numled(uint8_t d, uint8_t n){ // d: 0-3, n: 0-9 if(d==0) for(uint8_t i=0;i<8;i++)if(n==1) led.setPixelColor(i,R,G,B); // b,c else led.setPixelColor(i,0,0,0); else{ uint8_t i=8+(d-1)*28; for(uint8_t mask=0x01;mask<0x80;mask<<=1) for(uint8_t j=0;j<4;j++) if(LED[n]&mask) led.setPixelColor(i++,R,G,B); else led.setPixelColor(i++,0,0,0); } led.show(); } void setup(){ Serial.begin(115200); WiFi.begin(ssid, password); delay(10); while(WiFi.status()!=WL_CONNECTED){ delay(500); Serial.print("."); } Serial.print("\nConnected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); led.begin(); led.show(); } void loop(){ if(timeClient.update()) setTime(timeClient.getEpochTime()); if((nowtime=now())>=prevtime+1){ prevtime=nowtime; Serial.println((String)year()+"/"+(month()<10?"0":"")+month()+"/"+(day()<10?"0":"")+day()+" "+(hour()<10?"0":"")+hour()+":"+(minute()<10?"0":"")+minute()+":"+(second()<10?"0":"")+second()); uint16_t hh=hour(), mm=minute(); if(hh>=12) hh-=12; if(lastmm!=mm){ numled(0,hh/10); numled(1,hh%10); numled(2,mm/10); numled(3,mm%10); lastmm=mm; } } }