Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.31 KB | None | 0 0
  1. #include <avr/pgmspace.h>
  2. #include <TimeLib.h>
  3. #include <Wire.h>
  4. #include <DS1307RTC.h>
  5.  
  6. #include <Adafruit_NeoPixel.h>
  7. #ifdef __AVR__
  8. #include <avr/power.h>
  9. #endif
  10.  
  11. #define PIN 5
  12.  
  13. Adafruit_NeoPixel strip = Adafruit_NeoPixel(256, PIN, NEO_GRB + NEO_KHZ800);
  14.  
  15. int currentMinute;
  16. int previousMinute;
  17. int currentHour;
  18. int currentSecond;
  19.  
  20.  
  21. int i;
  22. int r;
  23. int b;
  24. int g;
  25.  
  26. //Hour array
  27. const int PROGMEM hours[][38] = {
  28. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //1
  29. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //2
  30. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //3
  31. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //4
  32. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //4
  33. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //5
  34. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //6
  35. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //7
  36. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //8
  37. {9, 10, 11, 12, 13, 14, 16, 23, 24, 31, 32, 39, 41, 42, 43, 44, 45, 46, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //9
  38. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 65, 66, 67, 68, 69, 70, 72, 79, 80, 87, 88, 95, 97, 98, 99, 100, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102}, //10
  39. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,}, //11
  40. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 65, 71, 72, 73, 79, 80, 85, 87, 88, 91, 95, 97, 98, 99, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103}, //12
  41. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 65, 70, 72, 79, 80, 83, 87, 88, 92, 95, 97, 98, 100, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102}, //13
  42. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 68, 69, 74, 76, 82, 85, 90, 94, 96, 97, 98, 99, 100, 101, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103}, //14
  43. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 64, 65, 66, 67, 70, 72, 76, 79, 80, 83, 87, 88, 92, 95, 96, 100, 101, 102}, //15
  44. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 65, 66, 67, 68, 69, 70, 72, 76, 79, 80, 83, 87, 88, 92, 95, 97, 100, 101, 102}, //16
  45. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 64, 72, 73, 74, 79, 80, 84, 92, 95, 96, 97, 98}, //17
  46. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 65, 66, 68, 69, 70, 72, 76, 79, 80, 83, 87, 88, 92, 95, 97, 98, 100, 101, 102}, //18
  47. {17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 39, 65, 66, 67, 70, 72, 75, 79, 80, 84, 87, 88, 91, 95, 97, 98, 99, 100, 101, 102}, //19
  48. {8, 14, 16, 22, 23, 24, 26, 31, 32, 36, 39, 40, 44, 45, 46, 65, 66, 67, 68, 69, 70, 72, 79, 80, 87, 88, 95, 97, 98, 99, 100, 101, 102}, //20
  49. {8, 14, 16, 22, 23, 24, 26, 31, 32, 36, 39, 40, 44, 45, 46, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88}, //21
  50. {8, 14, 16, 22, 23, 24, 26, 31, 32, 36, 39, 40, 44, 45, 46, 71, 72, 73, 79, 80, 85, 87, 88, 91, 95, 97, 98, 99, 103}, //22
  51. {8, 14, 16, 22, 23, 24, 26, 31, 32, 36, 39, 40, 44, 45, 46, 70, 72, 79, 80, 83, 87, 88, 92, 95, 97, 98, 100, 101, 102} //23
  52. };
  53.  
  54.  
  55.  
  56. //Minute array
  57. const int PROGMEM minutes[][37] = {
  58. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 177, 178, 179, 180, 181, 1882, 184, 191, 192, 199, 200, 207, 209, 210, 211, 212, 213, 214}, //00
  59. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 184, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200},
  60. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 177, 183, 184, 185, 191, 192, 197, 199, 200, 203, 207, 209, 210, 211, 215},
  61. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 177, 182, 184, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  62. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 180, 181, 186, 188, 194, 197, 202, 206, 208, 209, 210, 211, 212, 213, 214, 215},
  63. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 176, 177, 178, 179, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 208, 212, 213, 214},
  64. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 177, 178, 179, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 212, 213, 214},
  65. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 176, 184, 185, 186, 191, 192, 196, 204, 207, 208, 209, 210},
  66. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 177, 178, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  67. {121, 122, 123, 124, 125, 126, 128, 135, 136, 143, 144, 151, 153, 154, 155, 156, 157, 158, 177, 178, 179, 182, 184, 187, 191, 192, 196, 199, 200, 203, 207, 209, 210, 211, 213, 213, 214},
  68. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 177, 178, 179, 180, 181, 182, 184, 191, 192, 199, 200, 207, 209, 210, 211, 212, 213, 214}, //10
  69. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 184, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200},
  70. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 177, 183, 184, 185, 191, 192, 197, 199, 200, 203, 207, 209, 210, 211, 215},
  71. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 177, 182, 184, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  72. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 180, 181, 186, 188, 194, 197, 202, 206, 208, 209, 210, 211, 212, 213, 214, 215},
  73. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 176, 177, 178, 179, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 208, 212, 213, 214},
  74. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 177, 178, 179, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 212, 213, 214},
  75. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 176, 184, 185, 186, 191, 192, 196, 204, 207, 208, 209, 210},
  76. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 177, 178, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  77. {129, 135, 136, 137, 138, 139, 140, 141, 142, 143, 151, 177, 178, 179, 182, 184, 187, 191, 192, 196, 199, 200, 203, 207, 209, 210, 211, 213, 213, 214},
  78. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 177, 178, 179, 180, 181, 182, 184, 191, 192, 199, 200, 207, 209, 210, 211, 212, 213, 214}, //20
  79. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 184, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200},
  80. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 177, 183, 184, 185, 191, 192, 197, 199, 200, 203, 207, 209, 210, 211, 215},
  81. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 177, 182, 184, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  82. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 180, 181, 186, 188, 194, 197, 202, 206, 208, 209, 210, 211, 212, 213, 214, 215},
  83. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 176, 177, 178, 179, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 208, 212, 213, 214},
  84. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 177, 178, 179, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 212, 213, 214},
  85. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 176, 184, 185, 186, 191, 192, 196, 204, 207, 208, 209, 210},
  86. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 177, 178, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  87. {120, 126, 128, 134, 135, 136, 138, 143, 144, 148, 151, 152, 156, 157, 158, 177, 178, 179, 182, 184, 187, 191, 192, 196, 199, 200, 203, 207, 209, 210, 211, 213, 213, 214},
  88. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 177, 178, 179, 180, 181, 182, 184, 191, 192, 199, 200, 207, 209, 210, 211, 212, 213, 214}, //30
  89. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 184, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200},
  90. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 177, 183, 184, 185, 191, 192, 197, 199, 200, 203, 207, 209, 210, 211, 215},
  91. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 177, 182, 184, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  92. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 180, 181, 186, 188, 194, 197, 202, 206, 208, 209, 210, 211, 212, 213, 214, 215},
  93. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 176, 177, 178, 179, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 208, 212, 213, 214},
  94. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 177, 178, 179, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 212, 213, 214},
  95. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 176, 184, 185, 186, 191, 192, 196, 204, 207, 208, 209, 210},
  96. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 177, 178, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  97. {121, 126, 128, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 157, 158, 177, 178, 179, 182, 184, 187, 191, 192, 196, 199, 200, 203, 207, 209, 210, 211, 213, 213, 214},
  98. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 177, 178, 179, 180, 181, 182, 184, 191, 192, 199, 200, 207, 209, 210, 211, 212, 213, 214}, //40
  99. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 184, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200},
  100. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 177, 183, 184, 185, 191, 192, 197, 199, 200, 203, 207, 209, 210, 211, 215},
  101. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 177, 182, 184, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  102. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 180, 181, 186, 188, 194, 197, 202, 206, 208, 209, 210, 211, 212, 213, 214, 215},
  103. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 176, 177, 178, 179, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 208, 212, 213, 214},
  104. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 177, 178, 179, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 212, 213, 214},
  105. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 176, 184, 185, 186, 191, 192, 196, 204, 207, 208, 209, 210},
  106. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 177, 178, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  107. {122, 123, 131, 133, 138, 141, 145, 149, 152, 153, 153, 154, 155, 156, 157, 158, 159, 177, 178, 179, 182, 184, 187, 191, 192, 196, 199, 200, 203, 207, 209, 210, 211, 213, 213, 214},
  108. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 177, 178, 179, 180, 181, 182, 184, 191, 192, 199, 200, 207, 209, 210, 211, 212, 213, 214}, //50
  109. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 184, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200},
  110. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 177, 183, 184, 185, 191, 192, 197, 199, 200, 203, 207, 209, 210, 211, 215},
  111. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 177, 182, 184, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  112. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 180, 181, 186, 188, 194, 197, 202, 206, 208, 209, 210, 211, 212, 213, 214, 215},
  113. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 176, 177, 178, 179, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 208, 212, 213, 214},
  114. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 177, 178, 179, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 212, 213, 214},
  115. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 176, 184, 185, 186, 191, 192, 196, 204, 207, 208, 209, 210},
  116. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 177, 178, 180, 181, 182, 184, 188, 191, 192, 195, 199, 200, 204, 207, 209, 210, 212, 213, 214},
  117. {121, 124, 125, 126, 127, 128, 131, 135, 136, 140, 143, 144, 147, 151, 153, 154, 155, 159, 177, 178, 179, 182, 184, 187, 191, 192, 196, 199, 200, 203, 207, 209, 210, 211, 213, 213, 214},
  118. };
  119. //Second array
  120. const int PROGMEM seconds[][8] = {
  121. {105, 106, 109, 110, 113, 114, 117, 118},
  122. {105, 106, 109, 110, 113, 114, 117, 118},
  123. {105, 106, 109, 110, 113, 114, 117, 118},
  124. {105, 106, 109, 110, 113, 114, 117, 118},
  125. {105, 106, 109, 110, 113, 114, 117, 118},
  126. {105, 106, 109, 110, 113, 114, 117, 118},
  127. {105, 106, 109, 110, 113, 114, 117, 118},
  128. {105, 106, 109, 110, 113, 114, 117, 118},
  129. {105, 106, 109, 110, 113, 114, 117, 118},
  130. {105, 106, 109, 110, 113, 114, 117, 118},
  131. {105, 106, 109, 110, 113, 114, 117, 118},
  132. {105, 106, 109, 110, 113, 114, 117, 118},
  133. {105, 106, 109, 110, 113, 114, 117, 118},
  134. {105, 106, 109, 110, 113, 114, 117, 118},
  135. {105, 106, 109, 110, 113, 114, 117, 118},
  136. {105, 106, 109, 110, 113, 114, 117, 118},
  137. {105, 106, 109, 110, 113, 114, 117, 118},
  138. {105, 106, 109, 110, 113, 114, 117, 118},
  139. {105, 106, 109, 110, 113, 114, 117, 118},
  140. {105, 106, 109, 110, 113, 114, 117, 118},
  141. {105, 106, 109, 110, 113, 114, 117, 118},
  142. {105, 106, 109, 110, 113, 114, 117, 118},
  143. {105, 106, 109, 110, 113, 114, 117, 118},
  144. {105, 106, 109, 110, 113, 114, 117, 118},
  145. {105, 106, 109, 110, 113, 114, 117, 118},
  146. {105, 106, 109, 110, 113, 114, 117, 118},
  147. {105, 106, 109, 110, 113, 114, 117, 118},
  148. {105, 106, 109, 110, 113, 114, 117, 118},
  149. {105, 106, 109, 110, 113, 114, 117, 118},
  150. {105, 106, 109, 110, 113, 114, 117, 118},
  151. {105, 106, 109, 110, 113, 114, 117, 118},
  152. {105, 106, 109, 110, 113, 114, 117, 118},
  153. {105, 106, 109, 110, 113, 114, 117, 118},
  154. {105, 106, 109, 110, 113, 114, 117, 118},
  155. {105, 106, 109, 110, 113, 114, 117, 118},
  156. {105, 106, 109, 110, 113, 114, 117, 118},
  157. {105, 106, 109, 110, 113, 114, 117, 118},
  158. {105, 106, 109, 110, 113, 114, 117, 118},
  159. {105, 106, 109, 110, 113, 114, 117, 118},
  160. {105, 106, 109, 110, 113, 114, 117, 118},
  161. {105, 106, 109, 110, 113, 114, 117, 118},
  162. {105, 106, 109, 110, 113, 114, 117, 118},
  163. {105, 106, 109, 110, 113, 114, 117, 118},
  164. {105, 106, 109, 110, 113, 114, 117, 118},
  165. {105, 106, 109, 110, 113, 114, 117, 118},
  166. {105, 106, 109, 110, 113, 114, 117, 118},
  167. {105, 106, 109, 110, 113, 114, 117, 118},
  168. {105, 106, 109, 110, 113, 114, 117, 118},
  169. {105, 106, 109, 110, 113, 114, 117, 118},
  170. {105, 106, 109, 110, 113, 114, 117, 118},
  171. {105, 106, 109, 110, 113, 114, 117, 118},
  172. {105, 106, 109, 110, 113, 114, 117, 118},
  173. {105, 106, 109, 110, 113, 114, 117, 118},
  174. {105, 106, 109, 110, 113, 114, 117, 118},
  175. {105, 106, 109, 110, 113, 114, 117, 118},
  176. {105, 106, 109, 110, 113, 114, 117, 118},
  177. {105, 106, 109, 110, 113, 114, 117, 118},
  178. {105, 106, 109, 110, 113, 114, 117, 118},
  179. {105, 106, 109, 110, 113, 114, 117, 118},
  180. };
  181. void setup() {
  182.  
  183. Serial.begin(9600);
  184. while (!Serial) ; // wait until Arduino Serial Monitor opens
  185. setSyncProvider(RTC.get); // the function to get the time from the RTC
  186. setSyncInterval(1);
  187. if (timeStatus() != timeSet)
  188. Serial.println("Unable to sync with the RTC");
  189. else
  190. Serial.println("RTC has set the system time");
  191.  
  192. strip.begin();
  193. strip.setBrightness(25);
  194. strip.show(); // Initialize all pixels to 'off'
  195.  
  196. previousMinute = 99;
  197. }
  198.  
  199. void loop() {
  200.  
  201. //Clock loop code
  202.  
  203. RTC.get();
  204. digitalClockDisplay();
  205.  
  206. //Display loop code
  207.  
  208. if (previousMinute != currentMinute) {
  209.  
  210. for (i = 0; i < 256; i++) {
  211.  
  212. strip.setPixelColor(i, 0, 0, 0);
  213.  
  214. }
  215.  
  216. for (i = 0; i < 37; i++) {
  217.  
  218. r = random(30, 255);
  219. b = random(30, 255);
  220. g = random(30, 255);
  221. strip.setPixelColor(pgm_read_word(&hours[currentHour][i]), r, b, g);
  222. }
  223.  
  224. for (i = 0; i < 37; i++) {
  225.  
  226. r = random(30, 255);
  227. b = random(30, 255);
  228. g = random(30, 255);
  229. strip.setPixelColor(pgm_read_word(&minutes[currentMinute][i]), r, b, g);
  230.  
  231. }
  232.  
  233. for (i = 0; i < 8; i++) {
  234.  
  235. r = random(30, 255);
  236. b = random(30, 255);
  237. g = random(30, 255);
  238. strip.setPixelColor(pgm_read_word(&seconds[currentSecond][i]), r, b, g);
  239. }
  240.  
  241. strip.show();
  242. previousMinute = currentMinute;
  243. }
  244.  
  245.  
  246.  
  247. delay(1000);
  248.  
  249. //End of display loop code
  250. }
  251.  
  252. void digitalClockDisplay() {
  253. // digital clock display of the time
  254. Serial.print(hour());
  255. printDigits(minute());
  256. printDigits(second());
  257. Serial.print(" ");
  258. Serial.print(day());
  259. Serial.print(" ");
  260. Serial.print(month());
  261. Serial.print(" ");
  262. Serial.print(year());
  263. Serial.println();
  264.  
  265. currentSecond = second();
  266. currentMinute = minute();
  267. currentHour = hour();
  268.  
  269. }
  270.  
  271. void printDigits(int digits) {
  272. // utility function for digital clock display: prints preceding colon and leading 0
  273. Serial.print(":");
  274. if (digits < 10)
  275. Serial.print('0');
  276. Serial.print(digits);
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement