Dupa ce a sosit cablajul, l-am echipat cu conectorii mama si tata si am testat ceasurile anterioare, apoi am trecut la alt ceas, unul cu 2 panouri led P10, chiar daca am unul rosu si unul verde.
Schema de conectare este, evident, identica, doar ca se pun 2 panouri in serie
Prima data am modificat rapid programul ultimului ceas si acum acesta devine DMD2-P10-clock8.ino si din filmuletele urmatoare se observa modul de functionare:
ulterior, am lucrat mai mult la program, acesta devenind DMD2-P10-clock8a.ino care are ceasul mai in drepta si astfel imi permite sa afisez altfel diverse informatii:
- ora in format de 24 de ore cu caractere normale (subtiri)
- ora in format de 24 de ore cu caractere groase
- ora in format de 12 ore cu caractere normale
- ora in format de 12 ore cu caractere groase
In filmuletele urmatoare se vede mai bine modul de afisare cu caractere normale sau groase si cum se prezinta data si temperatura (si umiditatea cand sunt caractere normale)
Partea de ceas a ramas cu toate facilitatile din ceasurile anterioare:
- reglaj ceas si data (intrare in meniu cu butonul MENU si crestere sau scadere valori din cele 2 butoane, plus respectiv minus)
- reglaj intensitate luminoasa in 17 trepte (5, 16, 32... 255 din 255) prin apasare a butonului -, apoi din cele 2 butoane + si -, pentru iesire se apasa butonul MENU
- schimbare intre cifre subtiri si groase prin apasarea repetata a butonului +.
Dupa ce am tot testat diverse biblioteci care sa mearga cu ESP8266 cu afisajul led P10, inclusiv biblioteca DMD2, care are reglaj al intensitatii luminoase, ce functioneaza bine pe Arduino clasic, nu am fost multumit de rezultate pe ESP8266 pana am dat de biblioteca DMDESP.
Deoarece ceasurile de genul asta au succes in tarile din Asia unde se foloseste mult formatul de 12 ore, am modificat programul sa pot selecta din meniu formatul de 24-ore (militar) sau 12-ore.
Dupa ce am constatat ca ceasurile RTC cu afisaj P10 sunt stabile si reglajul intensitatii merge corespunzator, am adaugat si un senzor DHT22 (AM2302).
Schema folosita de mine este cea prezentata mai jos, doar ca eu am folosit modulul numit DHT22 (care este, de fapt un senzor AM2302 si o rezistenta de 4k7 intre +5V si pinul de date). Daca aveam senzorul AM2302 il conectam ca in partea din stanga si necesita si rezistenta de 4k7.
Am modificat programul, devenit DMD2-P10-clock5.ino, care la minutele pare indica in ultimele 5 secunde din minut data, iar la minutele impare temperatura si umiditatea relativa a aerului, dupa cum se poate vedea in filmuletele:
Partea de ceas a ramas cu toate facilitatile din ceasurile anterioare:
- reglaj ceas si data (intrare in meniu cu butonul MENU si crestere sau scadere valori din cele 2 butoane, + respectiv minus)
- reglaj intensitate luminoasa in 17 trepte (5, 16, 32... 255 din 255) prin apasare a butonului -, apoi din cele 2 butoane + si -, pentru iesire se apasa butonul MENU
- schimbare intre cifre subtiri si groase prin apasarea repetata a butonului +
Un panou cu leduri verzi are urmatoarele consumuri (valorile pot avea variatii functie de numarul de cifre afisat in cazul orei sau numerele afisate, dar o idee ne putem face de cat de mult consuma):
- 1,871A (1871mA) pentru ceas,cu intensitate la maxim si cifre groase (care nu poate fi folosit in camera si citit de la distanta mica)
- 0,901A (901mA) pentru ceas,cu intensitate la maxim si cifre normale (care nu poate fi folosit in camera si citit de la distanta mica)
- 0,035A (35mA) ceas,cu intensitate la minim si cifre groase (pentru utilizare in casa)
- 0,016A (16mA) ceas,cu intensitate la minim si cifre groase (pentru utilizare in casa)
- 0,025A (25mA) pentru data, la intensitate minima
- 0,022A (22mA) pentru temperatura si umiditate relativa, la intensitate minima
Modeul de conectare pe breadboard si fire nu este foarte stabil, contactele pot fi imperfecte,etc, asa am desenat un cablaj (neoptimizat totusi) in care pot sa folosesc diversi senzori: AM2302 la care trebuie sa montez rezistenta de 4k7, senzori ca DHT22, fara rezistenta, senzor DS18B20 la care trebuie rezistenta, apoi reglaj cu cele 3 butoane fara retinere sau din encoder (inca nu am implementat toate aceste versiuni, dar pentru a fi disponibile pentru viitor). Am pus pe PCBWay la proiecte, articolul Adjusting RTC clock on P10 display astfel ca se pot comanda cablaje la ei sau la alti furnizori (prin descarcare fisiere Gerber).
Schema generala arata asa:
iar cablajul (virtual momentan)
Dupa ce voi primi cablajele, am sa postez niste poze.
Dupa ce am verificat ca ceasurile cu noua biblioteca DMD2 sunt stabile, am adaugat un al treilea buton pentru a putea avea un reglaj rapid si a nu intra in meniul de reglaj ceas si data.
Schema devine
Cele 3 butoane fac urmatoarele functii:
- daca se apasa butonul + se comuta modul de afisare intre font subtire si cel gros.
- daca se apasa butonul - se intra in modul de reglare intensitate luminoasa (brithness, semnalata prin aparitia unui punct pe primul rand de sus, in extrema stanga este minimul (PWM = 5) si in dreaptta (PWM = 255), cresterea intensitatii se face din butonul +, respectiv scaderea prin apasarea butonului -, iar iesirea si memorarea in EEPROM prin apasarea butonului MENU.
- daca se apasa butonul MENU se intra in modul de reglaj ceas si data, folosind butoane + si -, respectiv MENU/NEXT pentru trecerea la parametrul urmator, asemanator de modul cum s-a prezentat in articolul Ceas cu reglaj pe afisaj P10 de 32x16 leduri
a) ora
b) minutele
c) anul
d) luna
e) ziua
- la treapta minima 0 din 16 (PWM = 5 din 255), consum 0,02A, respectiv 0,05A
- la o treapta intermediara, 3 din 16 (PWM = 48 din 255), consum 0,20A, respectiv 0,44A
- la maxim, treapta 16 din 16 (PWM = 255 din 255), consum 1A, respectiv peste 2A