Fata de ceasurile anterioare, care au avut toate RTC (ceas de timp real cu DS1307 sau DS3231), de data asta voi folosi datele citite on-line de la un server NTP.
Materialul de pornire mi-a fost dat de Vlad Gheorghe si anume un director de pe Github: G6EJD/ESP8266-MAX7219-LED-4x8x8-Matrix-Clock
Se foloseste o placa de dezvoltare cu ESP8266 (sau ESP32) si 4 module de 8x8 leduri controlate de MAX7219, schema fiind extrem de simpla, legand
Eu am folosit o placa de dezvoltare WeMos D1 cu format de Arduino Uno;
deci am folosit alimentarea de 3,3V si masa (GND), apoi am legat pinul DIN la GPIO11/MOSI/D7, CS la GPIO12/MISO/(D12) si CLK la GPIO13/SCK/D5. Alimentarea se face, cel putin de teste, la o mufa USB, apoi voi folosi un incarcator de telefon.
Folosind programul modificat de mine, NTP_matrix_2.ino, pe afisaj se arata ora, cu secunde ce clipesc,
apoi la 60 secunde se indica ziua si data, in engleza (momentan).
Informatiile de la serverul NTP se convertesc intr-un sir cu functia strftime despre care puteti sa cititi la http://www.cplusplus.com/reference/ctime/strftime/ pentru a va configura mesajul animat, eu lasand in paranteze, ziua si data, dar se pot extrage mai multe infirmatii.
Configurarea zonei a fost facuta de Vlad si se face in liniile
urmand identificarea din pagina zones.csv.
Am facut 2 filmulete, din care se vede mai rapid cum functioneaza ceasul:
PS: Am adaugat si verificarea conectarii la reteaua Wi-Fi locala si, daca s-a pierdut legatura, se reface legatura cu router-ul, vedeti sketch-ul NTP_matrix_2v1.ino.
Niciun comentariu:
Trimiteți un comentariu