In completarea articolului anterior, in care am realizat un ceas NTP pe afisaj 16c8 leduri adresabile, de data asta am optimizat programul, incluzand si selectie ora vara sau ora de iarna, dar si reglaj intensitate luminoasa pe timp de zi, respectiv noapte.
Pentru a putea selecta ora de vara sau de iarna, am ales solutia comutarii pinului analogic la +3,3V, respectic la masa (GND), asa ca schema ceasului devine
Am achizitionat un afisaj cu 32x8 leduri adresabile (WS2812) si am vrut sa reproduc proiectul WS2812-WeatherStation al lui 707pheonix
doar ca pana sa ma prind eu ca proiectul initial a fost facut pentru o matrice de 32 leduri la rand
s-a defectat de la jumatate, ramanand functional un 16x8
ulterior constatand ca sunt defecte 8 sau 9:
si ca matrice e altfel, cu 8 leduri pe coloana
si m-am apucat sa studiez programul original sa fac ceva cu partea ramasa... am observat ca in proiect sunt niste chestii interesante, asa ca le-am pastrat si am modificat caracterele sa folosesc cat mai mult din zona de 16x8.
Dar ceasul e prea static, asa ca am ales sa schimb culorile orelor, minutelor si secundelor, astfel:
ca rezumat, folosesc 6 culori principale (din cele 8 principale posibile, adica fara alb si negru), ce se schimba la fiecare 10 minute si la fiecare secunda, respectiv la fiecare ora astfel:
- orele 0, 6, 12 si 18, minutele cu valoare mai mica de 10 (format general 0x), respectiv secundele 0, 6, 12, 18, 24, 30, 36, 42, 48, 54 apar in culoarea albastru;
- orele 1, 7, 13 si 19, minutele intre 10 si 19 (format general 1x), respectiv secundele 1,7, 13, 19, 25, 31, 37, 43, 49, 55 apar in culoarea verde;
- orele 2, 8, 14 si 20, minutele intre 20 si 29 (format general 2x), respectiv secundele 2,8, 14, 20, 26, 32, 38, 44, 50, 56 apar in culoarea bleo (albastru-verzui sau verde-albastrui);
- orele 3, 9, 15 si 21, minutele intre 30 si 39 (format general 3x), respectiv secundele 3,9, 15, 21, 27, 33, 39, 45, 51, 57 apar in culoarea rosie;
- orele 4, 10, 16 si 22, minutele intre 40 si 49 (format general 4x), respectiv secundele 4,10, 16, 22, 28, 34, 40, 46, 52, 58 apar in culoarea mov;
- orele 5, 11, 17 si 23, minutele intre 50 si 59 (format general 5x), respectiv secundele 5, 11, 17, 23, 29, 35, 41, 47, 53, 59 apar in culoarea galbena.
Pentru a fi mai convingator, am facut poze la orele 10 cand acestea au culoarea galbena, respectiv orele 11 cand acestea au culoarea galbena:
- minute 0x, albastre:
- minute 1x, verzi:
- minute 2x, bleo:
- minute 3x, rosii
- minute 4x, mov:
- minute 5x, galbene:
si, dupa cum era de asteptat, ora 12:0x are toate cifrele doar in albastru
Programul modificat este NTP_clock_16x8_WS2812_v1b.ino si modul de prezentare a orelor este mult mai clar in cele 2 filmultele:
In perioada urmatoare, o sa adaug selectie ora de vara/iarna, un control al intensitatii (zi/noapte), poate si ceas in format de 12 ore... totul in functie de timpul liber.
In completarea articolului anterior, am modificat cifrele de la minute s pot afisa ora in format de 24 ore, cu aceasta ocazie, am modifiat si cifra 1 de la ore:
- cifre pentru ore
- cifrele 1 si 2 de la minute
- cifrele 3 si 4 de la minute
- cifrele 5 si 6 de la minute
- cifrele7 si 8 de la minute
- cifrele 9 si 0 de la minute si punctul pentru secunde
Schema este, la fel ca cea din articolul precedent,
doar programul este modificat, devenind TM1640_clock_v2.ino si modul de afisare este de genul: