Se afișează postările cu eticheta thermostat. Afișați toate postările
Se afișează postările cu eticheta thermostat. Afișați toate postările

luni, 13 octombrie 2025

Termostat reglabil cu ceas RTC si afisaj LCD2004

    Dupa ce am fost multumit de modul de afisare, reglare si stabilitate la proietul anterior, de Ceas RTC cu caractere mari si termometru pe afisaj LCD2004 am trecut s la partea de proiect mult mai util, un termostat reglabil cu ceas RTC.

   Schema deriva din cea a ceasului, doar ca am pus 3 leduri, unul rosu pentru temperatura scazuta (sub pragul de temperatura), unul verde pentru temperatura normala (valoare peste pragul de temperatura) si unul galben pentru a simula comanda la centrala / calorifer electric. etc (care se aprinde cand temperatura este sub pragul de temperatura si se stinge la depasirea pragului de temperatura plus valoarea histerezisului)

   La o apasare scurta se comuta afisarea cu caractere mari a orei cu cea a temperaturii, apoi iar ora, etc.
   Cateva exemple:
- temperatura mai mica decat pragul reglat (led rosu aprins, led galben aprins, adica incalzitor pornit, pe afisaj apare si o steluta indicand pornirea sistemului de incalzire)
- temperaura peste pragul reglat, dar mai mica decat pragul de oprire (led verde pornit indicand faptul ca temperatura e mai mare decat valoarea reglata, led galben aprins insemnand ca sistemul de incalzire e pornit, iar pe afisaj este si steluta)
- temperatura este peste pragul de decuplare (led verde aprins, led galben stins indicand oprirea sistemului de  incalzire, iar pe ecran nu mai apare steluta)
   Daca apasam lung pe buton (mai mult de 3-4 secunde), se intra in meniul de reglaj, de data asta avem:
- reglaj temperatura
- reglaj histerezis
- reglaj an
- reglaj luna
- reglaj zi
- reglaj minute
- reglaj secunde
    Am facut si niste filmulete:
PS: Programul (sketch-ul) adaptat de mine si folosit este big_font_clock_thermometer_v5a.ino !

vineri, 15 martie 2019

