Facebook
From SAAD, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 43
  1. #include <NTPtimeESP.h>
  2. #define DEBUG_ON
  3. NTPtime NTPch("time.google.com");   // Choose server pool as required
  4. strDateTime dateTime;
  5. char *ssid      = "TP-Link_BCAC";               // Set you WiFi SSID
  6. char *password  = "66350491";    
  7.  
  8. #include <Adafruit_NeoPixel.h>
  9. #define PIN            D8
  10. #define NUMPIXELS     144
  11.  
  12. Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
  13.  
  14. byte second, minute, hour, dayOfWeek, month, year;
  15.  
  16.  
  17. //Actual words as array variables
  18.  
  19. int WordIts[] = {101, 91, 71,61, -1};
  20. int WordTwenty[] = {103, 93, 83, 73, 63, 53, -1};
  21. int WordMinTen[] = {34, 44, 54, -1};
  22. int WordMinFive[] = {13, 23, 33, 43, -1};
  23. int WordQuarter[] = {82,72, 62, 52, 42, 32, 22, -1};
  24. int WordHalf[] = {104, 94, 84, 74, -1};
  25. int WordTo[] = {14, 4, -1};
  26. int WordPast[] = {105, 95, 85, 75, -1};
  27. int WordFive[] = {67, 57, 47, 37, -1};
  28. int WordOne[] = {106, 96, 86, -1};
  29. int WordTwo[] = {27, 17, 7, -1};
  30. int WordThree[] = {46, 36, 26, 16, 6, -1};
  31. int WordFour[] = {107, 97, 87, 77, -1};
  32. int WordSix[] = {76, 66, 56, -1};
  33. int WordSeven[] = {109, 99, 89, 79, 69, -1};
  34. int WordEight[] = {108, 98, 88, 78, 68, -1};
  35. int WordNine[] = {35, 25, 15, 5, -1};
  36. int WordTen[] = {110, 100, 90, -1};
  37. int WordEleven[] = {58, 48, 38, 28, 18, 8, -1};
  38. int WordTwelve[] = {59, 49, 39, 29, 19, 9, -1};
  39. int WordOclock[] = {60, 50, 40, 30, 20, 10, -1};
  40.  
  41. int flag = 0; //used for display effects to stop it showing more than once
  42.  
  43. //define colours
  44. uint32_t Black = pixels.Color(0, 0, 0);
  45. uint32_t White = pixels.Color(255, 255, 255);
  46. uint32_t Green = pixels.Color(0, 255, 0);
  47. uint32_t Red = pixels.Color(255, 0, 0);
  48. uint32_t Gold = pixels.Color(255, 204, 0);
  49. uint32_t Grey = pixels.Color(30, 30, 30);
  50. uint32_t Blue = pixels.Color(0, 0, 255);
  51. uint32_t whiteblue = pixels.Color(255, 255, 255);
  52. uint32_t lightblue = pixels.Color(153, 204, 255);
  53. uint32_t midblue = pixels.Color(0, 102, 204);
  54. uint32_t darkblue = pixels.Color(0, 0, 255);
  55. uint32_t Brown = pixels.Color(153, 102, 051);
  56. uint32_t Pink = pixels.Color(255, 153, 153);
  57.  
  58. int dayBrightness = 100;
  59. int nightBrightness = 50;
  60.  
  61.  
  62. void setup()
  63. {
  64.  
  65.   pixels.begin();
  66.   blank();
  67.   Serial.begin(115200);
  68.   Serial.println();
  69.   Serial.println("Booted");
  70.   Serial.println("Connecting to Wi-Fi");
  71.  
  72.   WiFi.mode(WIFI_STA);
  73.   WiFi.begin (ssid, password);
  74.   while (WiFi.status() != WL_CONNECTED) {
  75.     Serial.print(".");
  76.     delay(500);
  77.   }
  78.   Serial.println("WiFi connected");
  79.   pixels.setBrightness(dayBrightness);
  80.  
  81.  
  82.   test(); //run basic screen tests
  83.  
  84.  
  85. }
  86.  
  87. void loop()
  88. {
  89.  
  90.   displayTime(); // display the real-time clock data on the Serial Monitor  and the LEDS,
  91.  
  92.  
  93.  
  94.   // light up "it's" it stays on
  95.   lightup(WordIts, White);
  96.   // If it's bang on 5 mins, or 10 mins etc, it's not 'about' so turn it off.
  97.  
  98.  
  99.   if ((minute >= 0) && (minute < 5)) {
  100.     lightup(WordOclock, White);
  101.   }
  102.   else {
  103.     lightup(WordOclock, Black);
  104.   }
  105.  
  106.  
  107.   if (minute < 35) {
  108.     //Set hour if minutes are less than 35
  109.     switch (hour) {
  110.       case 1:
  111.       case 13:
  112.         lightup(WordOne, White);
  113.         lightup(WordTwo, Black);
  114.         lightup(WordThree, Black);
  115.         lightup(WordFour, Black);
  116.         lightup(WordFive, Black);
  117.         lightup(WordSix, Black);
  118.         lightup(WordSeven, Black);
  119.         lightup(WordEight, Black);
  120.         lightup(WordNine, Black);
  121.         lightup(WordTen, Black);
  122.         lightup(WordEleven, Black);
  123.         lightup(WordTwelve, Black);
  124.         break;
  125.       case 2:
  126.       case 14:
  127.         lightup(WordOne, Black);
  128.         lightup(WordTwo, White);
  129.         lightup(WordThree, Black);
  130.         lightup(WordFour, Black);
  131.         lightup(WordFive, Black);
  132.         lightup(WordSix, Black);
  133.         lightup(WordSeven, Black);
  134.         lightup(WordEight, Black);
  135.         lightup(WordNine, Black);
  136.         lightup(WordTen, Black);
  137.         lightup(WordEleven, Black);
  138.         lightup(WordTwelve, Black);
  139.         break;
  140.       case 3:
  141.       case 15:
  142.         lightup(WordOne, Black);
  143.         lightup(WordTwo, Black);
  144.         lightup(WordThree, White);
  145.         lightup(WordFour, Black);
  146.         lightup(WordFive, Black);
  147.         lightup(WordSix, Black);
  148.         lightup(WordSeven, Black);
  149.         lightup(WordEight, Black);
  150.         lightup(WordNine, Black);
  151.         lightup(WordTen, Black);
  152.         lightup(WordEleven, Black);
  153.         lightup(WordTwelve, Black);
  154.         break;
  155.       case 4:
  156.       case 16:
  157.         lightup(WordOne, Black);
  158.         lightup(WordTwo, Black);
  159.         lightup(WordThree, Black);
  160.         lightup(WordFour, White);
  161.         lightup(WordFive, Black);
  162.         lightup(WordSix, Black);
  163.         lightup(WordSeven, Black);
  164.         lightup(WordEight, Black);
  165.         lightup(WordNine, Black);
  166.         lightup(WordTen, Black);
  167.         lightup(WordEleven, Black);
  168.         lightup(WordTwelve, Black);
  169.         break;
  170.       case 5:
  171.       case 17:
  172.         lightup(WordOne, Black);
  173.         lightup(WordTwo, Black);
  174.         lightup(WordThree, Black);
  175.         lightup(WordFour, Black);
  176.         lightup(WordFive, White);
  177.         lightup(WordSix, Black);
  178.         lightup(WordSeven, Black);
  179.         lightup(WordEight, Black);
  180.         lightup(WordNine, Black);
  181.         lightup(WordTen, Black);
  182.         lightup(WordEleven, Black);
  183.         lightup(WordTwelve, Black);
  184.         break;
  185.       case 6:
  186.       case 18:
  187.         lightup(WordOne, Black);
  188.         lightup(WordTwo, Black);
  189.         lightup(WordThree, Black);
  190.         lightup(WordFour, Black);
  191.         lightup(WordFive, Black);
  192.         lightup(WordSix, White);
  193.         lightup(WordSeven, Black);
  194.         lightup(WordEight, Black);
  195.         lightup(WordNine, Black);
  196.         lightup(WordTen, Black);
  197.         lightup(WordEleven, Black);
  198.         lightup(WordTwelve, Black);
  199.         break;
  200.       case 7:
  201.       case 19:
  202.         lightup(WordOne, Black);
  203.         lightup(WordTwo, Black);
  204.         lightup(WordThree, Black);
  205.         lightup(WordFour, Black);
  206.         lightup(WordFive, Black);
  207.         lightup(WordSix, Black);
  208.         lightup(WordSeven, White);
  209.         lightup(WordEight, Black);
  210.         lightup(WordNine, Black);
  211.         lightup(WordTen, Black);
  212.         lightup(WordEleven, Black);
  213.         lightup(WordTwelve, Black);
  214.         break;
  215.       case 8:
  216.       case 20:
  217.         lightup(WordOne, Black);
  218.         lightup(WordTwo, Black);
  219.         lightup(WordThree, Black);
  220.         lightup(WordFour, Black);
  221.         lightup(WordFive, Black);
  222.         lightup(WordSix, Black);
  223.         lightup(WordSeven, Black);
  224.         lightup(WordEight, White);
  225.         lightup(WordNine, Black);
  226.         lightup(WordTen, Black);
  227.         lightup(WordEleven, Black);
  228.         lightup(WordTwelve, Black);
  229.         break;
  230.       case 9:
  231.       case 21:
  232.         lightup(WordOne, Black);
  233.         lightup(WordTwo, Black);
  234.         lightup(WordThree, Black);
  235.         lightup(WordFour, Black);
  236.         lightup(WordFive, Black);
  237.         lightup(WordSix, Black);
  238.         lightup(WordSeven, Black);
  239.         lightup(WordEight, Black);
  240.         lightup(WordNine, White);
  241.         lightup(WordTen, Black);
  242.         lightup(WordEleven, Black);
  243.         lightup(WordTwelve, Black);
  244.         break;
  245.       case 10:
  246.       case 22:
  247.         lightup(WordOne, Black);
  248.         lightup(WordTwo, Black);
  249.         lightup(WordThree, Black);
  250.         lightup(WordFour, Black);
  251.         lightup(WordFive, Black);
  252.         lightup(WordSix, Black);
  253.         lightup(WordSeven, Black);
  254.         lightup(WordEight, Black);
  255.         lightup(WordNine, Black);
  256.         lightup(WordTen, White);
  257.         lightup(WordEleven, Black);
  258.         lightup(WordTwelve, Black);
  259.         break;
  260.       case 11:
  261.       case 23:
  262.         lightup(WordOne, Black);
  263.         lightup(WordTwo, Black);
  264.         lightup(WordThree, Black);
  265.         lightup(WordFour, Black);
  266.         lightup(WordFive, Black);
  267.         lightup(WordSix, Black);
  268.         lightup(WordSeven, Black);
  269.         lightup(WordEight, Black);
  270.         lightup(WordNine, Black);
  271.         lightup(WordTen, Black);
  272.         lightup(WordEleven, White);
  273.         lightup(WordTwelve, Black);
  274.         break;
  275.       case 00:
  276.       case 12:
  277.         lightup(WordOne, Black);
  278.         lightup(WordTwo, Black);
  279.         lightup(WordThree, Black);
  280.         lightup(WordFour, Black);
  281.         lightup(WordFive, Black);
  282.         lightup(WordSix, Black);
  283.         lightup(WordSeven, Black);
  284.         lightup(WordEight, Black);
  285.         lightup(WordNine, Black);
  286.         lightup(WordTen, Black);
  287.         lightup(WordEleven, Black);
  288.         lightup(WordTwelve, White);
  289.         break;
  290.     }// end of case statement
  291.     if ((minute >= 0) && (minute < 5)) {
  292.       lightup(WordPast, Black);
  293.       lightup(WordTo,   Black);
  294.     }
  295.     else {
  296.       lightup(WordPast, White);
  297.       lightup(WordTo,   Black);
  298.     }
  299.  
  300.   }//end of if statement
  301.  
  302.   else if (minute > 34) {
  303.     //Set hour if minutes are greater than 34
  304.     switch (hour) {
  305.       case 1:
  306.       case 13:
  307.         lightup(WordOne, Black);
  308.         lightup(WordTwo, White);
  309.         lightup(WordThree, Black);
  310.         lightup(WordFour, Black);
  311.         lightup(WordFive, Black);
  312.         lightup(WordSix, Black);
  313.         lightup(WordSeven, Black);
  314.         lightup(WordEight, Black);
  315.         lightup(WordNine, Black);
  316.         lightup(WordTen, Black);
  317.         lightup(WordEleven, Black);
  318.         lightup(WordTwelve, Black);
  319.         break;
  320.       case 2:
  321.       case 14:
  322.         lightup(WordOne, Black);
  323.         lightup(WordTwo, Black);
  324.         lightup(WordThree, White);
  325.         lightup(WordFour, Black);
  326.         lightup(WordFive, Black);
  327.         lightup(WordSix, Black);
  328.         lightup(WordSeven, Black);
  329.         lightup(WordEight, Black);
  330.         lightup(WordNine, Black);
  331.         lightup(WordTen, Black);
  332.         lightup(WordEleven, Black);
  333.         lightup(WordTwelve, Black);
  334.         break;
  335.       case 3:
  336.       case 15:
  337.         lightup(WordOne, Black);
  338.         lightup(WordTwo, Black);
  339.         lightup(WordThree, Black);
  340.         lightup(WordFour, White);
  341.         lightup(WordFive, Black);
  342.         lightup(WordSix, Black);
  343.         lightup(WordSeven, Black);
  344.         lightup(WordEight, Black);
  345.         lightup(WordNine, Black);
  346.         lightup(WordTen, Black);
  347.         lightup(WordEleven, Black);
  348.         lightup(WordTwelve, Black);
  349.         break;
  350.       case 4:
  351.       case 16:
  352.         lightup(WordOne, Black);
  353.         lightup(WordTwo, Black);
  354.         lightup(WordThree, Black);
  355.         lightup(WordFour, Black);
  356.         lightup(WordFive, White);
  357.         lightup(WordSix, Black);
  358.         lightup(WordSeven, Black);
  359.         lightup(WordEight, Black);
  360.         lightup(WordNine, Black);
  361.         lightup(WordTen, Black);
  362.         lightup(WordEleven, Black);
  363.         lightup(WordTwelve, Black);
  364.         break;
  365.       case 5:
  366.       case 17:
  367.         lightup(WordOne, Black);
  368.         lightup(WordTwo, Black);
  369.         lightup(WordThree, Black);
  370.         lightup(WordFour, Black);
  371.         lightup(WordFive, Black);
  372.         lightup(WordSix, White);
  373.         lightup(WordSeven, Black);
  374.         lightup(WordEight, Black);
  375.         lightup(WordNine, Black);
  376.         lightup(WordTen, Black);
  377.         lightup(WordEleven, Black);
  378.         lightup(WordTwelve, Black);
  379.         break;
  380.       case 6:
  381.       case 18:
  382.         lightup(WordOne, Black);
  383.         lightup(WordTwo, Black);
  384.         lightup(WordThree, Black);
  385.         lightup(WordFour, Black);
  386.         lightup(WordFive, Black);
  387.         lightup(WordSix, Black);
  388.         lightup(WordSeven, White);
  389.         lightup(WordEight, Black);
  390.         lightup(WordNine, Black);
  391.         lightup(WordTen, Black);
  392.         lightup(WordEleven, Black);
  393.         lightup(WordTwelve, Black);
  394.         break;
  395.       case 7:
  396.       case 19:
  397.         lightup(WordOne, Black);
  398.         lightup(WordTwo, Black);
  399.         lightup(WordThree, Black);
  400.         lightup(WordFour, Black);
  401.         lightup(WordFive, Black);
  402.         lightup(WordSix, Black);
  403.         lightup(WordSeven, Black);
  404.         lightup(WordEight, White);
  405.         lightup(WordNine, Black);
  406.         lightup(WordTen, Black);
  407.         lightup(WordEleven, Black);
  408.         lightup(WordTwelve, Black);
  409.         break;
  410.       case 8:
  411.       case 20:
  412.         lightup(WordOne, Black);
  413.         lightup(WordTwo, Black);
  414.         lightup(WordThree, Black);
  415.         lightup(WordFour, Black);
  416.         lightup(WordFive, Black);
  417.         lightup(WordSix, Black);
  418.         lightup(WordSeven, Black);
  419.         lightup(WordEight, Black);
  420.         lightup(WordNine, White);
  421.         lightup(WordTen, Black);
  422.         lightup(WordEleven, Black);
  423.         lightup(WordTwelve, Black);
  424.         break;
  425.       case 9:
  426.       case 21:
  427.         lightup(WordOne, Black);
  428.         lightup(WordTwo, Black);
  429.         lightup(WordThree, Black);
  430.         lightup(WordFour, Black);
  431.         lightup(WordFive, Black);
  432.         lightup(WordSix, Black);
  433.         lightup(WordSeven, Black);
  434.         lightup(WordEight, Black);
  435.         lightup(WordNine, Black);
  436.         lightup(WordTen, White);
  437.         lightup(WordEleven, Black);
  438.         lightup(WordTwelve, Black);
  439.         break;
  440.       case 10:
  441.       case 22:
  442.         lightup(WordOne, Black);
  443.         lightup(WordTwo, Black);
  444.         lightup(WordThree, Black);
  445.         lightup(WordFour, Black);
  446.         lightup(WordFive, Black);
  447.         lightup(WordSix, Black);
  448.         lightup(WordSeven, Black);
  449.         lightup(WordEight, Black);
  450.         lightup(WordNine, Black);
  451.         lightup(WordTen, Black);
  452.         lightup(WordEleven, White);
  453.         lightup(WordTwelve, Black);
  454.         break;
  455.       case 11:
  456.       case 23:
  457.         lightup(WordOne, Black);
  458.         lightup(WordTwo, Black);
  459.         lightup(WordThree, Black);
  460.         lightup(WordFour, Black);
  461.         lightup(WordFive, Black);
  462.         lightup(WordSix, Black);
  463.         lightup(WordSeven, Black);
  464.         lightup(WordEight, Black);
  465.         lightup(WordNine, Black);
  466.         lightup(WordTen, Black);
  467.         lightup(WordEleven, Black);
  468.         lightup(WordTwelve, White);
  469.         break;
  470.       case 00:
  471.       case 12:
  472.         lightup(WordOne, White);
  473.         lightup(WordTwo, Black);
  474.         lightup(WordThree, Black);
  475.         lightup(WordFour, Black);
  476.         lightup(WordFive, Black);
  477.         lightup(WordSix, Black);
  478.         lightup(WordSeven, Black);
  479.         lightup(WordEight, Black);
  480.         lightup(WordNine, Black);
  481.         lightup(WordTen, Black);
  482.         lightup(WordEleven, Black);
  483.         lightup(WordTwelve, Black);
  484.         break;
  485.     }// end of case statement
  486.     lightup(WordPast, Black);
  487.     lightup(WordTo,   White);
  488.   } // end of if statement to test for greater than 34
  489.  
  490.   if ((minute >= 5) && (minute < 10)) {
  491.     lightup(WordMinFive, White);
  492.     lightup(WordMinTen, Black);
  493.     lightup(WordQuarter, Black);
  494.     lightup(WordTwenty, Black);
  495.    
  496.     lightup(WordHalf, Black);
  497.   }
  498.   else if ((minute >= 10) && (minute < 15)) {
  499.     lightup(WordMinFive, Black);
  500.     lightup(WordMinTen, White);
  501.     lightup(WordQuarter, Black);
  502.     lightup(WordTwenty, Black);
  503.    
  504.     lightup(WordHalf, Black);
  505.   }
  506.   else if ((minute >= 15) && (minute < 20)) {
  507.     lightup(WordMinFive, Black);
  508.     lightup(WordMinTen, Black);
  509.     lightup(WordQuarter, White);
  510.     lightup(WordTwenty, Black);
  511.     lightup(WordHalf, Black);
  512.   }
  513.   else if ((minute >= 20) && (minute < 25)) {
  514.     lightup(WordMinFive, Black);
  515.     lightup(WordMinTen, Black);
  516.     lightup(WordQuarter, Black);
  517.     lightup(WordTwenty, White);
  518.    
  519.     lightup(WordHalf, Black);
  520.   }
  521.   else if ((minute >= 25) && (minute < 30)) {
  522.     lightup(WordMinFive, White);
  523.     lightup(WordMinTen, Black);
  524.     lightup(WordQuarter, Black);
  525.     lightup(WordTwenty, White);
  526.    
  527.     lightup(WordHalf, Black);
  528.   }
  529.   else if ((minute >= 30) && (minute < 35)) {
  530.     lightup(WordMinFive, Black);
  531.     lightup(WordMinTen, Black);
  532.     lightup(WordQuarter, Black);
  533.     lightup(WordTwenty, Black);
  534.     lightup(WordHalf, White);
  535.   }
  536.   else if ((minute >= 35) && (minute < 40)) {
  537.     lightup(WordMinFive, White);
  538.     lightup(WordMinTen, Black);
  539.     lightup(WordQuarter, Black);
  540.     lightup(WordTwenty, White);
  541.    
  542.     lightup(WordHalf, Black);
  543.   }
  544.   else if ((minute >= 40) && (minute < 45)) {
  545.     lightup(WordMinFive, Black);
  546.     lightup(WordMinTen, Black);
  547.     lightup(WordQuarter, Black);
  548.     lightup(WordTwenty, White);
  549.    
  550.     lightup(WordHalf, Black);
  551.   }
  552.   else if ((minute >= 45) && (minute < 50)) {
  553.     lightup(WordMinFive, Black);
  554.     lightup(WordMinTen, Black);
  555.     lightup(WordQuarter, White);
  556.     lightup(WordTwenty, Black);
  557.     lightup(WordHalf, Black);
  558.   }
  559.   else if ((minute >= 50) && (minute < 55)) {
  560.     lightup(WordMinFive, Black);
  561.     lightup(WordMinTen, White);
  562.     lightup(WordQuarter, Black);
  563.     lightup(WordTwenty, Black);
  564.    
  565.     lightup(WordHalf, Black);
  566.   }
  567.   else if ((minute >= 55) && (minute <= 59)) {
  568.     lightup(WordMinFive, White);
  569.     lightup(WordMinTen, Black);
  570.     lightup(WordQuarter, Black);
  571.     lightup(WordTwenty, Black);
  572.    
  573.     lightup(WordHalf, Black);
  574.   }
  575.   else if ((minute >= 0) && (minute < 5)) {
  576.     lightup(WordMinFive, Black);
  577.     lightup(WordMinTen, Black);
  578.     lightup(WordQuarter, Black);
  579.     lightup(WordTwenty, Black);
  580.     lightup(WordHalf, Black);
  581.  
  582.   }
  583.  
  584. }
  585.  
  586.  
  587.  
  588. void displayTime()
  589. {
  590.  
  591.   readtime(&second, &minute, &hour, &dayOfWeek, &month, &year);
  592.  
  593.  
  594.  
  595.   if (hour < 10) {
  596.     Serial.print("0");
  597.   }
  598.   Serial.print(hour);
  599.   Serial.print(":");
  600.  
  601.   if (minute < 10) {
  602.     Serial.print("0");
  603.   }
  604.   Serial.println(minute);
  605.   delay(200);
  606.  
  607. }
  608.  
  609.  
  610.  
  611. void readtime(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte *month, byte *year) {
  612.   dateTime = NTPch.getNTPtime(0.0, 1);
  613.   if(dateTime.valid){
  614.   *second = dateTime.second;
  615.   *minute = dateTime.minute;
  616.   *hour = dateTime.hour;
  617.   *dayOfWeek = dateTime.dayofWeek;
  618.   *month = dateTime.month;
  619.   *year = dateTime.year;
  620.   }
  621. }
  622.  
  623. void lightup(int Word[], uint32_t Colour) {
  624.   for (int x = 0; x < pixels.numPixels() + 1; x++) {
  625.     if (Word[x] == -1) {
  626.       pixels.show();
  627.       break;
  628.     } //end of if loop
  629.     else {
  630.       pixels.setPixelColor(Word[x], Colour);
  631.       pixels.show();
  632.     } // end of else loop
  633.   } //end of for loop
  634. }
  635.  
  636. void blank() {
  637.   //clear the decks
  638.   for (int x = 0; x < NUMPIXELS; ++x) {
  639.     pixels.setPixelColor(x, Black);
  640.   }
  641.   pixels.show();
  642.  
  643. }
  644.  
  645. void wipe() {
  646.  
  647.   for (int x = 0; x < NUMPIXELS; ++x) {
  648.     pixels.setPixelColor(x, Blue);
  649.     delay(10);
  650.     pixels.show();
  651.   }
  652.   delay(50);
  653.   for (int x = NUMPIXELS; x > -1; --x) {
  654.     pixels.setPixelColor(x, Black);
  655.     delay(10);
  656.     pixels.show();
  657.   }
  658.  
  659.   for (int x = 0; x < NUMPIXELS; ++x) {
  660.     pixels.setPixelColor(x, Green);
  661.     delay(10);
  662.     pixels.show();
  663.   }
  664.   delay(50);
  665.   for (int x = NUMPIXELS; x > -1; --x) {
  666.     pixels.setPixelColor(x, Black);
  667.     delay(10);
  668.     pixels.show();
  669.   }
  670.  
  671.   for (int x = 0; x < NUMPIXELS; ++x) {
  672.     pixels.setPixelColor(x, Red);
  673.     delay(10);
  674.     pixels.show();
  675.   }
  676.   delay(50);
  677.   for (int x = NUMPIXELS; x > -1; --x) {
  678.     pixels.setPixelColor(x, Black);
  679.     delay(10);
  680.     pixels.show();
  681.   }
  682.  
  683.   for (int x = 0; x < NUMPIXELS; x = x + 2) {
  684.     pixels.setPixelColor(x, Red);
  685.     delay(50);
  686.     pixels.show();
  687.   }
  688.   delay(100);
  689.   blank();
  690.  
  691. }
  692.  
  693. void test() {
  694.   blank();
  695.   wipe();
  696.   blank();
  697. //  flash();
  698. }
  699.  
  700. void flash() {
  701.  
  702.   blank();
  703.   for (int y = 0; y < 10; ++y) {
  704.     for (int x = 0; x < NUMPIXELS; x = x + 2) {
  705.       pixels.setPixelColor(x, Pink);
  706.     }
  707.     pixels.setBrightness(dayBrightness);
  708.     pixels.show();
  709.     delay(50);
  710.     blank();
  711.     delay(50);
  712.  
  713.     for (int x = 1; x < NUMPIXELS; x = x + 2) {
  714.       pixels.setPixelColor(x, Pink);
  715.     }
  716.     pixels.setBrightness(dayBrightness);
  717.     pixels.show();
  718.     delay(50);
  719.     blank();
  720.     delay(50);
  721.   }
  722.   blank();
  723. }
  724.