This is an old revision of the document!
PlantPal
Introducere
PlantPal este un sistem inteligent de monitorizare a conditiilor de mediu pentru plante de apartament, construit pe platforma Arduino Uno. Dispozitivul masoara in timp real patru parametri esentiali pentru sanatatea unei plante - temperatura aerului, umiditatea aerului, umiditatea solului si nivelul de lumina ambientala - si ofera feedback multi-canal utilizatorului prin trei modalitati complementare: afisaj LCD, indicator vizual LED RGB si alerta sonora prin buzzer.
Ce face proiectul:
Citeste continuu valorile de la trei senzori care masoara patru parametri (DHT22 pentru temperatura si umiditate aer, senzor capacitiv de sol, fotorezistor LDR)
Compara valorile masurate cu praguri optime configurabile
Afiseaza starea curenta pe un LCD 1602 prin interfata I2C
Semnalizeaza vizual starea plantei printr-un LED RGB (verde = optim, galben = atentie, rosu = critic)
Emite alerte sonore prin buzzer cand unul sau mai multi parametri ies din intervalul optim
Permite configurarea pragurilor si activarea functiei de snooze prin butoane fizice
Memoreaza istoricul ultimelor masuratori intr-un buffer circular si le afiseaza ciclic
Scopul proiectului:
Crearea unui dispozitiv autonom care reduce timpul de reactie al utilizatorului la conditii suboptime de mediu, prevenind astfel deteriorarea plantelor prin alerte proactive multi-canal.
Descriere generala
Sistemul este organizat in jurul microcontrollerului ATmega328P (Arduino Uno) care orchestreaza achizitia datelor de la senzori, evaluarea conditiilor si controlul interfetei de feedback.
Schema bloc
Module hardware
Modul de achizitie senzori: colecteaza date analogice (LDR, sol) prin ADC si date digitale (DHT22) printr-un protocol propriu peste GPIO
Modul de afisare: LCD 1602 conectat prin I2C pentru afisarea valorilor curente, alertelor si istoricului
Modul de feedback vizual/sonor: LED RGB controlat prin PWM (3 canale) si buzzer pasiv pentru semnalizare gradata
Modul de input utilizator: 2 butoane cu pull-up pentru configurarea pragurilor si snooze alerta, conectate pe pini cu intreruperi externe
Hardware Design
Lista de componente
| Componenta | Cantitate |
| Arduino Uno R3 (ATmega328P) | 1 |
| Senzor DHT22 (temp + umid aer) | 1 |
| Senzor capacitiv umiditate sol | 1 |
| Fotorezistor LDR 5528 | 1 |
| LCD 1602 cu interfata I2C | 1 |
| LED RGB catod comun | 1 |
| Buzzer pasiv | 1 |
| Buton push-button | 2 |
| Rezistenta 220 ohm | 3 |
| Rezistenta 10k ohm | 2 |
| Rezistenta 1k ohm | 1 |
Schema electrica
(va fi adaugata la etapa urmatoare)
Software Design
Mediu de dezvoltare
Biblioteci si surse third-party
Wire.h - comunicatie I2C cu LCD-ul
LiquidCrystal_I2C.h - control LCD 1602 prin I2C (initial; ulterior planificam o implementare bare-metal pentru punctaj suplimentar)
Restul codului (citire DHT22, ADC, control LED RGB, buzzer, butoane, state machine) va fi scris de la zero, cu acces direct la registre acolo unde e relevant.
Surse si functii
Vor fi documentate in etapa de implementare.
Rezultate Obtinute
(Se vor adauga la finalul implementarii)
Concluzii
(Se vor adauga dupa finalizarea proiectului)
Bibliografie / Resurse
(Se vor adauga dupa finalizarea proiectului)
Repository GitHub: (va fi adaugat link)
Demo video: (va fi adaugat link YouTube la finalul proiectului)