Termostat simplu (2)

   Desi pe blog am tot postat termostate, cu afisaje cu led, alfanumerice sau grafice, de data asta am conceput unul simplu, la cererea prietenului meu, George Dacin, care voia ceva simplu si bun..
   Unul similar se gaseste in articolul Termostat simplu, dar cel din acest articol a fost conceput dupa cerintele lui George...
   Schema, care permite alimentarea de la o sursa de 12Vcc, pentru a folosi un releu de 12V, are  inclus un stabilizator liniar cu LM7805 (cu radiator) pentru cei 5V necesari alimentarii placii de dezvoltare Arduino, a afisajului alfanumeric LCD1602 cu interfata i2c si a senzorului de temperatura de tip DS18B20:
  Se poate folosi si un modul de stabilizator in comutatie (step down) in locul stabilizatorului liniar LM7805, se poate folosi un releu de 5V si atunci se renunta la stabilizator si se aliemnteaza dintr-un incarcator de telefon "smart"... 
  Se mai poate renunta la tranzistor si releul si sa se utilizeze un modul cu releu, etc...
  Exista 2 butoane, unul de crestere cu pas de 0,1 grade Celsius si unul de scadere cu 0,1 grade Celsius a temperaturii dorite (valoarea reglata este memorata in EEPROM-ul microcontrolerului care echipeaza placa de dezvoltare Arduino Uno (sau Nano, Mini Po, etc). Programul scris de mine este simplethermostat.ino, si are reglat histerezisul la 0,5 grade Celsius, adica la scaderea temperaturii sub valoarea reglata, se alimenteaza releul, inchizand contactele COM-NO si astfel se porneste o centrala, un radiator, etc. Pe ecran apare in parea dreapta jos o steluta indicand conectarea sursei de caldura. Daca temperatura creste cu 0,5 grade Celsius peste valoarea dorita, releului i se taie alimentarea si se deschide contactul COM-NO.
   O alta poza cu termostatul realizat practic de George:
24.03.2019
   Deoarece am vazut la George ca exista posiblitatea sa se "joace" cineva si sa scoata din domeniul uzual valorile de temperatura dorita
am modificat in programul simplethermostat.ino sa (re)activez limitarea temperaturii minime si maxime, programul devenind din 
in
pentru reglaj de la +5 la +270C.

4.5.2019
   Sketch-ul simplethermostat.ino foloseste pentru afisajul LCD cu interfata i2c libraria de e stocata pe https://github.com/tehniq3/used_library !

luni, 4 decembrie 2017

Termostat cu NodeMCU (ESP8266) pe pagina Cayenne

   Dupa ce m-am familiarizat un pic cu serverul Cayenne si configurarile pentru placa de dezvoltare NodeMCU v.0.9 (ESP8266), am realizat un sistem de imi monitorizeaza temperatura si umiditatea relativa a aerului prin informatiile primite de la un senzor AM2302 (DHT22) si care imi poate comanda un led (poate fi folosit is un releu) de pe o interfata PC sau telefon cu Android sau iOS (iPhone) folosindu-ma de o placa NodeMCU (ESP8266), acum prezint un sistem de termostat.
   Termostatul foloseste acelasi senzor AM2302 (DHT22) pentru temperatura si umiditatea relativa a aerului din incinta, comanda se face de pe o iesire digitala a placi NodeMCU (aceeasi ca si in proiectul anterior), dar reglajul se face de pe 2 butoane virtuale.
   Eu ma folosit pentru teste si ledurile de pe placa NodeMCU, ca si in proiectul anterior: ledul rosu de la GPIO16 (D0), ledul albastru de la GPIO2 (D4), senzorul este tot la GPIO5 (D1), iar ledul exterior inseriat cu o rezistenta de 100 ohmi la GPIO0 (D3).
  Sketch-ul folosit este Cayenne_thermostat_ESP8266.ino si avem indicatie de led rosu daca temperatura este mai mare decat cea setata cu +0,25 grade, iar ledul albastru se aprinde cand temperatura este mai mica cu 0,25 grade Celsius.
  Eu am folosit aceasi placa si acelasi canal, cu cele 3 date de identificare unice
   Am adaugat noi butoane si indicatii (Add New -> Device/Widget), se selecteaza placa (denumita de mine NodeMCU v0.9) si se completeaza campurile.
   Butoanele si indicatiile mele sunt configurate astfel:
- temperatura de la senzor este receptionata pe canalul 1
- umiditatea relativa de la senzor este receptionata pe canalul 0
- starea de functionare a sistemului de incalzire (centralei) este receptionata pe canalul 2
- butonul de crestere a temperaturii dorite este pe canalul 3
- butonul de scadere a temperaturii dorite este pe canalul 4
- temperatura dorita este afisajata e canalul 5
   Pentru butoanele de comanda am folosit niste artificii, in sensul ca sunt butoane ON/OFF doar ca dupa ce sunt transmise datele la server revin automat pe liber, ca un fel de buton cu revenire.
  Temperatura setata este memorata in EEPROM-ul ESP-ului de pe placa NiodeMCU si afisata pe canalul 6.
   Tenmoeratura este reglata cu un histerezist total de 0,5 grade, de data asta centrala se opreste la +0,25 grade peste pragul reglat, respectiv reporneste cand tempratura este cu 0,25 grade mai putin de pragul reglat.
   Prezint 2 filmulete, in care descriu modul de functionare si reglare:
Termostat cu NodeMCU pe server Cayenne
Cayenne thermostat with NodeMCU
   Vlad a realizat si el un test cu o placuta cu un ESP8266MOD, din aceea fara simpla, si a constatat ca pot apare probleme daca se foloseste GPIO0 (D3), deoare ce la reconectarea alimentarii ii intra in modul de prograamre, asa ca el a mutat ledul pe GPIO15 (D8).
   Din aplicatia Android, ca si de pe cea iPhone, se pot modifica modurile de prezentare al butoanelor sau indicatiilor.
   Dupa intrarea pe canalul termostatului:
poate apare starea de centrala oprita
sau pornita
   Configuratia se poate vedea si modiifca si de pe telefon:
- umiditatea relativa a aerului, de pe canalul 0
- temperatura aerului, de pe canalul 1
- starea centralei, de pe canalul 2
- butonul de crestere a temepraturii dorite, de pe canalul 3
- butonul de scadere a temperaturii dorite, de pe canalul 4
- temperatura dorita, de pe canalul 5
    Am modificat  indicarea umidtatii relative ca un "ceas" (gauge):
si pot vedea urmatorile stari:
   Am modificat simbolurile pentru butoanele de crestere si scadere a temperaturii dorite:
obtinand
   Am schimbat si la centrala
obtinand
   Am schimbat iar la partea de indicare stare centrala
obtinand
   Pe pot vedea istorice ale parametriilor afisati, care se si pot descarca... deci e un termostat numai bun... se pot trimite si emailul la anumite valori ale temperaturilor, prin activare "trigger"-e.
- neactivate
- activare pentru trimitere email daca temperatura este peste 30 grade Celsius
- activare pentru trimitere email daca umiditatea este mai mare de 90%
- activare trimitere mesaje
   Ca idee, se pot primi SMS-uri, dar se trimit din SUA si nu stiu ce costuri sunt pentru mine sau cei ce au serverul, asa ca nu am abuzat de aceasta "facilitate".
   Ca idee, pe un IPhone prezentarea este cu o zecimala, pe cand la Android era cu 2 zecimale.