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
Breadboard 830 puncte 1
Fire jumper M-M, M-F (set) 1

Schema electrica

(va fi adaugata la etapa urmatoare)

Software Design

Mediu de dezvoltare

  • IDE: Arduino IDE
  • Toolchain: avr-gcc (inclus in Arduino IDE)
  • Versionare: Git + GitHub

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 (etapa 3)

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)

pm/prj2026/florin.stancu/bogdan.panaitiu.1778256507.txt.gz · Last modified: 2026/05/08 19:08 by bogdan.panaitiu
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