Am pastrat toate facilitatile ceasului anterior (la care am adaugat, intre timp, unele chestii noi): reglaj fus oras, selectie ora vara/iarna, indicare rasarit/apus soare, format ora (12 ore,24 ore sau alternativ), reglaj independent intensitate pe timp de zi si pe timp de noapte). Am adaugat si temperatura si umiditatea relativa a aerului,
Acum cativa ani, am testat un ceas cu afisaj multiplexat din 4 cifre led avand reglaj manual al orei, pe care l-am prezentat in articolul Afisaje LED cu 7 segmente si.. Arduino (IV), anterior testasem varianta de ceas si cu prezentarea temperaturii si umiditatatii, dar fara reglaj, dupa cum se poate vedea in articolul Afisaje LED cu 7 segmente si.. Arduino (II)
In acele teste am folosit un afisaj cu anod comun KW4-563ASA
Deoarece am observat ca prezinta intereses si avand si solicitari pentru a combina partea de ceas cu posibilitate de reglaj ora cu cea de termometru si higrometru, am zis sa refac montajul.
In timpul cautarii pieselor, am dat de un afisaj cu catod comun, cod LFD080AAG-103, pe care il mai folosisem la termostate cu prezentare date pe afisaj led multiplexat (vedeti articolele Termostat cu afisaj LED (4) si Termostat cu afisaj LED (5)).
Am combinat cele schemele din articolele mentionate mai sus, facand si modificari prin sketch, incat sa fie usor de modificat pentru afisaje cu catod comun sau cu anod comun. Sketch-ul este postat pe canalul meu Github, numindu-se multiplexedclock2_0.ino.
Am folosit o placa Arduino Nano cu ATmega168, ca asta era la indemana, dar functioneaza fara probleme si cu Nano cu ATmega328 sau Uno.
Pentru modulul de ceas RTC, am folosit un modul facut cu DS1307, dar se poate folosi si DS3231 fara modidicari in program (sketch). Pentru temperatura si umiditate am folosit acelasi senzor DHT11, care poate fi inlocuit, pentru o precizie mai mare, cu DHT22 (AM2302), cu foarte mici modificari in sketch.
Pentru afisajele cu catod comun, cum am testat eu, trebuie sa avem in sketch urmatoarele (corectie in 11.09.2017):
iar pentru cele cu anod comun:
Incarcand sketch-ul multiplexedclock2_0.ino, pe ecran va apare ora cu punctul dintre ore si minute animat ("bate"secunda) timp de cca 5 secunde, apoi apare temperatura si umiditatea relativa a aerului.
Pentru a regla ora, se apasa pe butonul ADJUST, pe afisaj apare 00.00 si tinandu-se apasat se apasa SW1 pentru a modifica orele si SW2 pentru minute. (Atentie: daca se apasa doar butonul SW0, ceasul este reglat la ora 0:00, asa ca el trrebuie pus sa nu fie la indemana copiilor sau a altor persoane).
De curand, am intrat in posesia unei placi de dezvoltare care se bazeaza pe un ESP8266 si arata ca o placa Arduino Uno. Ea este o clona (copie) a placii WeMos D1.
Pentru a fi mai usor de folosit am notat pe fata si corespondenta pinilor de la ESP8266MOD (asta are a mea inscriptionat, iar pe net apare ca este un ESP8266EX):
Ulterior, am pus un senzor de temperatura DHT11 (ca asta a fost liber) si am incarcat sketch-ul modificat (NodeMcu_or_WeMosD1_DHT.ino), in care pinul de date al senzorului este conectat tot la GPIO5 (ca si in exemplul cu NodeMcu), care are corespondenta la D15/SCL.