- Vaaditut komponentit Arduinon kasvien kastelujärjestelmäprojektiin
- Piirin selitys:
- Työselitys:
- Ohjelmoinnin selitys:
Aina kun lähdemme kaupungista muutamaksi päiväksi, olemme aina huolissamme kasveistamme, koska ne tarvitsevat vettä säännöllisesti. Joten täällä teemme automaattisen kasvien kastelujärjestelmän Arduinolla, joka toimittaa automaattisesti vettä kasveillesi ja pitää sinut ajan tasalla lähettämällä viestin matkapuhelimeesi.
Vuonna Tämä Plant kastelujärjestelmä, Soil kosteusanturin tarkistaa kosteuden maaperään ja jos kosteuspitoisuus on alhainen, Arduino kytkee On vesipumppu tarjota vettä kasvi. Vesipumppu sammuu automaattisesti, kun järjestelmä löytää tarpeeksi kosteutta maaperästä. Aina kun järjestelmä kytkee pumpun päälle tai pois päältä, käyttäjälle lähetetään GSM-moduulin kautta viesti, joka päivittää vesipumpun tilan ja maaperän kosteuden. Tämä järjestelmä on erittäin hyödyllinen maatiloilla, puutarhoissa, kotona jne. Tämä järjestelmä on täysin automatisoitu eikä tarvitse mitään ihmisen toimia.
Vaaditut komponentit Arduinon kasvien kastelujärjestelmäprojektiin
- Arduino Uno
- GSM-moduuli
- Transistori BC547 (2)
- Johtojen liittäminen
- 16x2 LCD (valinnainen)
- Virtalähde 12v 1A
- Rele 12v
- Vesijäähdytinpumppu
- Maaperän kosteusanturi
- Vastukset (1k, 10k)
- Muuttuva vastarinta (10k, 100k)
- Liitin
- Jännitesäädin IC LM317
GSM-moduuli:
Tässä olemme käyttäneet TTL SIM800 GSM-moduulia. SIM800 on täydellinen nelikaistainen GSM / GPRS-moduuli, jonka asiakas tai harrastaja voi helposti upottaa. SIM900 GSM-moduuli tarjoaa alan standardiliitännän; SIM800 tarjoaa GSM / GPRS 850/900/1800 / 1900MHz: n suorituskyvyn puhetta, tekstiviestejä ja dataa pienellä virrankulutuksella. Tämän SIM800 GSM-moduulin rakenne on ohut ja kompakti. Se on helposti saatavilla markkinoilla tai verkossa eBayssa.
- Nelitaajuinen GSM / GPRS-moduuli pienessä koossa.
- GPRS käytössä
- TTL-lähtö
Lisätietoja GSM-moduulista ja AT-komennoista on täällä. Tarkista myös GSM- ja Arduino-sovelluksia käyttävät projektimme ymmärtämään oikein niiden rajapinnat.
Piirin selitys:
Tässä kasvien kastelujärjestelmässä olemme käyttäneet kotitekoista maaperän kosteusanturia anturin tunnistamiseen maaperän kosteustasosta. Koettimen valmistamiseksi olemme leikkaaneet ja syövyttäneet kuparipäällysteisen levyn alla olevan kuvan mukaisesti. Anturin toinen puoli on kytketty suoraan Vcc: hen ja toinen anturiliitin menee BC547-transistorin kantaan. Transistorin pohjaan on kytketty potentiometri anturin herkkyyden säätämiseksi.
Arduinoa käytetään tämän automaattisen kasvien kastelujärjestelmän koko prosessin hallintaan. Maantunnistinpiirin lähtö on kytketty suoraan Arduinon digitaaliseen tapiin D7. Anturipiirissä käytetään LED-merkkivaloa. Tämän LED-valon PÄÄLLE-tila osoittaa kosteuden esiintymisen maaperässä ja POIS-tila osoittaa kosteuden puuttumisen maaperässä.
GSM-moduulia käytetään tekstiviestien lähettämiseen käyttäjälle. Tässä olemme käyttäneet TTL SIM800 GSM-moduulia, joka antaa ja ottaa TTL-logiikan suoraan (käyttäjä voi käyttää mitä tahansa GSM-moduulia). LM317 Jännitteen säädin käytetään virtaa SIM800 GSM-moduuli. LM317 on erittäin herkkä jänniteluokitukselle, ja on suositeltavaa lukea sen esite ennen käyttöä. Sen käyttöjännite on 3,8–4,2 (mieluiten 3,8 voltin käyttämiseksi). Alla on piirikaavio virtalähteestä, joka on annettu TTL sim800 GSM -moduulille:
Jos käyttäjä haluaa käyttää SIM900 TTL -moduulia, hänen on käytettävä 5 V: tä ja jos käyttäjä haluaa käyttää SIM900-moduulia, käytä 12 V: n piirilevyn DC Jack -paikkaan.
12V Relay käytetään ohjaamaan 220VAC pieni vesipumppu. Releä ohjaa BC547-transistori, joka on edelleen kytketty Arduinon digitaaliseen nastaan 11.
Valinnaista nestekidenäyttöä käytetään myös tilan ja viestien näyttämiseen. LCD: n, RS: n ja EN: n ohjaintapit on kytketty Arduinon nastoihin 14 ja 15 ja LCD D4-D7: n datanastat on kytketty suoraan Arduinon nastoihin 16, 17, 18 ja 19. LCD-näyttöä käytetään 4-bittisessä tilassa, ja sitä ohjaa Arduinon sisäänrakennettu LCD-kirjasto.
Alla on tämän arduino- ja maaperän kosteusanturilla varustetun kastelujärjestelmän piirikaavio:
Työselitys:
Tämän automaattisen laitoksen kastelujärjestelmän käyttö on melko yksinkertaista. Ensinnäkin, se on täysin automatisoitu järjestelmä, eikä järjestelmän hallintaan tarvita työvoimaa. Arduinoa käytetään koko prosessin hallintaan ja GSM-moduulia käytetään hälytysviestien lähettämiseen käyttäjälle matkapuhelimellaan.
Jos maaperässä on kosteutta, maaperän kosteusanturin kahden anturin välillä on johtavuus ja tämän johtumisen vuoksi transistori Q2 pysyy laukaistuna / päällä-tilassa ja Arduino-nasta D7 pysyy alhaisena. Kun Arduino lukee LOW-signaalin D7: ssä, se lähettää tekstiviestin käyttäjälle aiheesta "Maaperän kosteus on normaalia. Moottori sammutettu ”ja vesipumppu pysyy Pois-tilassa.
Jos maaperässä ei ole kosteutta, transistori Q2 sammuu ja nasta D7 nousee korkeaksi. Sitten Arduino lukee nastan D7 ja kytkee vesimoottorin päälle ja lähettää käyttäjälle myös viestin ”Matalan kosteuden havaittu. Moottori kytketty päälle. Moottori sammuu automaattisesti, kun maaperässä on riittävästi kosteutta. Tarkista vielä esittelyvideo ja koodi (lopussa), jotta ymmärrät paremmin projektin työprosessia.
Ohjelmoinnin selitys:
Tämän ohjelman koodi on helposti ymmärrettävä. Ensinnäkin olemme sisällyttäneet SoftwareSerial- kirjaston tekemään nastat 2 ja 3 Rx & Tx: ksi ja myös LiquidCrystal LCD: lle. Sitten määriteltiin muuttujia moottorille, maaperän kosteusanturille, LEDille jne.
#sisältää
Sitten void setup () -toiminnossa sarjaliikenne aloitetaan 9600 bps: llä ja ohjeet annetaan eri nastoille. gsmInit- toiminto vaaditaan GSM-moduulin alustamiseksi.
Serial1.begin (9600); Sarjan alku (9600); pinMode (led, OUTPUT); pinMode (moottori, OUTPUT); pinMode (anturi, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); viive (2000); lcd.clear (); lcd.print ("Piirin yhteenveto"); lcd.setCursor (0,1); lcd.print ("toivottaa sinut tervetulleeksi"); viive (2000); gsmInit ();
Sitten anturi luetaan void loop () -toiminnossa ja moottori kytketään päälle tai pois päältä anturin tilan mukaan ja käyttäjälle lähetetään myös tekstiviesti sendSMS- toiminnon avulla. Tarkista kaikki toiminnot lopussa annetulla koodilla.
void loop () {lcd.setCursor (0,0); lcd.print ("Automaattinen tila"); if (digitalRead (anturi) == 1 && flag == 0) {viive (1000); if (digitalRead (anturi) == 1) {digitalWrite (led, HIGH); sendSMS ("Matala maaperän kosteus havaittu. Moottori kytketty päälle"); lcd-alku (16,2); lcd.setCursor (0,1);…………………
Täällä gsmInit () -toiminto on tärkeä, ja käyttäjien on useimmiten vaikea asettaa, jos oikein. Sitä käytetään GSM-moduulin alustamiseen, jossa ensin tarkistetaan, onko GSM-moduuli kytketty, lähettämällä AT-komento GSM-moduulille. Jos vastaus on OK, se tarkoittaa, että se on valmis. Järjestelmä jatkaa moduulin tarkistamista, kunnes se on valmis tai kunnes OK tulee. Sitten ECHO kytketään pois päältä lähettämällä ATE0-komento, muuten GSM-moduuli toistaa kaikki komennot. Sitten lopuksi verkon saatavuus tarkistetaan 'AT + CPIN?' komento, jos asetettu kortti on SIM-kortti ja PIN-koodi on olemassa, se antaa vastauksen VALMIS. Tämä tarkistetaan myös toistuvasti, kunnes verkko löytyy. Tämä voidaan ymmärtää selvästi alla olevasta videosta.
void gsmInit () {lcd.clear (); lcd.print ("Etsii moduuli.."); totuusarvo atlippu = 1; while (at_flag) {Sarja1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_lippu = 0; } viive (1000); }……………….
Joten tämän automaattisen kastelujärjestelmän avulla sinun ei tarvitse huolehtia kasveistasi, kun olet poissa kotoa. Sitä voidaan edelleen parantaa toimimalla ja valvomalla Internetissä.