Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. #include <Adafruit_NeoPixel.h>
  2. #include <ESP8266WiFi.h>
  3. #include "TimeClient.h"
  4.  
  5. #define PIN D5
  6. long lastUpdate = millis();
  7. long lastSecond = millis();
  8.  
  9. String hours, minutes, seconds;
  10. int currentSecond, currentMinute, currentHour;
  11.  
  12. char ssid[] = "xxxxxxx"; // your network SSID (name)
  13. char pass[] = "xxxxxxx"; // your network password
  14.  
  15. const float UTC_OFFSET = 0;
  16. TimeClient timeClient(UTC_OFFSET);
  17.  
  18. Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN);
  19.  
  20. void setup()
  21. {
  22. Serial.begin(115200);
  23. Serial.println();
  24. Serial.println();
  25.  
  26. strip.begin();
  27. strip.setBrightness(128);
  28. strip.show();
  29.  
  30. // We start by connecting to a WiFi network
  31. Serial.print("Connecting to ");
  32. Serial.println(ssid);
  33. WiFi.begin(ssid, pass);
  34.  
  35. while (WiFi.status() != WL_CONNECTED) {
  36. delay(500);
  37. Serial.print(".");
  38. }
  39. Serial.println("");
  40.  
  41. Serial.println("WiFi connected");
  42. Serial.println("IP address: ");
  43. Serial.println(WiFi.localIP());
  44. timeClient.updateTime();
  45. updateTime() ;
  46. lastUpdate = millis();
  47. lastSecond = millis();
  48. }
  49.  
  50. void loop()
  51. {
  52. if ((millis() - lastUpdate) > 1800000) updateTime();
  53.  
  54. if ((millis() - lastSecond) > 1000)
  55. {
  56. strip.setPixelColor(currentSecond / 2.5, 0, 0, 0);
  57. strip.setPixelColor(currentMinute / 2.5, 0, 0, 0);
  58. strip.setPixelColor(currentHour * 2, 0, 0, 0);
  59.  
  60. strip.show();
  61. lastSecond = millis();
  62. currentSecond++;
  63. if (currentSecond > 59)
  64. { currentSecond = 0;
  65. currentMinute++;
  66. if (currentMinute > 59) {
  67. currentMinute = 0;
  68. currentHour++;
  69. if (currentHour > 12) currentHour = 0;
  70. }
  71. }
  72. String currentTime = String(currentHour) + ':' + String(currentMinute) + ':' + String(currentSecond);
  73. Serial.println(currentTime);
  74.  
  75. strip.setPixelColor(currentSecond / 2.5, 0, 0, 255);
  76. strip.setPixelColor(currentMinute / 2.5, 0, 255, 0);
  77. strip.setPixelColor(currentHour * 2, 255, 0, 0);
  78. strip.show();
  79. }
  80. }
  81.  
  82. void updateTime()
  83. {
  84. hours = timeClient.getHours();
  85. minutes = timeClient.getMinutes();
  86. seconds = timeClient.getSeconds();
  87. currentHour = hours.toInt();
  88. if (currentHour > 12) currentHour = currentHour - 12;
  89. currentMinute = minutes.toInt();
  90. currentSecond = seconds.toInt();
  91. lastUpdate = millis();
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement