- Nödvändiga komponenter för Arduino Plant Watering System Project
- Kretsförklaring:
- Arbetsförklaring:
- Programmeringsförklaring:
När vi går ut ur staden några dagar brukade vi alltid oroa oss för våra växter eftersom de behöver vatten regelbundet. Så här gör vi automatiskt anläggningsbevattningssystem med Arduino, som automatiskt ger vatten till dina växter och håller dig uppdaterad genom att skicka meddelande till din mobiltelefon.
I Denna Växt Watering System, fuktighetssensor kontrollerar fukthalten i jorden och om fuktnivån är låg då Arduino växlar På en vattenpump för att tillhandahålla vatten till anläggningen. Vattenpumpen stängs av automatiskt när systemet hittar tillräckligt med fukt i jorden. När systemet slås på eller stängs av pumpen skickas ett meddelande till användaren via GSM-modulen som uppdaterar status för vattenpump och markfuktighet. Detta system är mycket användbart i gårdar, trädgårdar, hem etc. Detta system är helt automatiserat och det finns inget behov av någon mänsklig intervention.
Nödvändiga komponenter för Arduino Plant Watering System Project
- Arduino Uno
- GSM-modul
- Transistor BC547 (2)
- Anslutande ledningar
- 16x2 LCD (tillval)
- Strömförsörjning 12v 1A
- Relä 12v
- Vattenkylarpump
- Jordfuktighetssensor
- Motstånd (1k, 10k)
- Variabel motstånd (10k, 100k)
- Terminalanslutning
- Spänningsregulator IC LM317
GSM-modul:
Här har vi använt TTL SIM800 GSM-modul. SIM800 är en komplett fyrbands GSM / GPRS-modul som enkelt kan inbäddas av kund eller hobbyist. SIM900 GSM-modul erbjuder ett branschstandardgränssnitt; SIM800 levererar GSM / GPRS 850/900/1800 / 1900MHz prestanda för röst, SMS, data med låg strömförbrukning. Designen på denna SIM800 GSM-modul är tunn och kompakt. Den är lätt tillgänglig på marknaden eller online från eBay.
- Fyrbands GSM / GPRS-modul i liten storlek.
- GPRS aktiverat
- TTL-utgång
Läs mer om GSM-modul och AT-kommandon här. Kontrollera också våra olika projekt med GSM och Arduino för att förstå deras gränssnitt korrekt.
Kretsförklaring:
I detta växtbevattningssystem har vi använt en hemlagad jordfuktningssensor för att känna av jordfuktighetsnivån. För att göra sonden har vi klippt och etsat ett kopparklädt bräde enligt bilden nedan. Ena sidan av sonden är direkt ansluten till Vcc och en annan sondterminal går till basen på BC547-transistorn. En potentiometer är ansluten till transistorns bas för att justera sensorns känslighet.
Arduino används för att styra hela processen med detta automatiska anläggningsvattningssystem. Utgången från marksensorkretsen är direkt ansluten till den digitala stiftet D7 i Arduino. En LED används vid sensorkretsen, denna lysdiods PÅ-status indikerar närvaron av fukt i jorden och OFF-tillståndet visar att det inte finns fukt i jorden.
GSM-modulen används för att skicka SMS till användaren. Här har vi använt TTL SIM800 GSM-modul, som ger och tar TTL-logik direkt (användaren kan använda vilken GSM-modul som helst). En LM317 spänningsregulator används för att driva SIM800 GSM-modulen. LM317 är mycket känslig för spänning och det rekommenderas att du läser databladet före användning. Dess driftsspänning är 3,8v till 4,2v (föredra 3,8v för att driva den). Nedan följer kretsschemat över strömförsörjningen till TTL sim800 GSM-modulen:
Om användaren vill använda SIM900 TTL-modulen ska han använda 5V och om användaren vill använda SIM900-modulen applicera sedan 12v i DC-uttaget på kortet.
Ett 12V-relä används för att styra 220VAC liten vattenpump. Reläet drivs av en BC547-transistor som vidare är ansluten till den digitala stift 11 i Arduino.
En valfri LCD-skärm används också för att visa status och meddelanden. Kontrollstift på LCD, RS och EN är anslutna till stift 14 och 15 i Arduino och datapinnar på LCD D4-D7 är direkt anslutna vid stift 16, 17, 18 och 19 i Arduino. LCD används i 4-bitars läge och drivs av Arduinos inbyggda LCD-bibliotek.
Nedan följer kretsschemat för detta bevattningssystem med arduino och jordfuktighetssensor:
Arbetsförklaring:
Att arbeta med detta automatiska anläggningsbevattningssystem är ganska enkelt. Först och främst är det ett helt automatiserat system och det finns inget behov av arbetskraft för att styra systemet. Arduino används för att styra hela processen och GSM-modulen används för att skicka varningsmeddelanden till användaren på sin mobiltelefon.
Om det finns fukt i marken finns ledning mellan de två sonderna för jordfuktighetssensorn och på grund av denna ledning förblir transistorn Q2 i utlöst / på-tillstånd och Arduino Pin D7 förblir låg. När Arduino läser LÅG signal vid D7 skickar den SMS till användaren om ”Jordfuktighet är normal. Motorn avstängd ”och vattenpumpen förblir i läget Av.
Om det inte finns någon fukt i jorden blir Transistor Q2 av och stift D7 blir hög. Sedan läser Arduino stift D7 och slår på vattenmotorn och skickar också ett meddelande till användaren om “Låg jordfuktighet upptäckt. Motorn PÅ ”. Motorn stängs automatiskt av när det finns tillräckligt med fukt i jorden. Kontrollera vidare demonstrationsvideo och kod (ges i slutet) för bättre förståelse för projektets arbetsprocess.
Programmeringsförklaring:
Koden för detta program är lätt att förstå. Först och främst har vi inkluderat SoftwareSerial- biblioteket för att göra stift 2 och 3 som Rx & Tx och även LiquidCrystal för LCD. Sedan definierade vi några variabler för motor, markfuktighetssensor, LED etc.
#omfatta
I tomrumsinställning () -funktionen initialiseras seriell kommunikation med 9600 bps och riktningar ges till de olika stiften. gsmInit- funktionen kallas för att initiera GSM-modulen.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (motor, OUTPUT); pinMode (sensor, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); fördröjning (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("Välkomnar dig"); fördröjning (2000); gsmInit ();
Därefter avläses sensorn i void loop () -funktionen och motorn slås på eller av enligt sensorstatusen och ett SMS skickas också till användaren med hjälp av sendSMS- funktionen. Kontrollera de olika funktionerna i fullständig kod som ges i slutet.
ogiltig slinga () {lcd.setCursor (0,0); lcd.print ("Automatic Mode"); om (digitalRead (sensor) == 1 && flagga == 0) {fördröjning (1000); if (digitalRead (sensor) == 1) {digitalWrite (led, HIGH); sendSMS ("Låg jordfuktighet upptäckt. Motor påslagen"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Här är gsmInit () -funktionen viktig och användare har oftast svårt att ställa in om de är korrekta. Den används för att initiera GSM-modulen, där GSM-modulen först kontrolleras om den är ansluten eller inte genom att skicka "AT" -kommandot till GSM-modulen. Om svaret OK tas emot betyder det att det är klart. Systemet fortsätter att kontrollera modulen tills den blir klar eller tills "OK" tas emot. Därefter stängs ECHO av genom att skicka ATE0-kommandot, annars kommer GSM-modulen att echo alla kommandon. Slutligen kontrolleras nätverks tillgänglighet genom "AT + CPIN?" kommandot, om det isatta kortet är SIM-kort och PIN finns, ger det svaret KLAR. Detta kontrolleras också upprepade gånger tills nätverket hittas. Detta kan tydligt förstås av videon nedan.
ogiltigt gsmInit () {lcd.clear (); lcd.print ("Hitta modul.."); booleska at_flag = 1; medan (at_flag) {Serial1.println ("AT"); medan (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } fördröjning (1000); }……………….
Så med det här automatiska bevattningssystemet behöver du inte oroa dig för dina växter när du inte är hemma. Det kan förbättras ytterligare för att manövreras och övervakas via internet.