This is an old revision of the document!


ThermoGuard

Introducere

ThermoGuard este un termostat avansat bazat pe doua placi de dezvoltare ATmega328P care permite monitorizarea si controlul temperaturii in timp real, oferind o interfata vizuala printr-un display TFT dedicat.

Sistemul este compus din doua module distincte care comunica wireless prin protocol NRF24L01 la 2.4GHz:

  • Modulul Termostat (ATmega328P standalone) - masoara temperatura camerei,afiseaza datele pe display si permite utilizatorului sa configureze intervale orare cu temperaturi diferite (ex: zi/noapte)
  • Modulul de Incalzire (Arduino UNO) - receptioneaza comenzile wireless si controleaza elementul de incalzire prin MOSFET cu PWM

Utilizatorul interactioneaza cu sistemul printr-un encoder rotativ KY-040 (rotire infinita + apasare) pentru navigare meniu si setare temperatura. Datele afisate pe ecran includ temperatura curenta, setpoint-ul activ si modul de functionare (AUTO/MANUAL).

Sistemul implementeaza histerezis pentru stabilitate si este alimentat dintr-o baterie Li-Po 1000mAh cu incarcare USB Type-C, fiind portabil si independent de reteaua electrica.

Ideea a pornit de la termostatelele comerciale de camera (ex: Honeywell, Salus) care actioneaza centrala termica prin contact uscat - ThermoGuard reproduce aceasta functionalitate intr-un sistem embedded realizat de la zero.

Proiectul este util deoarece demonstreaza integrarea mai multor periferice embedded (SPI, ADC, Timer, PWM, comunicatie wireless) intr-un sistem real cu aplicabilitate practica.

Laboratoare folosite: GPIO, ADC, Timer, SPI, I2C, UART.

Diagrama bloc ThermoGuard

Descriere generala

Sistemul ThermoGuard este structurat in doua noduri hardware care comunica wireless prin NRF24L01 la 2.4GHz.

Nod 1 - Modulul Termostat (ATmega328P standalone)

  • citeste temperatura si umiditatea prin senzorul DHT11
  • afiseaza informatii pe display TFT 2.8 inch SPI (temperatura curenta,

setpoint, mod activ, ora)

  • receptioneaza input de la encoder rotativ KY-040 (rotire + apasare)
  • transmite comenzi wireless prin NRF24L01
  • alimentat din baterie Li-Po 1000mAh + TP4056 BMS + XL6009 boost 5V

Nod 2 - Modulul de Incalzire (Arduino UNO)

  • receptioneaza comenzi wireless prin NRF24L01
  • controleaza elementul de incalzire (cartus 12V 40W) prin MOSFET

IRF520 cu semnal PWM

  • feedback vizual prin LED de status
  • alimentat din sursa externa 12V 2A

Flux de functionare:

  1. DHT11 masoara temperatura camerei
  2. ATmega328P compara temperatura curenta cu setpoint-ul configurat
  3. daca temperatura < setpoint → trimite comanda PORNIT prin NRF24L01
  4. Arduino UNO receptioneaza comanda → activeaza MOSFET → cartus

incalzire porneste

  1. daca temperatura >= setpoint + histerezis → comanda OPRIT

Moduri de functionare:

  • AUTO - sistemul comuta automat incalzirea dupa intervalele orare

configurate (ex: zi 22 grade C, noapte 18 grade C)

  • MANUAL - utilizatorul seteaza temperatura dorita direct prin

encoder

Hardware Design

Componenta Link Descriere
ATmega328P standalone din kit Microchip Microcontroller principal - Modul Termostat
Arduino UNO R3 din kit Microcontroller - Modul Incalzire
DHT11 din kit Senzor temperatura si umiditate
Display TFT SPI 2.8 inch 240×320 ST7789V eMAG Afisaj interfata utilizator
Encoder rotativ KY-040 eMAG Input utilizator (rotire infinita + apasare)
Modul NRF24L01 2.4GHz eMAG Comunicatie wireless intre noduri (x2)
Modul MOSFET IRF520 eMAG Control element incalzire prin PWM
Cartus incalzire 12V 40W eMAG Element de incalzire
Modul TP4056 BMS USB Type-C eMAG Incarcare si protectie baterie Li-Po
Modul DC-DC Boost XL6009 eMAG Ridicare tensiune 3.7V la 5V
Acumulator Li-Po 1000mAh 3.7V JST eMAG Alimentare Modul Termostat
Sursa alimentare 12V 2A eMAG Alimentare Modul Incalzire
Mufa alimentare DC 5.5mm x 2.1mm eMAG Conector sursa 12V
Breadboard + fire din kit Montaj prototip
Rezistori, LED-uri din kit Componente pasive

Pinul NRF24L01 VCC se alimenteaza la 3.3V (nu 5V). Semnalele SPI sunt tolerante la 5V, deci se conecteaza direct la ATmega328P fara level shifter. GND-ul trebuie sa fie comun intre toate modulele.

Software Design

In curs de implementare

Rezultate Obtinute

In curs de implementare.

Concluzii

Download

Jurnal

  • 20.04.2026 - alegerea temei si a componentelor
  • 30.04.2026 - finalizarea listei de componente si titlului
  • 09.05.2026 - realizarea diagramei bloc si documentatiei initiale OCW

Bibliografie/Resurse

pm/prj2026/atoader/mihnea_ioan.cernea.1778333089.txt.gz · Last modified: 2026/05/09 16:24 by mihnea_ioan.cernea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0