- Nødvendige komponenter til Arduino Plant Watering System Project
- Forklaring af kredsløb:
- Arbejdsforklaring:
- Programmeringsforklaring:
Når vi går ud af byen i nogle dage, plejede vi altid at bekymre os om vores planter, da de har brug for vand regelmæssigt. Så her laver vi automatisk plantevandingssystem ved hjælp af Arduino, som automatisk leverer vand til dine planter og holder dig opdateret ved at sende besked til din mobiltelefon.
I denne Plant vandingssystem, Jordfugtighedssensor kontrollerer fugtniveauet i jorden, og hvis vandindhold er lavt så Arduino skifter På en vandpumpe til at give vand til anlægget. Vandpumpen slukkes automatisk, når systemet finder nok fugt i jorden. Hver gang systemet tændes eller slukkes for pumpen, sendes en meddelelse til brugeren via GSM-modul, der opdaterer status for vandpumpe og jordfugtighed. Dette system er meget nyttigt i gårde, haver, hjem osv. Dette system er fuldstændig automatiseret, og der er ikke behov for nogen menneskelig indgriben.
Nødvendige komponenter til Arduino Plant Watering System Project
- Arduino Uno
- GSM-modul
- Transistor BC547 (2)
- Tilslutning af ledninger
- 16x2 LCD (valgfri)
- Strømforsyning 12v 1A
- Relæ 12v
- Vandkølerpumpe
- Jordfugtighedssensor
- Modstande (1k, 10k)
- Variabel modstand (10k, 100k)
- Terminalstik
- Spændingsregulator IC LM317
GSM-modul:
Her har vi brugt TTL SIM800 GSM-modul. SIM800 er et komplet Quad-band GSM / GPRS-modul, som let kan integreres af kunde eller hobbyist. SIM900 GSM-modul giver en industristandard-interface; SIM800 leverer GSM / GPRS 850/900/1800 / 1900MHz ydeevne til tale, SMS, data med lavt strømforbrug. Designet på dette SIM800 GSM-modul er slankt og kompakt. Det er let tilgængeligt på markedet eller online fra eBay.
- Quad-band GSM / GPRS modul i lille størrelse.
- GPRS aktiveret
- TTL-output
Lær mere om GSM-modul og AT-kommandoer her. Tjek også vores forskellige projekter ved hjælp af GSM og Arduino for korrekt at forstå deres grænseflade.
Forklaring af kredsløb:
I dette plantevandingssystem har vi brugt en hjemmelavet jordfugtighedsføler til at føle jordens fugtighedsniveau. For at lave sonde har vi skåret og ætset et kobberbelagt bord i henhold til billedet vist nedenfor. Den ene side af sonden er direkte forbundet til Vcc, og den anden sondeterminal går til basen af BC547-transistoren. Et potentiometer er tilsluttet bunden af transistoren for at justere følsomheden af sensoren.
Arduino bruges til at kontrollere hele processen med dette automatiske anlæg til vanding af planter. Outputtet fra jordfølerkredsløbet er direkte forbundet til den digitale pin D7 i Arduino. Der anvendes en LED i sensorkredsløbet, denne LED's TIL-tilstand indikerer tilstedeværelsen af fugt i jorden og OFF-tilstand indikerer fraværet af fugt i jorden.
GSM-modul bruges til at sende SMS til brugeren. Her har vi brugt TTL SIM800 GSM-modul, som giver og tager TTL-logik direkte (bruger kan bruge ethvert GSM-modul). En LM317 spændingsregulator bruges til at drive SIM800 GSM-modulet. LM317 er meget følsom over for spænding, og det anbefales at læse databladet inden brug. Driftsspændingen er 3,8 v til 4,2 v (foretrækker 3,8 v for at betjene den). Nedenfor er kredsløbsdiagrammet over strømforsyning givet til TTL sim800 GSM-modulet:
Hvis brugeren ønsker at bruge SIM900 TTL-modulet, skal han bruge 5V, og hvis brugeren ønsker at bruge SIM900-modulet, skal du anvende 12v i DC-stikket på kortet.
Et 12V relæ bruges til at styre 220VAC lille vandpumpe. Relæet drives af en BC547-transistor, som yderligere er forbundet til den digitale pin 11 i Arduino.
En valgfri LCD bruges også til visning af status og meddelelser. Kontrolstifter på LCD, RS og EN er tilsluttet pin 14 og 15 i Arduino, og datapinde på LCD D4-D7 er direkte forbundet ved pin 16, 17, 18 og 19 i Arduino. LCD bruges i 4-bit-tilstand og drives af Arduinos indbyggede LCD-bibliotek.
Nedenfor er kredsløbsdiagrammet for dette vandingssystem med arduino og jordfugtighedssensor:
Arbejdsforklaring:
Arbejdet med dette automatiske plantevandingssystem er ret simpelt. Først og fremmest er det et komplet automatiseret system, og der er ikke behov for arbejdskraft til at kontrollere systemet. Arduino bruges til at kontrollere hele processen, og GSM-modulet bruges til at sende advarselsmeddelelser til brugeren på hans mobiltelefon.
Hvis der er fugt i jorden, er der ledning mellem de to prober af jordfugtighedsføler, og på grund af denne ledning forbliver transistor Q2 i udløst / tændt tilstand, og Arduino Pin D7 forbliver lav. Når Arduino læser LAVT signal ved D7, sender den SMS til brugeren om ”Jordfugtighed er normal. Motor slukket ”og vandpumpen forbliver i slukket tilstand.
Hvis der nu ikke er fugt i jorden, bliver Transistor Q2 Fra, og pin D7 bliver høj. Derefter læser Arduino pin D7 og tænder vandmotoren og sender også besked til brugeren om “Lav jordfugtighed opdaget. Motoren tændt ”. Motoren slukker automatisk, når der er tilstrækkelig fugt i jorden. Se yderligere demonstrationsvideo og kode (givet i slutningen) for bedre at forstå projektets arbejdsproces.
Programmeringsforklaring:
Kode til dette program er let forståelig. Først og fremmest har vi inkluderet SoftwareSerial- bibliotek til at lave pin 2 og 3 som Rx & Tx og også inkluderet LiquidCrystal til LCD. Derefter definerede vi nogle variabler til motor, jordfugtighedsføler, LED osv.
#omfatte
Derefter initialiseres seriel kommunikation i ugyldig opsætning () -funktion ved 9600 bps, og der gives anvisninger til de forskellige pins. gsmInit- funktionen kaldes til initialisering af GSM-modulet.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (motor, OUTPUT); pinMode (sensor, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); forsinkelse (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("byder dig velkommen"); forsinkelse (2000); gsmInit ();
Derefter læses sensoren i ugyldig sløjfe () -funktion, og motoren tændes eller slukkes i henhold til sensorstatus, og en SMS sendes også til brugeren ved hjælp af sendSMS- funktionen. Kontroller de forskellige funktioner i fuld kode, der er angivet i slutningen.
ugyldig sløjfe () {lcd.setCursor (0,0); lcd.print ("Automatisk tilstand"); hvis (digitalRead (sensor) == 1 && flag == 0) {forsinkelse (1000); hvis (digitalRead (sensor) == 1) {digitalWrite (led, HIGH); sendSMS ("Lav jordfugtighed registreret. Motor tændt"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Her er gsmInit () -funktionen vigtig, og brugerne har det for det meste vanskeligt at indstille, hvis de er korrekt. Det bruges til at initialisere GSM-modulet, hvor først GSM-modulet kontrolleres, om det er tilsluttet eller ikke ved at sende 'AT' -kommandoen til GSM-modulet. Hvis svaret OK modtages, betyder det, at det er klar. Systemet fortsætter med at kontrollere modulet, indtil det bliver klar, eller indtil 'OK' modtages. Derefter slukkes ECHO ved at sende kommandoen ATE0, ellers ekko GSM-modulet alle kommandoerne. Derefter kontrolleres netværkets tilgængelighed gennem 'AT + CPIN?' kommando, hvis indsat kort er SIM-kort og PIN er til stede, giver det svaret KLAR. Dette kontrolleres også gentagne gange, indtil netværket findes. Dette kan tydeligt forstås af videoen nedenfor.
ugyldigt gsmInit () {lcd.clear (); lcd.print ("Finding Module.."); boolsk at_flag = 1; mens (at_flag) {Serial1.println ("AT"); mens (Serial1.tilgængelig ()> 0) {hvis (Serial1.find ("OK")) ved_flag = 0; } forsinkelse (1000); }……………….
Så med dette automatiske vandingssystem behøver du ikke bekymre dig om dine planter, når du er væk fra dit hjem. Det kan forbedres yderligere for at blive betjent og overvåget over internettet.