M-am gandit sa fac si un ceas ce foloseste modul RTC de la care sa preiau ora, data si chiar si temperatura, sa fie si reglabil din encoder, dupa ce testasem asta pe afisajul LCD4004 (l-am prezentat in articolul anterior).
doar ca nu am conectat senzorul DS18B20, temperatura este preluata de la senzorul din integratul DS3231 din modulul RTC (bineinteles ca afisajul este LCD4002).
Ca si la interfata i2c de la afisaul LCD4004 am inlocuit un strap (rezistenta 0Ω) cu una de 470Ω si am scazut curentul prin ledul/ledurile de fundal de la 200-230mA la 3,8mA (2,82V cadere de tensiune). Valoarea curentului este suficienta ca lumina ledului sa nu deranjeze noaptea si sa fie vizibila informatia de pe afisaj pe timp de zi.
Pasul urmator, pentru un ceas complet, a fost sa adaug si un mod de reglaj, iar cel cu encoder, a fost cel mai usor,, deoarece am folosit mare parte din ce facusem pentru ceasul RTC cu caractere mari si date meteo pe afisaj LCD2004 (3) si, in plus, cablajul are conector pentru encoder 😇
Am mutat montajul provizoriu al interfetei i2c la afisajul LCD4004, pe baza schemei prezentate in articolul anterior doar ca am introdus o rezistenta de 470Ω in serie cu ledul/ledurile de fundal (pentru a reduce curentul de la cca 200-230ma la 3.8mA). Luminozitatea fundalului este suficienta sa nu deranjeze noaptea, dar suficienta sa fie informatia vizibila pe timp de zi.
Montajul a fost asamblat pe un cablaj de test si firicele, dar mult mai bun ca cel de pe breadboard, pentru ca am pus si un minibreadboard ca suport/distantier.
Dupa cum scriam intr-unul din articlele anterioare, am achizitionat pe langa afisajul LCD4004 si unul LCD4002, care a fost mai prietenos ca cel cu 40 coloane si 2 randuri, deoarece si interfata i2c achizitionata separat a fost fabricata pentru el (atat afisajul, cat si interfata i2c sunt produse de acelasi producator, asa ca acolo sunt si informatii tehnice, oricum, cel putin afisajul alfanumeric este o copie de la Crystalfontz).
Dupa lipirea interfetei i2c la afisaj, am verificat ce adresa are interfata i2c, pe un montaj ce avea si un modul RTC cu DS3231 ce are si o memorie EEPROM:
in aceste teste a fost folosit programul LCD_4002_clock.ino. Din pacate, autorul s-a chinuit sa nu foloseasca biblioteci, asa ca mi-a fost greu sa fac modificari rapide, asa ca am ales sa aleg un proiect usor de modificat.
Programul folosit este LCD4002_big_font_clock_thermometer_v1.ino si pe langa modificari care sa simuleze un afisaj LCD2004 (adica 20 de coloane si 4 randuri), am folosit senzorul din DS3231 in loc sa folosesc senzorul DS18B20 deoarece nu a fost la indemana la momentul testului (partea de senzor DS18B20 a fost comentata, nu stearsa, pentru a putea fi usor de adaptat pentru acel senzor).
Ca idee, ce era afisat, in proiectul original, pe randul al treilea este afisat pe primul rand de la coloana 21 la 40, iar ce era pe randul al patrulea este afisat pe randul al doilea, la fel de la coloana 21 la 40.
Pentru a folosi senzorul DS18B20 e suficient sa se comenteze linia care citeste temperatura de la senzorul de pe DS3231: