Proiectul este un sistem de irigare automat care monitorizează umiditatea solului și controlează o pompă de apă pentru a iriga plantele atunci când este necesar.
Utilizatorul plasează senzorul de umiditate în solul plantei. Dacă nivelul de umiditate scade sub un prag prestabilit, Arduino activează automat pompa de apă pentru a iriga planta. Utilizatorul poate interveni manual apăsând un buton fizic care declanșează irigarea independent de senzor. Această acțiune este tratată prin întrerupere. Sistemul afișează în timp real pe LCD valorile de umiditate și starea pompei. Un senzor de distanță verifică nivelul apei din recipientul pompei, iar în cazul în care nu mai există apă, irigarea este blocată pentru siguranță. Comunicarea între componente se face prin protocoale I2C, ADC și semnale digitale.
Bill of Materials
Componentă | Cantitate | Link/Specificații |
---|---|---|
Arduino UNO R3 | 1 | datasheet |
Senzor umiditate sol | 1 | link_piesa |
Modul releu 5V | 1 | link_piesa |
Pompă de apă | 1 | link_piesa |
LCD 16×2 I2C | 1 | - |
Buton | 1 | - |
Breadboard | 1 | - |
Tub Teflon | 1 | link_piesa |
Cabluri M-M | 1 | - |
HC-SR04 (ultrasonic) | 1 | datasheet |
Schema Electrica
Descriere Detaliata
Componentă | Pin Arduino | Funcție |
---|---|---|
Senzor umiditate | A0 | Citire analogică (ADC) |
Releu pompă | D8 | Control digital |
Buton | D2 | Activare manuală (Intreruperi) |
LCD I2C | A4 (SDA), A5 (SCL) | Afișaj |
HC-SR04 | D8 (Trig), D9 (Echo) | Măsurare nivel apă - Control digital |
Descrierea codului aplicației (firmware):
Mediu de dezvoltare: Arduino IDE (versiunea 1.8.x/2.x), compilator AVR-GCC
Librării utilizate:
Algoritmi și structuri:
Funcții implementate:
Sistemul propus și-a atins obiectivele: este funcțional, fiabil și ușor de folosit. Interfața LCD ajută utilizatorul să îndeleagă starea sistemului. Modul automat și cel manual oferă flexibilitate, iar verificarea rezervorului asigură protecția pompei. Poate fi extins ușor cu conectivitate wireless sau control prin aplicație mobilă.
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.
Resurse Hardware
Arduino IDE