De zomer is een tijd waarin velen de neiging hebben om buiten op vakantie te gaan en planten vormen een probleem, omdat dat niet zo kan zijn geef water op die dagen dat je niet thuis bent. Bovendien verkopen tuinwinkels meestal een soort gel die de plant ongeveer een maand lang hydrateert en voedt. Maar met de hitte die het is of als je langer dan een maand weggaat, heb je een wat beter systeem nodig, zodat ze bij terugkeer levend en krachtig blijven.
Om dat mogelijk te maken, is de oplossing die er bestaat om een automatisch irrigatiesysteem die je kunt programmeren of als je een maker bent en je houdt van DIY, dan kun je het zelf doen met Arduino. De materialen die je nodig hebt, afgezien van het Arduino-bord, zijn gemakkelijk te vinden en redelijk goedkoop, zodat ze niet al te hoge kosten met zich meebrengen. Ook voor sommige elementen, zoals de watertank, enz., Kunt u gerecyclede materialen gebruiken ...
Als je een beetje op internet surft, zul je ontdekken verschillende projecten van dit type, maar misschien wel het meest interessante is tuin. Daarin zal ik geïnspireerd worden voor dit project, aangezien ik van mening ben dat andere irrigatiesystemen die alleen vochtigheidssensoren gebruiken en niets anders niet zo compleet zijn.
Wat heb je nodig?
De materialen die nodig zijn voor uw automatische irrigatiesysteem zijn:
- Geen producten gevonden., hoewel anderen de moeite waard zouden zijn.
- Breadboard of PCB als je het wilt solderen en permanent wilt maken.
- Temperatuur- en vochtigheidssensor Geen producten gevonden.
- Kabels
- Sensor YL-69 vochtigheid op de grond met een hygrometer om in je pot (en) of aarde te steken.
- Minipomp 3V onderdompelbaar water en een geschatte stroom van 120 l / u.
- Diode 1N4007
- Bipolaire transistor PN2222
- 3 weerstanden: 1x 220 ohm, 1x 1k, 1x Geen producten gevonden.
- Watertank, dat kan een vat zijn of een fles van 5 of meer liter, enz.
- buis om verbinding te maken met de minipomp en naar de plant (en) te brengen
Como alternatieve ideeën, Ik zou je willen zeggen dat je ook een sonoff- of een WiFi-module kunt gebruiken om het via internet te activeren, waar je ook bent, of het kunt verbeteren door ook een automatische klep aan de kraan toe te voegen om het vullen van de watertank te programmeren wanneer deze leegloopt , enz.
Hoe het automatische irrigatiesysteem op te zetten
De montage is vrij eenvoudig. Je kan gebruik het bovenstaande schema om alle verbindingen te maken. Plaats uw systeem op een plek bij het raam of waar de plant die u wilt bewateren zich bevindt en steek de twee uiteinden van de vochtigheidssensor in de grond van de plant, vlakbij de stam.
Het automatische bewateringssysteem met Arduino zal water geven wanneer het een reeks omgevingsomstandigheden. Wanneer het bijvoorbeeld weinig licht of duisternis detecteert, is de luchttemperatuur concreet die we zullen configureren in de Arduino IDE-schets en is de luchtvochtigheid op de grond laag. Op dat moment zou hij de motor activeren om de plant water te geven.
Het is raadzaam om de planten 's nachts, wanneer het minder warm is, water te geven, aangezien dit tijdens intens warme dagen meer kan schaden dan alleen maar voordelen ...
Onthoud dat u moet introduceer de minipomp onder water in de tank die je hebt bestemd voor irrigatie, en die voldoende capaciteit moet hebben om de dagen dat je er niet bent vast te houden. U kunt eerdere tests doen om te weten hoe lang het duurt en u moet wat meer water laten staan voor het geval het verdampt door de intense hitte ...
Het spreekt voor zich dat de buis zo aan de plant moet worden bevestigd dat deze niet met de wind meebeweegt of dat het water eruit kan vallen en verloren gaat. En ik denk dat het niet nodig zou zijn om te onthouden dat je een stroomtoevoer naar het Arduino-bord moet behouden om het te laten werken ...
programmering
Dit is het moment waarop u het code nodig in Arduino IDE om de microcontroller te kunnen programmeren die de hardware beheert die je hebt gebruikt. Dit is het moment om de juiste temperatuur, vochtigheid en lichtwaarden aan te passen aan het water in uw omgeving, aangezien dit kan variëren afhankelijk van waar u zich bevindt. Maar het voorbeeld dat je als basis kunt gebruiken is (ik heb opmerkingen achtergelaten waarin je de waarden kunt wijzigen, de rest kun je zo laten):
Download de code van code-irrigatie-autobewateringsauto voor uw tuin
#include <SimpleDHT.h> #include <SPI.h> #define humidity_sensor_pin A0 #define ldr_pin A5 //Bibliotecas para los módulos sensores usados necesarias //Y definición de variables para los sensores de humedad y LDR en los pines A0 y A5 int pinDHT11 = 2; SimpleDHT11 dht11; int ldr_value = 0; int water_pump_pin = 3; int water_pump_speed = 255; //Aquí puedes dar valores desde 0 a 255 para la velocidad a la que trabajará la minibomba //Haz pruebas previas del caudal y configura la. Yo he //elegido 255 pero ustedes pueden elegir la que estimen conveniente. A más velocidad, mayor //bombeo de agua void setup() { Serial.begin(9600); } void loop() { // Mide la temperatura y humedad relativa y muestra resultado Serial.println(“***”); Serial.println(“Muestra DHT11…”); byte temperature = 0; byte humidity_in_air = 0; byte data[40] = {0}; if (dht11.read(pinDHT11, &temperature, &humidity_in_air, data)) { Serial.print(“Lectura del sensor DHT11 fallida”); return; } Serial.print(“Muestra RAW Bits: “); for (int i = 0; i < 40; i++) { Serial.print((int)data[i]); if (i > 0 && ((i + 1) % 4) == 0) { Serial.print(‘ ‘); } } Serial.println(“”); Serial.print(“Muestra OK: “); Serial.print(“Temperatura: “);Serial.print((int)temperature); Serial.print(” *C, “); Serial.print(“Humedad relativa en aire: “);Serial.print((int)humidity_in_air); Serial.println(” %”); int ground_humidity_value = map(analogRead(humidity_sensor_pin), 0, 1023, 100, 0); Serial.print(“Humedad en suelo: “); Serial.print(ground_humidity_value); Serial.println(“%”); int ldr_value = map(analogRead(ldr_pin), 1023, 0, 100, 0); Serial.print(“Luz: “); Serial.print(ldr_value); Serial.println(“%”); Serial.println(“***”); //** // Condiciones de riego // Si la humedad en el suelo es igual o inferior al 60%, si la luminosidad es inferior al 30%, // Si la temperatura es inferior al 35%, entonces el sistema de riego riega. // En caso de que no se cumpla alguno o ninguno de los 3 requisitos anteriores, // el sistema de riego no riega //** //Aquí puedes variar los parámetros que necesites de 60, 35 y 30, e incluso usar otros operandos <>=... if( ground_humidity_value <= 60 && ldr_value<30 && temperature<35) { digitalWrite(water_pump_pin, HIGH); Serial.println(“Irrigación”); analogWrite(water_pump_pin, water_pump_speed); } else{ digitalWrite(water_pump_pin, LOW); Serial.println(“Riego detenido”); } delay (2000); // Ejecuta el código cada 2000 milisegundos, es decir, 2 segundos. Puedes variar la frecuencia de muestreo }
Meer informatie - Arduino-programmeercursus (gratis pdf)
Fuentes
Meer informatie - tuin
WAAROM krijg ik de exitstatus 1
# include verwacht "FILENAME" of ESO ON LOAD
Hallo,
Deze fout is te wijten aan een syntaxisprobleem in de code. Ik ben er doorheen gegaan en heb een fout gehad. Nu zou het in orde moeten zijn.
Groeten!
Hallo, goedemiddag, ik heb ook hetzelfde probleem:
project: 3:10: fout: #include verwacht "FILENAME" of
# include <SimpleDHT.h>
^
project: 4:10: fout: #include verwacht "FILENAME" of
# include <SPI.h>
^
exit-status 1
# include verwacht "FILENAME" of
Hallo, neem me niet kwalijk, kunt u me helpen met een fout die in de code voorkomt
Op dezelfde manier krijg ik een fout in de code te zien, kunt u me alsjeblieft met dat probleem helpen?
Hallo,
Laat informatie achter over de fout die u heeft, zodat ik u kan helpen. Als ik de inhoud van de fout niet weet, is het moeilijk voor mij om u te helpen of te achterhalen waar het probleem zit ...
groeten
Hallo, deze fout verschijnt, hoe kan ik deze oplossen?
fout: SimpleDHT.h: bestand of map bestaat niet
#include
^ ~~~~~~~~~~~~
compilatie beëindigd.
exit-status 1
SimpleDHT.h: bestand of map bestaat niet
Hallo Samantha,
Die fout komt doordat de Arduino IDE de SimpleDHT.h-bibliotheek niet lijkt te detecteren. Is het correct geïnstalleerd? Als je het hebt, probeer dan een meer actuele versie van Arduino IDE te gebruiken als deze ouder is ...
U kunt hier meer informatie bekijken:
https://www.arduino.cc/en/Guide/Libraries
En haal de bibliotheek hier vandaan:
https://github.com/adafruit/DHT-sensor-library
Groeten!
Allereerst bedankt voor de post die erg interessant en zeer geldig is, maar ik heb dit gelezen:
"Het is raadzaam om de planten 's nachts water te geven, wanneer het minder warm is, aangezien dit tijdens intens warme dagen meer kan schaden dan voordelen ..."
Ik heb dit vaak gehoord, maar ik zou graag willen dat iemand me duidelijk uitlegt hoe het hen pijn doet…. Ik kweek al meer dan 20 jaar planten en als het erg warm is, is er niets dat ze meer waarderen dan goed water geven en met een sproeier de bladeren nat kunnen maken.
Dit is een mythe dat het alleen maar de planten doet lijden ... Als je het warm en dorstig hebt, wacht je dan tot de avond met drinken? ... denk er eens over na
bedankt voor de post !!!
Hallo Pepe,
Bedankt voor je bijdrage. Ik woon op het platteland en soms, als de hitte erg intens is, kan het doden van de planten tijdens hete uren de planten doden. Ik heb het zelf gecontroleerd (bovendien is het niet hetzelfde, afhankelijk van het geografische gebied waar je bent, in mijn land is het erg heet). Dit kan verschillende redenen hebben:
1-Omdat de druppels water op de bladeren werken als glas en ze met zonlicht verbranden zoals een vergrootglas dat zou doen.
2-De planten hebben huidmondjes die sluiten om niet uit te drogen als het zonnig is. Als je ze water geeft, gaan ze open en kunnen ze uitdrogen.
3-Als ze zich in een plastic pot bevinden, kan het effect nog erger zijn.
Groeten!
HELLO !!
Ik vond het uitgewerkte project erg leuk, ik heb mijn eigen tuin en ik test dit project als een persoonlijke ervaring, zonder een lucratief voordeel te behalen, ik wilde je gewoon vragen of je me wilt helpen met de code, omdat het me een fout geeft , Ik heb de DHT-bibliotheek, maar bij het verifiëren gooi ik een fout aan het einde van de code: {Serial.println ("Watering stop");} en vertelt me dat het is: verdwaalde '\ 342' in het programma.
Ik heb heel weinig kennis van de kwestie en ik heb het onderzocht en ik heb het niet kunnen oplossen.
Ik zou het op prijs stellen als je me helpt. Bedankt 😀
Hallo,
Is de code correct? Dat wil zeggen, het heeft geen typefouten?
Aan de andere kant kunt u hier meer over die fout controleren:
https://forum.arduino.cc/index.php?topic=386225.0
groeten
Hallo Goedemiddag, sorry, ik weet niet of er een manier is om contact met u op te nemen, het is dat het me veel fouten geeft met deze code in de arduino
Hallo iedereen,
Ik heb de code opgeruimd en heb hem opnieuw geschreven om te zien of er om welke reden dan ook een fout zat in de code die op internet werd weergegeven. Om het te kunnen downloaden, heb ik de nieuwe code in een downloadlink achtergelaten net voor de code die op internet verschijnt. Als je daar klikt, kun je het downloaden in tekstformaat. Ik hoop dat er geen problemen meer zijn.
Groeten!
Hoe kan ik de wifi-module toevoegen? en zou het mogelijk zijn om het te controleren door een aanvraag in te dienen?
Hoe is het eten ook: c?
Hallo Chaqui! Ik probeer hetzelfde te doen als jij, kun je me helpen als je je code hebt uitgelezen?
Een vraag welk onderdeel zou het onderdeel zijn tussen het Arduino-bord en de DHT11-sensor?
Dank je wel!
Hallo Nerea,
Bedoel je de diode en weerstand? Merk op dat er in het gedeelte voor het diagram een lijst staat van alle componenten ...
Groeten!
Hallo, je hebt een video van hoe je irrigatiesysteem eruit zag
excuseer me werkt alleen voor arduino uno of ook voor arduino mega
Hallo, goedemorgen, sorry dat ik een vraag wilde stellen, waarom krijg ik een mislukte dht11-sensoruitlezing als ik de Arduino ide-monitor open?
Het hele programma is goed gecompileerd en goed geladen, het detail is wanneer ik de monitor open en die legenda verschijnt.
Wat kan het zijn?
HALLO VRIEND GEWELDIG BAAN, MAAR GEEFT ME FOUT IN DIT DEEL Geen bestand of directory
#include
WAT ZAL HET ZIJN? Ik zou uw hulp op prijs stellen
HALLO, DIT IS PUBLIEK, MAAR DOET ER NIETS, IK WIL ECHT DE PERSOON OF MENSEN DIE DEELNEMEN AAN DE ONTWIKKELING VAN DIT PROJECT, MISSCHIEN VOOR VELE DINGEN, MAAR JE HEBT MIJN LEVEN GERED, DUS IK DANK JE ZEER SCHOOL WAAR IK NIET WIL BEHOREN EN DE WAARHEID DIE IK NIET HEB GELEERD, DANK U VOOR UW PAGINA, IK WENS U HET BESTE.
Hoe kan ik de wifi-module toevoegen? en zou het mogelijk zijn om het te controleren door een aanvraag in te dienen?
# include "DHT.h"
DHT dht (2, DHT11);
int waardeLDR;
int pinLDR = A5;
int MOTOR = 8;
// ————————————————————————————————————————————————-
leegte setup ()
{
Serial.begin (9600);
waardeLDR = 0;
Serial.begin (9600);
Serial.println ("IRRIGATIESYSTEEM TEST");
dht.begin ();
pinMode (MOTOR, UITGANG);
Serial.println ("Waarde vochtigheidssensor");
}
// ————————————————————————————————————————————————-
leegte lus ()
{
Serial.println («============================================ = ========================== »);
int vochtigheid = analogRead (A0);
Serial.print ("Lezen:");
Serial.println (vochtigheid);
if (vochtigheid> = 0 & vochtigheid> = 1000) {
Serial.println ("Sensor in droge grond");
} else if (vochtigheid> 500 & vochtigheid <= 1000) {
Serial.println ("Sensor in natte grond");
} else if (vochtigheid <= 500) {
Serial.println ("Sensor in water");
}
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (waardeLDR);
Serial.println (")");
vertraging (2000);
zweven h = dht.readHumidity ();
zweven t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Kan DHT11-sensor niet lezen!");
terug te keren;
}
Serial.print ("Vochtigheid:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Temperatuur:");
Serial.print (t);
Serial.println ("* C");
if (h <= 50 && LDRwaarde <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Must water");
}
anders{
digitalWrite (MOTOR, LOW);
Serial.println ("mag GEEN water geven");
}
vertraging (1000);
}
Ik heb alleen de
-DTH van temperatuur en vochtigheid op pin 2
-de LDR fotoresist op pin A5
-motor op pin 8
-sensor voor bodemvocht op pin A0
dit is mijn code hoop ik en het werkt voor jou
-vochtigheidssensor voor grond
Goedemorgen, ik heb problemen met de code die ik krijg en ik gebruik de nieuwste software:
sketch_nov12c: 1:10: fatale fout: SimpleDHT.h: bestand of map bestaat niet
#include
^ ~~~~~~~~~~~~
compilatie beëindigd.
exit-status 1
SimpleDHT.h: bestand of map bestaat niet
Ik zou graag willen dat je me helpt om dit op te lossen, aangezien ik nieuw ben, weet ik niet hoe het zo goed werkt. Dank u.
Hallo, kunt u een beter beeld geven van hoe het circuit is aangesloten? Het wordt niet goed gewaardeerd, met welke voedingsspanning wordt het gevoed? Bedankt
# include "DHT.h"
DHT dht (2, DHT11);
int waardeLDR;
int pinLDR = A5;
int MOTOR = 8;
// ————————————————————————————————————————————————-
leegte setup ()
{
Serial.begin (9600);
waardeLDR = 0;
Serial.begin (9600);
Serial.println ("IRRIGATIESYSTEEM TEST");
dht.begin ();
pinMode (MOTOR, UITGANG);
Serial.println ("Waarde vochtigheidssensor");
}
// ————————————————————————————————————————————————-
leegte lus ()
{
Serial.println («============================================ = ========================== »);
// —————————————————————————————–
// ———– Vocht-, bodemsensor —————————————————–
int vochtigheid = analogRead (A0);
Serial.print ("Lezen:");
Serial.println (vochtigheid);
if (vochtigheid> = 0 & vochtigheid> = 1000) {
Serial.println ("Sensor in droge grond");
} else if (vochtigheid> 500 & vochtigheid <= 1000) {
Serial.println ("Sensor in natte grond");
} else if (vochtigheid <= 500) {
Serial.println ("Sensor in water");
}
// —————————————————————————————–
// ————— Fotoweerstand ———————————————————-
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (waardeLDR);
Serial.println (")");
vertraging (2000);
// —————————————————————————————–
// ————— Sensor DTH11 temperatuur en vochtigheid in de lucht —————————–
zweven h = dht.readHumidity ();
zweven t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Kan DHT11-sensor niet lezen!");
terug te keren;
}
Serial.print ("Vochtigheid:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Temperatuur:");
Serial.print (t);
Serial.println ("* C");
// —————————————————————————————–
// ———— Toestand aan water of geen water ———————————————-
// (AirHumidity) (Photoresist) (Temperature) (EarthHumidity)
if (h <= 50 && LDRwaarde <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Must water");
}
anders{
digitalWrite (MOTOR, LOW);
Serial.println ("mag GEEN water geven");
}
vertraging (1000);
}
// zodra de pinnen gewoon controleren of de pomp een pwm-pin is en
// die van de LDR-fotolak is analoog en ook die van bodemvocht is gelijk aan een speld
// analoog en die van de dth11 van de luchttemperatuur- en vochtigheidssensor wat dan ook
// digitale pinnen kunnen nog steeds worden gebaseerd op de originele code van deze pagina
// om de pinnen te verbinden
// werkt met 5v
Ik krijg een foutmelding in dit deel van de code »lege lus () {» kan me helpen
Hallo, kun je me vertellen welke bibliotheken of wat hun naam is om ze te installeren, want als ik de code plak, wordt me verteld dat ik de DTH-bibliotheek nodig heb
Hallo, het systeem lijkt erg goed. Ik heb geprobeerd het opnieuw te maken, maar op het moment dat ik de code en de bijbehorende bibliotheek toevoeg, verschijnt het volgende.
In bestand opgenomen in C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
C: \ Program Files (x86) \ Arduino \ libraries \ DHT-sensor-library-master / DHT_U.h: 36:10: fatale fout: Adafruit_Sensor.h: Bestand of directory bestaat niet
#include
^ ~~~~~~~~~~~~~~~~~~
compilatie beëindigd.
exit-status 1
Compileerfout voor kaart Arduino Uno.
Ik weet niet zeker of ik een andere boekwinkel nodig heb als iemand me alsjeblieft kan helpen.
Zeer goed project, maar nadat de code is geverifieerd, gecompileerd en geüpload, is het enige dat op de seriële monitor verschijnt "DHT11 lezen mislukt", het gaat niet verder dan dat punt
Hallo, ik heb verschillende problemen, kun je me alsjeblieft helpen en als iemand een video heeft of ik een gedetailleerde video heb gevonden die ik kan zien
Ik heb een vraag, waar moet ik de stroom zetten en welk type stroom kan ik gebruiken.
Kun je een overzicht met hogere resolutie toevoegen? sommige verbindingen zijn niet duidelijk zichtbaar