Created
July 3, 2020 14:16
-
-
Save EDISON-SCIENCE-CORNER/f28478484073bb6f089f086258c3ea0e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//www.ediosnsciencecorner.blogspot.com | |
//www.ediosnsciencecorner.blogspot.com | |
//www.ediosnsciencecorner.blogspot.com | |
#include <LedControl.h> | |
#include <Wire.h> | |
#include <NTPClient.h> | |
#include <ESP8266WiFi.h> | |
#include <WiFiUdp.h> | |
const char *ssid = "edison science corner"; // your wifi SSID | |
const char *password = "1234567"; // your wifi password | |
const long utcOffsetInSeconds = 21600; // you need to set this as your time zone. +6 GMT = +6x60x60=21600 | |
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; | |
// Define NTP Client to get time | |
WiFiUDP ntpUDP; | |
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds); | |
LedControl lc = LedControl(5,0, 4, 2); // esp gpios and no.of displays | |
int h ; | |
int m ; | |
byte dots[8] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6c}; | |
void setup() { | |
lc.shutdown(0, false); // power-saving mode on startup | |
lc.setIntensity(0, 0); // Set the brightness to maximum value | |
lc.clearDisplay(0); // and clear the display | |
lc.shutdown(1, false); // power-saving mode on startup | |
lc.setIntensity(0, 0); // Set the brightness to maximum value | |
lc.clearDisplay(1); // and clear the display | |
WiFi.begin(ssid, password); | |
while ( WiFi.status() != WL_CONNECTED ) { | |
delay ( 500 ); | |
Serial.print ( "." ); | |
} | |
timeClient.begin(); | |
} | |
void Display() { | |
/* here is the data for the characters */ | |
byte one[8] = {0x00,0x00,0x00,0x84,0xfe,0x80,0x00,0x00}; | |
byte two[8] = {0x00,0x00,0x00,0xf2,0x92,0x9e,0x00,0x00}; | |
byte three[8] = {0x00,0x00,0x00,0x92,0x92,0xfe,0x00,0x00}; | |
byte four[8] = {0x00,0x00,0x00,0x1e,0x10,0xfc,0x00,0x00}; | |
byte five[8] = {0x00,0x00,0x00,0x9e,0x92,0xf2,0x00,0x00}; | |
byte six[8] = {0x00,0x00,0x00,0xfe,0x92,0xf2,0x00,0x00}; | |
byte seven[8] = {0x00,0x00,0x00,0x02,0x02,0xfe,0x00,0x00}; | |
byte eight[8] = {0x00,0x00,0x00,0xfe,0x92,0xfe,0x00,0x00}; | |
byte nine[8] = {0x00,0x00,0x00,0x9e,0x92,0xfe,0x00,0x00}; | |
byte ten[8] = {0x04,0xfe,0x00,0xfe,0x82,0xfe,0x00,0x00}; | |
byte eleven[8] = {0x84,0xfe,0x80,0x00,0x84,0xfe,0x80,0x00}; | |
byte twelve[8] = {0x04,0xfe,0x00,0xf2,0x92,0x9e,0x00,0x00}; | |
// 0-9 | |
byte zero2[8] = {0x00,0xfe,0x82,0xfe,0x00,0xfe,0x82,0xfe}; //00 | |
byte one2[8] = {0x00,0xfe,0x82,0xfe,0x00,0x84,0xfe,0x80}; //01 | |
byte two2[8] = {0x00,0xfe,0x82,0xfe,0x00,0xf2,0x92,0x9e}; //02 | |
byte three2[8] = {0x00,0xfe,0x82,0xfe,0x00,0x92,0x92,0xfe}; //03 | |
byte four2[8] = {0x00,0xfe,0x82,0xfe,0x00,0x1e,0x10,0xfc}; //04 | |
byte five2[8] = {0x00,0xfe,0x82,0xfe,0x00,0x9e,0x92,0xf2}; //05 | |
byte six2[8] = {0x00,0xfe,0x82,0xfe,0x00,0xfe,0x92,0xf2}; //06 | |
byte seven2[8] = {0x00,0xfe,0x82,0xfe,0x00,0x02,0x02,0xfe}; //07 | |
byte eight2[8] = {0x00,0xfe,0x82,0xfe,0x00,0xfe,0x92,0xfe}; //08 | |
byte nine2[8] = {0x00,0xfe,0x82,0xfe,0x00,0x9e,0x92,0xfe}; //09 | |
// 10-19 | |
byte ten2[8] = {0x00,0x84,0xfe,0x80,0x00,0xfe,0x82,0xfe}; //10 | |
byte eleven2[8] = {0x00,0x84,0xfe,0x80,0x00,0x84,0xfe,0x80}; //11 | |
byte twelve2[8] = {0x00,0x84,0xfe,0x80,0x00,0xf2,0x92,0x9e}; //12 | |
byte thirteen2[8] = {0x00,0x84,0xfe,0x80,0x00,0x92,0x92,0xfe}; //13 | |
byte fourteen2[8] = {0x00,0x84,0xfe,0x80,0x00,0x1e,0x10,0xfc}; //14 | |
byte fifteen2[8] = {0x00,0x84,0xfe,0x80,0x00,0x9e,0x92,0xf2}; //15 | |
byte sixteen2[8] = {0x00,0x84,0xfe,0x80,0x00,0xfe,0x92,0xf2}; //16 | |
byte seventeen2[8] = {0x00,0x84,0xfe,0x80,0x00,0x02,0x02,0xfe}; //17 | |
byte eighteen2[8] = {0x00,0x84,0xfe,0x80,0x00,0xfe,0x92,0xfe}; //18 | |
byte nineteen2[8] = {0x00,0x84,0xfe,0x80,0x00,0x9e,0x92,0xfe}; //19 | |
// 20-29 | |
byte twenty2[8] = {0x00,0xf2,0x92,0x9e,0x00,0xfe,0x82,0xfe}; //20 | |
byte twentyone2[8] = {0x00,0xf2,0x92,0x9e,0x00,0x84,0xfe,0x80}; //21 | |
byte twentytwo2[8] = {0x00,0xf2,0x92,0x9e,0x00,0xf2,0x92,0x9e}; //22 | |
byte twentythree2[8] = {0x00,0xf2,0x92,0x9e,0x00,0x92,0x92,0xfe}; //23 | |
byte twentyfour2[8] = {0x00,0xf2,0x92,0x9e,0x00,0x1e,0x10,0xfc}; //24 | |
byte twentyfive2[8] = {0x00,0xf2,0x92,0x9e,0x00,0x9e,0x92,0xf2}; //25 | |
byte twentysix2[8] = {0x00,0xf2,0x92,0x9e,0x00,0xfe,0x92,0xf2}; //26 | |
byte twentyseven2[8] = {0x00,0xf2,0x92,0x9e,0x00,0x02,0x02,0xfe}; //27 | |
byte twentyeight2[8] = {0x00,0xf2,0x92,0x9e,0x00,0xfe,0x92,0xfe}; //28 | |
byte twentynine2[8] = {0x00,0xf2,0x92,0x9e,0x00,0x9e,0x92,0xfe}; //29 | |
// 30-39 | |
byte thirty2[8] = {0x00,0x92,0x92,0xfe,0x00,0xfe,0x82,0xfe}; //30 | |
byte thirtyone2[8] = {0x00,0x92,0x92,0xfe,0x00,0x84,0xfe,0x80}; //31 | |
byte thirtytwo2[8] = {0x00,0x92,0x92,0xfe,0x00,0xf2,0x92,0x9e}; //32 | |
byte thirtythree2[8] = {0x00,0x92,0x92,0xfe,0x00,0x92,0x92,0xfe}; //33 | |
byte thirtyfour2[8] = {0x00,0x92,0x92,0xfe,0x00,0x1e,0x10,0xfc}; //34 | |
byte thirtyfive2[8] = {0x00,0x92,0x92,0xfe,0x00,0x9e,0x92,0xf2}; //35 | |
byte thirtysix2[8] = {0x00,0x92,0x92,0xfe,0x00,0xfe,0x92,0xf2}; //36 | |
byte thirtyseven2[8] = {0x00,0x92,0x92,0xfe,0x00,0x02,0x02,0xfe}; //37 | |
byte thirtyeight2[8] = {0x00,0x92,0x92,0xfe,0x00,0xfe,0x92,0xfe}; //38 | |
byte thirtynine2[8] = {0x00,0x92,0x92,0xfe,0x00,0x9e,0x92,0xfe}; //39 | |
// 40-49 | |
byte forty2[8] = {0x00,0x1e,0x10,0xfc,0x00,0xfe,0x82,0xfe}; //40 | |
byte fortyone2[8] = {0x00,0x1e,0x10,0xfc,0x00,0x84,0xfe,0x80}; //41 | |
byte fortytwo2[8] = {0x00,0x1e,0x10,0xfc,0x00,0xf2,0x92,0x9e}; //42 | |
byte fortythree2[8] = {0x00,0x1e,0x10,0xfc,0x00,0x92,0x92,0xfe}; //43 | |
byte fortyfour2[8] = {0x00,0x1e,0x10,0xfc,0x00,0x1e,0x10,0xfc}; //44 | |
byte fortyfive2[8] = {0x00,0x1e,0x10,0xfc,0x00,0x9e,0x92,0xf2}; //45 | |
byte fortysix2[8] = {0x00,0x1e,0x10,0xfc,0x00,0xfe,0x92,0xf2}; //46 | |
byte fortyseven2[8] = {0x00,0x1e,0x10,0xfc,0x00,0x02,0x02,0xfe}; //47 | |
byte fortyeight2[8] = {0x00,0x1e,0x10,0xfc,0x00,0xfe,0x92,0xfe}; //48 | |
byte fortynine2[8] = {0x00,0x1e,0x10,0xfc,0x00,0x9e,0x92,0xfe}; //49 | |
// 50-59 | |
byte fifty2[8] = {0x00,0x9e,0x92,0xf2,0x00,0xfe,0x82,0xfe}; //50 | |
byte fiftyone2[8] = {0x00,0x9e,0x92,0xf2,0x00,0x84,0xfe,0x80}; //51 | |
byte fiftytwo2[8] = {0x00,0x9e,0x92,0xf2,0x00,0xf2,0x92,0x9e}; //52 | |
byte fiftythree2[8] = {0x00,0x9e,0x92,0xf2,0x00,0x92,0x92,0xfe}; //53 | |
byte fiftyfour2[8] = {0x00,0x9e,0x92,0xf2,0x00,0x1e,0x10,0xfc}; //54 | |
byte fiftyfive2[8] = {0x00,0x9e,0x92,0xf2,0x00,0x9e,0x92,0xf2}; //55 | |
byte fiftysix2[8] = {0x00,0x9e,0x92,0xf2,0x00,0xfe,0x92,0xf2}; //56 | |
byte fiftyseven2[8] = {0x00,0x9e,0x92,0xf2,0x00,0x02,0x02,0xfe}; //57 | |
byte fiftyeight2[8] = {0x00,0x9e,0x92,0xf2,0x00,0xfe,0x92,0xfe}; //58 | |
byte fiftynine2[8] = {0x00,0x9e,0x92,0xf2,0x00,0x9e,0x92,0xfe}; //59 | |
delay(000); | |
if ( h > 12) | |
{ | |
h = (h - 12);// remove this condition for 24 hr format | |
} | |
if ( h == 0) | |
{ | |
h = 12;// remove this condition for 24 hr format | |
} | |
if (h == 1) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, one[n]); | |
} | |
} | |
if (h == 2) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, two[n]); | |
} | |
} | |
if (h == 3) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, three[n]); | |
} | |
} | |
if (h == 4) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, four[n]); | |
} | |
} | |
if (h == 5) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, five[n]); | |
} | |
} | |
if (h == 6) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, six[n]); | |
} | |
} | |
if (h == 7) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, seven[n]); | |
} | |
} | |
if (h == 8) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, eight[n]); | |
} | |
} | |
if (h == 9) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, nine[n]); | |
} | |
} | |
if (h == 10) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, ten[n]); | |
} | |
} | |
if (h == 11) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, eleven[n]); | |
} | |
} | |
if (h == 12) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(0, n, twelve[n]); | |
} | |
} | |
// now set minute | |
if (m == 0) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, zero2[n]); | |
} | |
} | |
if (m == 1) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, one2[n]); | |
} | |
} | |
if (m == 2) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, two2[n]); | |
} | |
} | |
if (m == 3) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, three2[n]); | |
} | |
} | |
if (m == 4) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, four2[n]); | |
} | |
} | |
if (m == 5) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, five2[n]); | |
} | |
} | |
if (m == 6) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, six2[n]); | |
} | |
} | |
if (m == 7) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, seven2[n]); | |
} | |
} | |
if (m == 8) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, eight2[n]); | |
} | |
} | |
if (m == 9) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, nine2[n]); | |
} | |
} | |
if (m == 10) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, ten2[n]); | |
} | |
} | |
if (m == 11) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, eleven2[n]); | |
} | |
} | |
if (m == 12) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twelve2[n]); | |
} | |
} | |
if (m == 13) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirteen2[n]); | |
} | |
} | |
if (m == 14) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fourteen2[n]); | |
} | |
} | |
if (m == 15) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fifteen2[n]); | |
} | |
} | |
if (m == 16) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, sixteen2[n]); | |
} | |
} | |
if (m == 17) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, seventeen2[n]); | |
} | |
} | |
if (m == 18) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, eighteen2[n]); | |
} | |
} | |
if (m == 19) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, nineteen2[n]); | |
} | |
} | |
if (m == 20) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twenty2[n]); | |
} | |
} | |
if (m == 21) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentyone2[n]); | |
} | |
} | |
if (m == 22) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentytwo2[n]); | |
} | |
} | |
if (m == 23) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentythree2[n]); | |
} | |
} | |
if (m == 24) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentyfour2[n]); | |
} | |
} | |
if (m == 25) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentyfive2[n]); | |
} | |
} | |
if (m == 26) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentysix2[n]); | |
} | |
} | |
if (m == 27) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentyseven2[n]); | |
} | |
} | |
if (m == 28) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentyeight2[n]); | |
} | |
} | |
if (m == 29) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, twentynine2[n]); | |
} | |
} | |
if (m == 30) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirty2[n]); | |
} | |
} | |
if (m == 31) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtyone2[n]); | |
} | |
} | |
if (m == 32) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtytwo2[n]); | |
} | |
} | |
if (m == 33) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtythree2[n]); | |
} | |
} | |
if (m == 34) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtyfour2[n]); | |
} | |
} | |
if (m == 35) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtyfive2[n]); | |
} | |
} | |
if (m == 36) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtysix2[n]); | |
} | |
} | |
if (m == 37) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtyseven2[n]); | |
} | |
} | |
if (m == 38) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtyeight2[n]); | |
} | |
} | |
if (m == 39) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, thirtynine2[n]); | |
} | |
} | |
if (m == 40) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, forty2[n]); | |
} | |
} | |
if (m == 41) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortyone2[n]); | |
} | |
} | |
if (m == 42) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortytwo2[n]); | |
} | |
} | |
if (m == 43) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortythree2[n]); | |
} | |
} | |
if (m == 44) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortyfour2[n]); | |
} | |
} | |
if (m == 45) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortyfive2[n]); | |
} | |
} | |
if (m == 46) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortysix2[n]); | |
} | |
} | |
if (m == 47) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortyseven2[n]); | |
} | |
} | |
if (m == 48) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortyeight2[n]); | |
} | |
} | |
if (m == 49) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fortynine2[n]); | |
} | |
} | |
if (m == 50) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fifty2[n]); | |
} | |
} | |
if (m == 51) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftyone2[n]); | |
} | |
} | |
if (m == 52) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftytwo2[n]); | |
} | |
} | |
if (m == 53) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftythree2[n]); | |
} | |
} | |
if (m == 54) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftyfour2[n]); | |
} | |
} | |
if (m == 55) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftyfive2[n]); | |
} | |
} | |
if (m == 56) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftysix2[n]); | |
} | |
} | |
if (m == 57) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftyseven2[n]); | |
} | |
} | |
if (m == 58) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftyeight2[n]); | |
} | |
} | |
if (m == 59) | |
{ | |
for (int n = 0; n < 8; n++) { | |
lc.setRow(1, n, fiftynine2[n]); | |
} | |
} | |
} | |
void loop() { | |
timeClient.update(); | |
h=timeClient.getHours(); | |
m=timeClient.getMinutes(); | |
Display(); | |
delay(500); | |
lc.setRow(0, 7, dots[7]); | |
delay(500); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment