- Vereiste componenten voor Arduino Plant Watering System Project
- Circuit uitleg:
- Werkende uitleg:
- Programmering Toelichting:
Wanneer we een paar dagen de stad uit gingen, maakten we ons altijd zorgen over onze planten, omdat ze regelmatig water nodig hebben. Dus hier maken we een automatisch plantirrigatiesysteem met Arduino, dat automatisch water aan je planten levert en je op de hoogte houdt door een bericht naar je mobiele telefoon te sturen.
In This Plant bevloeiing, Bodemvochtigheidssensor controles het vochtgehalte in de bodem en als vochtgehalte laag is dan Arduino schakelt Op een waterpomp om water naar de plant. De waterpomp wordt automatisch uitgeschakeld wanneer het systeem voldoende vocht in de grond vindt. Telkens wanneer het systeem de pomp in- of uitschakelt, wordt er een bericht naar de gebruiker gestuurd via een GSM-module, waarin de status van de waterpomp en het bodemvocht wordt bijgewerkt. Dit systeem is erg handig in boerderijen, tuinen, huizen etc. Dit systeem is volledig geautomatiseerd en er is geen menselijke tussenkomst nodig.
Vereiste componenten voor Arduino Plant Watering System Project
- Arduino Uno
- GSM-module
- Transistor BC547 (2)
- Draden aansluiten
- 16x2 LCD (optioneel)
- Voeding 12v 1A
- Relais 12v
- Waterkoeler pomp
- Bodemvochtigheidssensor
- Weerstanden (1k, 10k)
- Variabele weerstand (10k, 100k)
- Terminal connector
- Spanningsregelaar IC LM317
GSM-module:
Hier hebben we de TTL SIM800 GSM-module gebruikt. De SIM800 is een complete quad-band GSM / GPRS-module die eenvoudig door de klant of hobbyist kan worden ingebouwd. SIM900 GSM-module biedt een interface volgens industriestandaard; de SIM800 levert GSM / GPRS 850/900/1800/1900 MHz-prestaties voor spraak, sms, data met een laag stroomverbruik. Het ontwerp van deze SIM800 GSM-module is slank en compact. Het is gemakkelijk verkrijgbaar op de markt of online op eBay.
- Kleine quad-band GSM / GPRS-module.
- GPRS ingeschakeld
- TTL-uitgang
Lees hier meer over de GSM-module en AT-opdrachten. Bekijk ook onze verschillende projecten met GSM en Arduino voor een goed begrip van hun interfacing.
Circuit uitleg:
In dit plantirrigatiesysteem hebben we een zelfgemaakte bodemvochtsensorsonde gebruikt om het bodemvochtgehalte te meten. Om een sonde te maken, hebben we een met koper beklede plaat gesneden en geëtst volgens de onderstaande afbeelding. De ene kant van de sonde is rechtstreeks verbonden met Vcc en de andere sonde-aansluiting gaat naar de basis van de BC547-transistor. Een potentiometer is verbonden met de basis van de transistor om de gevoeligheid van de sensor aan te passen.
Arduino wordt gebruikt om het hele proces van dit automatische plantbewateringssysteem te regelen. De uitgang van het bodemsensorcircuit is rechtstreeks verbonden met digitale pin D7 van Arduino. Bij het sensorcircuit wordt een LED gebruikt, de AAN-toestand van deze LED geeft de aanwezigheid van vocht in de bodem aan en de UIT-toestand geeft de afwezigheid van vocht in de bodem aan.
GSM-module wordt gebruikt voor het verzenden van SMS naar de gebruiker. Hier hebben we de TTL SIM800 GSM-module gebruikt, die TTL-logica direct geeft en neemt (gebruiker kan elke GSM-module gebruiken). Een LM317 spanningsregelaar wordt gebruikt om de SIM800 GSM module van stroom te voorzien. De LM317 is erg gevoelig voor spanningswaarden en het wordt aanbevolen om voor gebruik het gegevensblad te lezen. De bedrijfsspanning is 3,8 v tot 4,2 v (geef de voorkeur aan 3,8 v om hem te gebruiken). Hieronder ziet u het schakelschema van de voeding dat aan de TTL sim800 GSM-module wordt gegeven:
Als de gebruiker de SIM900 TTL-module wil gebruiken, moet hij 5V gebruiken en als de gebruiker de SIM900-module wil gebruiken, moet hij 12v in de DC Jack-sleuf van het bord plaatsen.
Een 12V relais wordt gebruikt om de 220VAC kleine waterpomp aan te sturen. Het relais wordt aangestuurd door een BC547 Transistor die verder is aangesloten op digitale pin 11 van Arduino.
Een optioneel LCD-scherm wordt ook gebruikt voor het weergeven van status en berichten. Controlepennen van LCD, RS en EN zijn verbonden met pin 14 en 15 van Arduino en datapinnen van LCD D4-D7 zijn direct verbonden met pin 16, 17, 18 en 19 van Arduino. LCD wordt gebruikt in 4-bit modus en aangestuurd door Arduino's ingebouwde LCD-bibliotheek.
Hieronder ziet u het schakelschema van dit irrigatiesysteem met arduino en bodemvochtsensor:
Werkende uitleg:
De werking van dit automatische plantirrigatiesysteem is vrij eenvoudig. Allereerst is het een volledig geautomatiseerd systeem en is er geen mankracht nodig om het systeem te besturen. Arduino wordt gebruikt voor het besturen van het hele proces en de GSM-module wordt gebruikt voor het verzenden van waarschuwingsberichten naar de gebruiker op zijn mobiele telefoon.
Als er vocht in de bodem aanwezig is, is er geleiding tussen de twee sondes van de bodemvochtsensor en door deze geleiding blijft transistor Q2 in de getriggerde / aan-toestand en blijft Arduino Pin D7 Laag. Wanneer Arduino het LAAG-signaal op D7 leest, stuurt het een sms naar de gebruiker met de melding “Bodemvocht is normaal. Motor uitgeschakeld ”en de waterpomp blijft in de uit-toestand.
Als er nu geen vocht in de grond zit, wordt transistor Q2 uit en wordt pin D7 hoog. Dan leest Arduino de Pin D7 en zet de watermotor aan en stuurt ook een bericht naar de gebruiker over “Laag bodemvocht gedetecteerd. Motor ingeschakeld ”. De motor wordt automatisch uitgeschakeld als er voldoende vocht in de grond zit. Raadpleeg de demonstratievideo en -code (aan het einde) verder voor een beter begrip van het werkproces van het project.
Programmering Toelichting:
Code voor dit programma is gemakkelijk te begrijpen. Allereerst hebben we SoftwareSerial- bibliotheek toegevoegd om pin 2 en 3 te maken als Rx & Tx en ook LiquidCrystal voor LCD. Vervolgens hebben we enkele variabelen gedefinieerd voor motor, bodemvochtsensor, LED etc.
# omvatten
Vervolgens wordt in de void setup () -functie de seriële communicatie geïnitialiseerd met 9600 bps en worden aanwijzingen gegeven aan de verschillende pinnen. gsmInit- functie wordt aangeroepen voor het initialiseren van de GSM-module.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (motor, OUTPUT); pinMode (sensor, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); vertraging (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("heet u welkom"); vertraging (2000); gsmInit ();
Vervolgens wordt de sensor gelezen in de void loop () -functie, en de motor wordt in- of uitgeschakeld volgens de sensorstatus en er wordt ook een sms naar de gebruiker gestuurd met de sendSMS- functie. Controleer de verschillende functies in volledige code aan het einde.
void loop () {lcd.setCursor (0,0); lcd.print ("Automatische modus"); if (digitalRead (sensor) == 1 && flag == 0) {vertraging (1000); if (digitalRead (sensor) == 1) {digitalWrite (led, HIGH); sendSMS ("Lage bodemvochtigheid gedetecteerd. Motor ingeschakeld"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Hier is de functie gsmInit () belangrijk en gebruikers vinden het meestal moeilijk om deze correct in te stellen. Het wordt gebruikt om de GSM-module te initialiseren, waarbij eerst de GSM-module wordt gecontroleerd of deze is aangesloten of niet door het 'AT'-commando naar de GSM-module te sturen. Als antwoord OK wordt ontvangen, betekent dit dat het klaar is. Het systeem blijft de module controleren totdat deze klaar is of totdat 'OK' wordt ontvangen. Vervolgens wordt ECHO uitgeschakeld door het ATE0-commando te verzenden, anders zal de GSM-module alle commando's echoën. Ten slotte wordt de netwerkbeschikbaarheid gecontroleerd via de 'AT + CPIN?' commando, als de geplaatste kaart een SIM-kaart is en de PIN aanwezig is, geeft dit het antwoord KLAAR. Dit wordt ook herhaaldelijk gecontroleerd totdat het netwerk is gevonden. Dit kan duidelijk worden begrepen door de onderstaande video.
leegte gsmInit () {lcd.clear (); lcd.print ("Module vinden.."); boolean at_flag = 1; while (at_flag) {Serial1.println ("AT"); while (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } vertraging (1000); }……………….
Met dit automatische irrigatiesysteem hoeft u zich dus geen zorgen te maken over uw planten als u niet thuis bent. Het kan verder worden verbeterd om via internet te worden bediend en gecontroleerd.