- Nødvendige komponenter for Arduino Plant Watering System Project
- Kretsforklaring:
- Arbeidsforklaring:
- Programmeringsforklaring:
Hver gang vi drar ut av byen i noen dager, pleide vi alltid å bekymre oss for plantene våre, da de trenger vann med jevne mellomrom. Så her lager vi Automatic Plant Irrigation System ved hjelp av Arduino, som automatisk gir vann til plantene dine og holder deg oppdatert ved å sende melding til mobiltelefonen din.
I denne Plant vanning, jordfuktighet sensor kontrollerer fuktighetsnivået i jordsmonnet, og hvis fuktighetsinnholdet er lavt da Arduino brytere på en vannpumpe for å levere vann til anlegget. Vannpumpen slår seg automatisk av når systemet finner nok fuktighet i jorden. Hver gang systemet slås på eller av pumpen, sendes en melding til brukeren via GSM-modul, som oppdaterer status for vannpumpe og jordfuktighet. Dette systemet er veldig nyttig i gårder, hager, hjemme osv. Dette systemet er helt automatisert og det er ikke behov for menneskelig inngripen.
Nødvendige komponenter for Arduino Plant Watering System Project
- Arduino Uno
- GSM-modul
- Transistor BC547 (2)
- Koble ledninger
- 16x2 LCD (valgfritt)
- Strømforsyning 12v 1A
- Relé 12v
- Vannkjølerpumpe
- Jordfuktighetssensor
- Motstander (1k, 10k)
- Variabel motstand (10k, 100k)
- Terminalkontakt
- Spenningsregulator IC LM317
GSM-modul:
Her har vi brukt TTL SIM800 GSM-modul. SIM800 er en komplett Quad-band GSM / GPRS-modul som enkelt kan bygges inn av kunde eller hobbyist. SIM900 GSM-modul gir et industristandard grensesnitt; SIM800 leverer GSM / GPRS 850/900/1800 / 1900MHz ytelse for tale, SMS, data med lavt strømforbruk. Designet til denne SIM800 GSM-modulen er slank og kompakt. Den er lett tilgjengelig i markedet eller online fra eBay.
- Firebånds GSM / GPRS-modul i liten størrelse.
- GPRS aktivert
- TTL-utgang
Lær mer om GSM-modul og AT-kommandoer her. Sjekk også våre forskjellige prosjekter ved hjelp av GSM og Arduino for å forstå grensesnittet deres riktig.
Kretsforklaring:
I dette anlegget for vanning av planter har vi brukt en hjemmelaget jordfuktighetssensor for å føle jordfuktighetsnivået. For å lage sonde har vi kuttet og etset et kobberkledd brett i henhold til bildet vist nedenfor. Den ene siden av sonden er direkte koblet til Vcc, og den andre sondeterminalen går til basen til BC547-transistoren. Et potensiometer er koblet til bunnen av transistoren for å justere følsomheten til sensoren.
Arduino brukes til å kontrollere hele prosessen med dette automatiske vanningsanlegget. Utgangen fra jordføler krets er direkte koblet til digital pin D7 av Arduino. En LED brukes i sensorkretsen, denne LED-lampen PÅ indikerer tilstedeværelsen av fuktighet i jorden og AV-tilstanden indikerer fravær av fuktighet i jorden.
GSM-modul brukes til å sende SMS til brukeren. Her har vi brukt TTL SIM800 GSM-modul, som gir og tar TTL-logikk direkte (bruker kan bruke hvilken som helst GSM-modul). En LM317 spenningsregulator brukes til å drive SIM800 GSM-modulen. LM317 er veldig følsom for spenningsvurdering, og det anbefales å lese databladet før bruk. Driftsspenningen er 3,8 v til 4,2 v (vennligst foretrekk 3,8 v for å betjene den). Nedenfor er kretsskjemaet for strømforsyning gitt til TTL sim800 GSM-modulen:
Hvis brukeren ønsker å bruke SIM900 TTL-modul, bør han bruke 5V, og hvis brukeren vil bruke SIM900-modul, må du bruke 12v i DC-kontakten på kortet.
Et 12V relé brukes til å kontrollere 220VAC liten vannpumpe. Reléet drives av en BC547-transistor som videre er koblet til den digitale pin 11 i Arduino.
En valgfri LCD brukes også til å vise status og meldinger. Kontrollpinner på LCD, RS og EN er koblet til pinne 14 og 15 i Arduino, og datapinnene på LCD D4-D7 er direkte koblet til pinne 16, 17, 18 og 19 i Arduino. LCD brukes i 4-biters modus og drives av Arduinos innebygde LCD-bibliotek.
Nedenfor er kretsskjemaet for dette vanningsanlegget med arduino og jordfuktighetssensor:
Arbeidsforklaring:
Arbeidet med dette automatiske vanningsanlegget for planter er ganske enkelt. Først og fremst er det et fullstendig automatisert system, og det er ikke behov for arbeidskraft for å kontrollere systemet. Arduino brukes til å kontrollere hele prosessen, og GSM-modulen brukes til å sende varselmeldinger til brukeren på mobiltelefonen.
Hvis det er fuktighet i jord, er det ledning mellom de to sonder av jordfuktighetssensoren, og på grunn av denne ledningen forblir transistoren Q2 i utløst / på-tilstand, og Arduino Pin D7 forblir lav. Når Arduino leser LAVT signal på D7, sender den SMS til brukeren om “Soil Moisture is Normal. Motor slått AV ”og vannpumpen forblir i Av-tilstand.
Nå hvis det ikke er fuktighet i jord, blir Transistor Q2 Av og Pin D7 blir høy. Deretter leser Arduino Pin D7 og slår på vannmotoren og sender også en melding til brukeren om “Lav jordfuktighet oppdaget. Motoren slått PÅ ”. Motoren vil automatisk slå seg av når det er tilstrekkelig fuktighet i jorden. Se videre på demonstrasjonsvideo og kode (gitt på slutten) for bedre forståelse av prosjektets arbeidsprosess.
Programmeringsforklaring:
Kode for dette programmet er lett forståelig. Først og fremst har vi inkludert SoftwareSerial- biblioteket for å lage pin 2 og 3 som Rx & Tx, og også inkludert LiquidCrystal for LCD. Så definerte vi noen variabler for motor, jordfuktighetssensor, LED osv.
#inkludere
I funksjonen tomromoppsett () initialiseres seriekommunikasjon med 9600 bps, og instruksjonene blir gitt til de forskjellige pins. gsmInit- funksjonen kalles for å initialisere GSM-modulen.
Serial1.begin (9600); Serial.begin (9600); pinMode (ledet, UTGANG); 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 ("ønsker deg velkommen"); forsinkelse (2000); gsmInit ();
Deretter leses sensoren i void loop () -funksjonen, og motoren slås på eller av i henhold til sensorstatusen, og en SMS sendes også til brukeren ved hjelp av sendSMS- funksjonen. Sjekk de forskjellige funksjonene i full kode gitt på slutten.
ugyldig sløyfe () {lcd.setCursor (0,0); lcd.print ("Automatisk modus"); hvis (digitalRead (sensor) == 1 && flagg == 0) {forsinkelse (1000); hvis (digitalRead (sensor) == 1) {digitalWrite (led, HIGH); sendSMS ("Lav jordfuktighet oppdaget. Motor slått PÅ"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Her er gsmInit () -funksjonen viktig, og brukere synes det er vanskelig å stille inn hvis de er riktig. Den brukes til å initialisere GSM-modulen, der GSM-modulen først blir sjekket om den er koblet til eller ikke ved å sende AT-kommandoen til GSM-modulen. Hvis svaret OK mottas, betyr det at det er klart. Systemet fortsetter å se etter modulen til den blir klar eller til 'OK' mottas. Deretter blir ECHO slått av ved å sende ATE0-kommandoen, ellers vil GSM-modulen ekko alle kommandoene. Så endelig blir nettverkstilgjengeligheten kontrollert gjennom 'AT + CPIN?' kommandoen, hvis det innsatte kortet er SIM-kort og PIN er tilstede, gir det svaret KLAR. Dette sjekkes også gjentatte ganger til nettverket er funnet. Dette kan forstås tydelig av videoen nedenfor.
ugyldig gsmInit () {lcd.clear (); lcd.print ("Finne modul.."); boolsk at_flag = 1; while (at_flag) {Serial1.println ("AT"); mens (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } forsinkelse (1000); }……………….
Så med dette automatiske vanningssystemet trenger du ikke å bekymre deg for plantene dine når du er borte fra hjemmet ditt. Det kan forbedres ytterligere for å kunne betjenes og overvåkes over internett.