Browse Source

add nodeMCU target, move functions around

Abhinav Sinha 2 năm trước cách đây
mục cha
commit
ce42422fb7
2 tập tin đã thay đổi với 121 bổ sung113 xóa
  1. 6 0
      platformio.ini
  2. 115 113
      src/word-clock.cpp

+ 6 - 0
platformio.ini

@@ -13,3 +13,9 @@ platform = atmelavr
 board = uno
 board = uno
 framework = arduino
 framework = arduino
 lib_deps = fastled/FastLED@^3.6.0
 lib_deps = fastled/FastLED@^3.6.0
+
+[env:nodemcu]
+platform = espressif8266
+board = nodemcu
+framework = arduino
+lib_deps = fastled/FastLED@^3.6.0

+ 115 - 113
src/word-clock.cpp

@@ -27,17 +27,6 @@ byte bcdToDec(byte val)
   return( (val/16*10) + (val%16) );
   return( (val/16*10) + (val%16) );
 }
 }
 
 
-void setup()
-{
-  Wire.begin();
-  Serial.begin(9600);
-  FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS);
-  FastLED.setBrightness(  BRIGHTNESS );
-  count = 0;
-  // set the initial time here:
-  // DS3231 seconds, minutes, hours, day, date, month, year
-  //setDS3231time(30,13,0,5,8,11,18);
-}
 void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
 void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
 dayOfMonth, byte month, byte year)
 dayOfMonth, byte month, byte year)
 {
 {
@@ -123,33 +112,6 @@ void displayTime()
     break;
     break;
   }
   }
 }
 }
-void loop()
-{
-  displayTime(); // display the real-time clock data on the Serial Monitor,
-  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
-  &year);
-  setLeds();
-  FastLED.show();
-  delay(1000); // every second
-}
-
-void setLeds(){
-  clearAllLeds();
-  /*
-  leds[count] = CRGB::White;
-  count++;
-  if(count == NUM_LEDS)
-    count = 0;
-  */
-
-  //byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
-  setIt();
-  setIs();
-  setMinutes();
-  setHours();
-  setOclock();
-  
-}
 
 
 void clearAllLeds(){
 void clearAllLeds(){
   for(int i = 0; i < NUM_LEDS; i++){
   for(int i = 0; i < NUM_LEDS; i++){
@@ -168,80 +130,6 @@ void setIs(){
   leds[3] = primaryColor;
   leds[3] = primaryColor;
 }
 }
 
 
-void setMinutes(){
-  if(minute < 3){
-    //do nothing
-  }
-  else if(minute < 8){
-    //5 past
-    setFive();
-    setMinutesLeds();
-    setPast();
-  }
-  else if(minute < 13){
-    //10 past
-    setTen();
-    setMinutesLeds();
-    setPast();
-  }
-  else if(minute < 18){
-    //Quarter past
-    setQuarter();
-    setPast();
-  }
-  else if(minute < 23){
-    //20 past
-    setTwenty();
-    setMinutesLeds();
-    setPast();
-  }
-  else if(minute < 28){
-    //25 past
-    setTwenty();
-    setFive();
-    setMinutesLeds();
-    setPast();
-  }
-  else if(minute < 33){
-    //half past
-    setHalf();
-    setPast();
-  }
-  else if(minute < 38){
-    //25 to
-    setTwenty();
-    setFive();
-    setMinutesLeds();
-    setTo();
-  }
-  else if(minute < 43){
-    //20 to
-    setTwenty();
-    setMinutesLeds();
-    setTo(); 
-  }
-  else if(minute < 48){
-    //Quarter to
-    setQuarter();
-    setTo();
-  }
-  else if(minute < 53){
-    //10 to
-    setTen();
-    setMinutesLeds();
-    setTo();
-  }
-  else if(minute < 58){
-    //5 to
-    setFive();
-    setMinutesLeds();
-    setTo();
-  }
-  else{
-    //minutes = 58 or 59
-    //do nothing
-  }
-}
 void setFive(){
 void setFive(){
 //five = leds 24-27
 //five = leds 24-27
     for(int i = 24; i < 28; i++){
     for(int i = 24; i < 28; i++){
@@ -313,7 +201,7 @@ void setHours(){
   if((hour == 3 && minute < 33) || (hour == 2 && minute >= 33)){
   if((hour == 3 && minute < 33) || (hour == 2 && minute >= 33)){
     //set 3
     //set 3
     for(int i = 47; i < 52; i++){
     for(int i = 47; i < 52; i++){
-      leds[i] = primaryCo"telemetry.enableTelemetry": falselor;
+      leds[i] = primaryColor;
     }
     }
   }
   }
   if((hour == 4 && minute < 33) || (hour == 3 && minute >= 33)){
   if((hour == 4 && minute < 33) || (hour == 3 && minute >= 33)){
@@ -373,6 +261,81 @@ void setHours(){
 
 
 }
 }
 
 
+void setMinutes(){
+  if(minute < 3){
+    //do nothing
+  }
+  else if(minute < 8){
+    //5 past
+    setFive();
+    setMinutesLeds();
+    setPast();
+  }
+  else if(minute < 13){
+    //10 past
+    setTen();
+    setMinutesLeds();
+    setPast();
+  }
+  else if(minute < 18){
+    //Quarter past
+    setQuarter();
+    setPast();
+  }
+  else if(minute < 23){
+    //20 past
+    setTwenty();
+    setMinutesLeds();
+    setPast();
+  }
+  else if(minute < 28){
+    //25 past
+    setTwenty();
+    setFive();
+    setMinutesLeds();
+    setPast();
+  }
+  else if(minute < 33){
+    //half past
+    setHalf();
+    setPast();
+  }
+  else if(minute < 38){
+    //25 to
+    setTwenty();
+    setFive();
+    setMinutesLeds();
+    setTo();
+  }
+  else if(minute < 43){
+    //20 to
+    setTwenty();
+    setMinutesLeds();
+    setTo(); 
+  }
+  else if(minute < 48){
+    //Quarter to
+    setQuarter();
+    setTo();
+  }
+  else if(minute < 53){
+    //10 to
+    setTen();
+    setMinutesLeds();
+    setTo();
+  }
+  else if(minute < 58){
+    //5 to
+    setFive();
+    setMinutesLeds();
+    setTo();
+  }
+  else{
+    //minutes = 58 or 59
+    //do nothing
+  }
+}
+
 void setOclock(){
 void setOclock(){
   if((minute < 3) || (minute >= 58)){
   if((minute < 3) || (minute >= 58)){
     for(int i = 86; i < 92; i++){
     for(int i = 86; i < 92; i++){
@@ -380,3 +343,42 @@ void setOclock(){
     }
     }
   }
   }
 }
 }
+
+void setLeds(){
+  clearAllLeds();
+  /*
+  leds[count] = CRGB::White;
+  count++;
+  if(count == NUM_LEDS)
+    count = 0;
+  */
+
+  //byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
+  setIt();
+  setIs();
+  setMinutes();
+  setHours();
+  setOclock();
+  
+}
+
+void setup()
+{
+  Wire.begin();
+  Serial.begin(9600);
+  FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS);
+  FastLED.setBrightness(BRIGHTNESS);
+  count = 0;
+  // set the initial time here:
+  // DS3231 seconds, minutes, hours, day, date, month, year
+  //setDS3231time(30,13,0,5,8,11,18);
+}
+
+void loop()
+{
+  displayTime(); // display the real-time clock data on the Serial Monitor,
+  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
+  setLeds();
+  FastLED.show();
+  delay(1000); // every second
+}