This is an old revision of the document!
Sistemul inteligent de udat plante are rolul de a monitoriza automat umiditatea solului și de a porni o pompă de apă atunci când nivelul de umiditate scade sub o valoare critică. Pe lângă udarea automată, sistemul oferă feedback vizual prin intermediul unui afișaj, care arată umiditatea curentă și ora ultimei udări.
Scopul proiectului este de a preveni uscarea plantelor în absența utilizatorului, oferind o soluție eficientă și accesibilă pentru grădinari amatori sau persoane ocupate. Acesta poate fi utilizat atât pentru ghivece de interior, cât și în sere, grădini sau alte spații verzi.
Ideea a pornit de la nevoia de a îngriji plantele într-un mod automatizat, asigurând un aport constant de apă, doar atunci când este necesar.
Utilizatorul plasează senzorul de umiditate și furtunul pompei în solul plantei, apoi pornește sistemul. Acesta monitorizează automat nivelul de umiditate și activează pompa de apă doar atunci când este necesar. Utilizatorul poate vizualiza în timp real umiditatea solului și data ultimei udări pe un ecran LCD.
Lista de componente:
Schema electrica:
Mediu de dezvoltare: Am folosit Arduino IDE deoarece este compatibil cu placuta Jade U1+ si ofera debugging prin monitorul serial
Librării şi surse 3rd-party:
-Wire.h – Bibliotecă oficială Arduino pentru comunicație I2C. Este necesară pentru a comunica cu ecranul LCD I2C.
-LiquidCrystal_I2C.h – Bibliotecă care permite afișarea textului pe un ecran LCD I2C (cu 4 pini: SDA, SCL, VCC, GND).
Algoritmi şi structuri implementate:
-Citirea valorii de umiditate din senzorul de sol conectat la pinul analogic A0.
-Conversia valorii analogice (între 300 și 600, în funcție de umiditatea solului) într-un procent între 0% și 100%:
-Decizie automată: dacă umiditatea este prea mică (output_value > 500), pompa pornește (relayPin = LOW) altfel, pompa se oprește (relayPin = HIGH).
-Afișare pe LCD a procentului de umiditate (Moisture%) si a starii pompei (Pump: ON / Pump: OFF)
-Afișare pe Serial Monitor pentru debugging sau testare.
Surse şi funcţii implementate:
setup() – Inițializează comunicarea serială, pinii pentru senzor și releu, ecranul LCD
loop() – Se execută continuu si citește senzorul, afișează valoarea pe LCD și în Serial Monitor, pornește/oprește pompa în funcție de umiditate
citește valorile de la senzori,
activează/dezactivează pompa și buzzerul în funcție de condiții,
actualizează conținutul afișajului OLED.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.