ArduShop.ro

ArduShop.ro
cod Z4A413ZN reducere 5%, pentru vizitatorii paginilor mele !

miercuri, 16 august 2017

Ceas cu reglaj manual al orei, alarma si termometru cu higrometru si afisaj multiplexat cu 4 cifre led

   La sugestia lui Vlad Gheorghe, am adaugat si alarma ceasului prezentat in articolele precedente.
   Schema nu difera mult, doar se adauga un buzzer activ alimentat la 5V sau, de test, o rezistenta de 220-470 ohmi inseriata cu un led.
   In mod normal, pe ecran este prezentata ora timp de 5 secunde (punctul dintre ore si minute se aprinde cu intermitenta, "batand"secunda"), apoi este aratata ora timp de o secunda si apoi umiditatea timp de o secunda.
Dupa aceasta se repeta ciclic informatiile.  Deoarece avem si alarma, punctul din dreapta este aprins cand alarma este activa.
   Daca se apasa lung butonul ADJUST se intra in meniul de reglare ore, in formatul xx.CL:
prin apasarea periodica sau tinerea apasata a butonului + se creste valoarea de la ore, pana la maxim 23, dupa care se revine la 0, reluaindu-se partea de crestere a valorii.
   Daca se se apasa butonul ADJUST se trece la reglajul minutelor, in format CL.yy:
  Daca se apasa butonul + sau se tine apasa, se creste valoarea minutelor pana la maxim 59, dupa care se revine la 0, iar daca se apasa sau se tine in continuare apasat butonul + valoarea minutelor creste:
   Dupa apasarea butonului ADJUST, se trece la activarea sau dezactivarea alarmei, functie de valoarea anterioara. In cazul nostru, alarma era activata, iar dupa apasarea butonului + se dezactiveaza:
    Daca ramane starea de alarma dezactivata, din meniu se iese la functionarea normala.
 
   Deoarece alarma este dezactivata, punctul din dreapta este stins.
   Daca se apasa iar butonul ADJUST se reintra in meniul de raglaj ora, minute
si se ajunger la alarma, starea initiala e de dezactivare, apoi se activeaza
   Dupa apasarea butinului ADJUST, se intra in meniul de reglare ora alarma:
apoi se trece la reglajul minutelor
si apoi se iese din meniu, revenind la functionarea normala.
   Cand alarma este activa si se potiveste ora acesteia cu a ceasului, buzzerulul activ sa suna intermitent sau, cum e cazul meu, se va aprinde cu intermitenta ledul rosu, daca se foloseste sketch-ul multiplexedclock4_2.ino. Daca se foloseste sketch-ul multiplexedclock4_1.ino buzzerul va suna continuu timp de un minut sau ledul va fi aprins permanent timp de minut.
   Am facut un filmulet, in care se vede modul de functionare si reglare (ceas cu reglaj manual, alarma, termometru si higrometru folosind Arduino)

   Daca in timpul activarii alarmei se apasa butonul + se dezactiveaza provizoriu alarma, ea fiind activa pentru urmatoarea zi, cand se ruleaza sketch-ul multiplexedclock4_3.ino. In filmuletul ceas cu reglaj manual, alarma, termometru si higrometru folosind Arduino (2) am prezentat pe scurt modul de reglare alarma si de dezactivare provizorie alarma.


Ceas cu reglaj manual al orei, termometru cu higrometru si afisaj multiplexat cu 4 cifre led (3)

   Fata de articolul anterior, am modificat modul de afisare la reglarea orei si minutelor (xx.CLm respectiv CL.yy), in vederea scrierii unui program (sketch) pentru ceas cu alarma si acolo trebuie sa se stie clar ce se regleaza.
   Schema de conectare este identica:
iar sketch-ul folosit este multiplexedclock3_1.ino.
   Modul de functionare si reglare e vede mai bine in filmuletele:
ceas cu reglaj manual, termometru si higrometru folosind Arduino (3)
RTC clock with manual adjust, temperature and humidity using Arduino (3)
    Pentru a putea functiona si afisa acest mod, a trebuit sa-mi creez si litera L (C era creata mai demult pentru a afisa simbolul de Celsius) si sa fac modificari in sketch-ul anterior.
   In mod normal, pe afisaj sunt prezentate: ora cu secundar animat ("bate"secundele) timp de cca 5 secunde, apoi tenmperatura o secunda si apoi umiditatea tot o secunda. Daca se apasa mai lung butonul MENU (cel din stanga in poze), se va intra in modul de reglare ore, indicand xx.CL:
   Daca se apasa butonul fara tetinere + (in partea dreapta, in poze), se creste valoarea orei, de la valoarea actuala; daca se tine apasat, valoarea creste automat, la depasirea valorii maxime (23) se trece la ora 0.
   Daca se apasa butonul MENU (cel din stanga) se trece la reglaj minute, indicatia fiind CL.yy:
   Daca se apasa butonul fara tetinere + (in partea dreapta, in poze), se creste valoarea minutelor, de la valoarea actuala; daca se tine apasat, valoarea creste automat, la depasirea valorii maxime (59) se trece la 0.
   Daca se apasa butonul MENU (cel din stanga) se trece la functionarea normala

vineri, 11 august 2017

Ceas cu reglaj manual al orei, termometru cu higrometru si afisaj multiplexat cu 4 cifre led (2)

   Dupa cateva teste cu ceasul cu reglaj prezentat in articolul anterior, am considerat ca apasarea si din greseala a butonului ADJUST trece in 0:00 ceasul, asa ca am schimbat modul de reglaj, ca la alte ceasuri, astfel, am 2 butoane, cel de ADJUST care duce in modul de modificare ora, care se poate modifica prin apasarea butonoului +, apoi prin apasarea din nou a butonului ADJUST se modifica minutele din butonul +, iar la o noua apasare a butonului ADJUST se revine la functionarea normala, cand se afiseaza ora timp de 5 secunde, apoi cate o secunda temperatura si umiditatea relativa a aerului.
   Schema este asemenatoare cu cea din articolul anterior, doar ca am scos un buton:
   Sketch-ul, care face ceasul sa functioneze ca in prezentarea de mai sus si dupa cum se vede din filmuletele urmatoare este multiplexedclock3_0.ino.


   In modul uzual, se prezinta ora (5 secunde)
temperatura (1 secunda)
si umiditatea relativa a aerului (1 secunda), dupa care ciclul se repeta.
   Daca se apasa butonul ADJUST apare cu intermitenta ora si data
   La apasarea butonului + creste valoarea orei, pana la maxim 23 apoi se readuce la 0:
se apara iar butonul ADJUST pentru a trece la reglajul minutelor
se modifica minutele din butonul +, crescand valaorea pana la maxim 59 dupa care se readuc la 0...
   Pentru revenirea la functionarea normala, se reapasa butonul ADJUST.

Nota 1: la teste am folosit o placa Arduino Nano cu ATmega168, dar functioneaza foarte bine cu "suratetele mai bune": Nano cu ATmega328 sau Arduino Uno.
Nota 2Pentru afisajele cu catod comun, cum am testat eu, trebuie sa avem in sketch urmatoarele:
iar pentru cele cu anod comun:

Ceas cu reglaj manual al orei, termometru cu higrometru si afisaj multiplexat cu 4 cifre led

   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:
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).
   Pentru a intelege mai usor modul de functionare, vedeti 2 filmulete:
ceas cu reglaj manual, termometru si higrometru folosind Arduino
RTC clock with manual adjust, temperature and humidity using Arduino