Sommeren er en tid da mange pleier å feriere ute og planter er et problem, siden de ikke kan være det vann de dagene du ikke er hjemme. I tillegg selger hagebutikker vanligvis en slags gel som hydrerer og nærer planten i omtrent en måned. Men med varmen det er, eller hvis du drar i mer enn en måned, vil du trenge et noe bedre system slik at når du kommer tilbake, er de fortsatt i live og kraftige.
For at det skal være mulig, er løsningen som er å kjøpe en automatisk vanningsanlegg som du kan programmere, eller hvis du er produsent og liker DIY, kan du gjøre det selv med Arduino. Materialene du trenger, bortsett fra Arduino-brettet, er enkle å finne og ganske billige, så de innebærer ikke for store utgifter. For noen elementer som vanntanken osv. Kan du også bruke resirkulerte materialer ...
Hvis du surfer litt på nettet, finner du det forskjellige prosjekter av denne typen, men kanskje det mest interessante er hage. I og med at jeg vil bli inspirert til dette prosjektet, siden jeg anser at andre vanningsanlegg som bare bruker fuktighetssensorer og ingenting annet ikke er så komplette.
Hva trenger du
den materialene som trengs for ditt automatiske vanningsanlegg er:
- Ingen produkter funnet., selv om andre ville være verdt.
- Brettbrett eller PCB hvis du vil lodde det og gjøre det permanent.
- Sensor for temperatur og fuktighet Ingen produkter funnet.
- kabler
- Sensor YL-69 fuktighet på bakken med et hygrometer for å stikke i potten / jorda.
- Minipumpe 3V nedsenkbart vann og omtrentlig flyt på 120 l / t.
- Diode 1N4007
- Bipolar transistor PN2222
- 3 motstander: 1x 220 ohm, 1x 1k, 1x fotoresist LDR
- Vanntank, som kan være en trommel eller en flaske på 5 eller flere liter osv.
- Tubo for å koble til minipumpen og ta til anlegget / rene
Como alternative ideer, Jeg vil fortelle deg at du også kan bruke en sonoff eller en WiFi-modul for å aktivere den over Internett hvor du enn er, eller forbedre den ved å legge til en automatisk ventil i kranen for å programmere fyllingen av vanntanken når den tømmes , etc.
Hvordan sette opp det automatiske vanningsanlegget
Montering er ganske enkel. Du kan bruk skjemaet ovenfor for å lage alle tilkoblingene. Du bør plassere systemet ditt på et sted i nærheten av vinduet eller der planten du vil vanne, ligger og stikke de to spissene på fuktighetssensoren i jorda til planten, nær stammen.
Det automatiske vanningssystemet med Arduino vil vanne når det oppdager en rekke miljøforhold. For eksempel, når den oppdager lite lys eller mørke, er lufttemperaturen en konkret som vi vil konfigurere i Arduino IDE-skissen, og fuktigheten på bakken er lav. I det øyeblikket ville han aktivere motoren for å vanne anlegget.
Det er tilrådelig å vanne plantene om natten når det er mindre varmt, siden det kan skade mer enn fordel å gjøre det under intense varme dager ...
Husk at du må introdusere minipumpen under vann i tanken du har bestemt for vanning, og som skal ha nok kapasitet til å holde de dagene du ikke er der. Du kan gjøre tidligere tester for å vite hvor lenge det varer, og du bør legge igjen litt mer vann i tilfelle det fordamper med den intense varmen ...
Det sier seg selv at røret må festes til planten slik at den ikke beveger seg med vinden, ellers kan vannet falle ut og bli bortkastet. Og jeg tror det ikke ville være nødvendig å huske at du må opprettholde en strømforsyning til Arduino-kortet for at det skal fungere ...
Programmering
Nå er det når du skal skrive kode som kreves i Arduino IDE for å kunne programmere mikrokontrolleren som administrerer maskinvaren du har brukt. Dette er tiden for å tilpasse passende temperatur, fuktighet og lysverdier til vann i ditt område, da det kan variere avhengig av hvor du er. Men eksemplet du kan bruke som base er (jeg har lagt igjen kommentarer der du kan endre verdiene, resten kan du la det være slik):
Last ned koden fra kode-vanning-autovanning-auto for hagen din
#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 }
Mer informasjon - Arduino programmeringskurs (gratis PDF)
Kilder
Mer informasjon - hage
HVORFOR SLUTTER JEG avslutningsstatus 1
#include forventer "FILENAME" eller ESO ON LOAD
Hei,
Denne feilen skyldes noe syntaksproblem i koden. Jeg har gått gjennom det og hatt en feil. Nå skal det være greit.
En hilsen!
Hei, god ettermiddag, jeg har også det samme problemet:
prosjekt: 3:10: feil: #include forventer "FILENAME" eller
# inkluderer <SimpleDHT.h>
^
prosjekt: 4:10: feil: #include forventer "FILENAME" eller
# inkluderer <SPI.h>
^
utgangsstatus 1
#include forventer "FILENAME" eller
Hei, unnskyld meg, kan du hjelpe meg med en feil som oppstår i koden
På samme måte har jeg en feil i koden, kan du hjelpe meg med det problemet, vær så snill
Hei,
Legg igjen informasjon om feilen du har, slik at jeg kan hjelpe. Hvis jeg ikke vet innholdet av feilen, er det vanskelig for meg å hjelpe deg eller finne ut hvor problemet er ...
En hilsen
Hei, denne feilen vises, hvordan kan jeg løse den?
feil: SimpleDHT.h: Ingen slik fil eller katalog
#include
^ ~~~~~~~~~~~~
samlingen avsluttet.
utgangsstatus 1
SimpleDHT.h: Ingen slik fil eller katalog
Hei Samantha,
Den feilen er fordi Arduino IDE ikke ser ut til å oppdage SimpleDHT.h-biblioteket. Har du den riktig installert? Hvis du har det, kan du prøve å bruke en nyere versjon av Arduino IDE hvis den er eldre ...
Du kan se mer informasjon her:
https://www.arduino.cc/en/Guide/Libraries
Og få biblioteket herfra:
https://github.com/adafruit/DHT-sensor-library
En hilsen!
Først takk for innlegget som er veldig interessant og veldig gyldig, men jeg har lest dette:
"Det er tilrådelig å vanne plantene om natten når det er mindre varmt, siden det kan skade mer enn fordel å gjøre det under intense varme dager ..."
Jeg har hørt dette mange ganger, men jeg vil at noen skal forklare meg tydelig hvordan det gjør vondt for dem ... Jeg har dyrket planter i mer enn 20 år, og når det er veldig varmt, er det ingenting de setter mer pris på enn god vanning og å kunne være sammen med en sprinkler som fukter bladene.
Dette er en myte om at alt det gjør er å få plantene til å lide ... Når du er varm og tørst, venter du til natten med å drikke? ... tenk på det
takk for innlegget !!!
Hei Pepe,
Takk for innspillene dine. Jeg bor i landet, og noen ganger når varmen er veldig intens, kan vanning av plantene i varme timer drepe dem. Jeg har sjekket det selv (i tillegg er det ikke det samme avhengig av hvilket geografisk område du er, i mitt land er det veldig varmt). Det kan være av flere grunner:
1-Fordi vanndråpene på bladene fungerer som et glass, brenner du dem med sollys som et forstørrelsesglass.
2-Plantene har stomata som lukkes for ikke å dehydrere når det er sol. Hvis du vanner dem, åpnes de og kan føre til at de blir dehydrert.
3-Hvis de er i en plastgryte, kan effekten bli enda verre.
En hilsen!
HALLO!!
Jeg likte virkelig det utdypede prosjektet, jeg har min egen hage og jeg tester dette prosjektet som en personlig opplevelse, uten å oppnå en lukrativ fordel, jeg ville bare spørre deg om du ville hjelpe meg med koden, siden det gir meg en feil , Jeg har DHT-biblioteket, men når jeg bekrefter det, kaster det en feil på slutten av koden: {Serial.println ("Vanning stoppet");} og forteller meg at det er: stray '\ 342' i programmet.
Jeg har veldig lite kunnskap om saken, og jeg har undersøkt og har ikke klart å løse det.
Jeg vil sette pris på om du hjelper meg. Takk 😀
Hei,
Er koden riktig? Det vil si at den ikke har noen skrivefeil?
På den annen side kan du sjekke mer om feilen her:
https://forum.arduino.cc/index.php?topic=386225.0
En hilsen
Hei God ettermiddag, beklager, jeg vet ikke om det er en måte å kontakte deg på, det er at det gir meg mange feil med denne koden i arduino
Hei alle sammen,
Jeg har renset koden og har skrevet den igjen for å se om det av en eller annen grunn var noen feil i koden som vises på nettet. For at den skal kunne lastes ned, har jeg lagt igjen den nye koden i en nedlastningskobling like før koden som vises på nettet. Hvis du klikker der kan du laste den ned i tekstformat. Jeg håper det ikke er flere problemer.
En hilsen!
Hvordan kan jeg legge til wifi-modulen? og ville det være mulig å kontrollere det ved å lage en søknad?
Hvordan er maten også: c?
Hei Chaqui! Jeg prøver å gjøre det samme som deg, kan du hjelpe meg hvis du er ferdig med koden din ????
Et spørsmål om hvilken komponent som vil være den mellom Arduino-kortet og DHT11-sensoren?
Tusen takk!!
Hei Nerea,
Du mener dioden og motstanden? Legg merke til at det i delen før diagrammet er en liste over alle komponentene ...
En hilsen!
Hei, du har en video av hvordan vanningsanlegget ditt var.?
unnskyld meg fungerer bare for arduino uno eller også for arduino mega
Hei god morgen, beklager at jeg ønsket å stille et spørsmål hvorfor når jeg åpner Arduino ide-skjermen, får jeg en mislykket dht11-sensoravlesning?
Hele programmet kompilerte godt og lastet godt inn, detaljene er når jeg åpner skjermen og den legenden vises.
Hva kan det være?
HELLO VENN STOR JOBB MEN MEG FÅR FEIL I DENNE DELEN Ingen slik fil eller katalog
#include
HVA SKAL DET VÆRE? Jeg vil sette pris på din hjelp
Hallo, dette er offentlig, men det betyr ikke noe, jeg vil virkelig takke den personen eller de som deltok i utviklingen av dette prosjektet, kanskje for mange er det dårlige, men du har reddet livet mitt, så jeg takker deg veldig SKOLE SOM JEG IKKE ØNSKER Å HØRE OG SANNHETEN JEG IKKE BEKLAGER JEG HAR LÆRT, TAKK FOR SIDEN DIN, JEG ØNSKER DEG BEST.
Hvordan kan jeg legge til wifi-modulen? og ville det være mulig å kontrollere det ved å lage en søknad?
# inkluderer "DHT.h"
DHT dht (2, DHT11);
int verdiLDR;
int pinLDR = A5;
int MOTOR = 8;
// ———————————————————————————————————————————————-
ugyldig oppsett ()
{
Serial.begin (9600);
verdiLDR = 0;
Serial.begin (9600);
Serial.println ("TEST FOR IRRIGASJONSSYSTEM");
dht.begin ();
pinMode (MOTOR, UTGANG);
Serial.println ("Verdi for fuktighetssensor");
}
// ———————————————————————————————————————————————-
ugyldig sløyfe ()
{
Serial.println («================================================ = =========================== »);
int fuktighet = analogRead (A0);
Serial.print ("Les:");
Serial.println (fuktighet);
hvis (fuktighet> = 0 og fuktighet> = 1000) {
Serial.println ("Sensor i tørr jord");
} annet hvis (fuktighet> 500 og fuktighet <= 1000) {
Serial.println ("Sensor i våt jord");
} annet hvis (fuktighet <= 500) {
Serial.println ("Sensor i vann");
}
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (valueLDR);
Serial.println (")");
forsinkelse (2000);
flyte h = dht.readHumidity ();
flyte t = dht.readTemperature ();
hvis (isnan (h) || isnan (t)) {
Serial.println ("Kunne ikke lese DHT11-sensoren!");
tilbake;
}
Serial.print ("Fuktighet:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Temperatur:");
Serial.print (t);
Serial.println ("* C");
hvis (h <= 50 && LDRverdi <70 && t = 1000) {
digitalWrite (MOTOR, HØY);
Serial.println ("Må vannes");
}
ellers{
digitalWrite (MOTOR, LAV);
Serial.println ("skal IKKE vanne");
}
forsinkelse (1000);
}
Jeg brukte bare
-DTH av temperatur og fuktighet på pinne 2
-LDR-fotoresist på pinne A5
-motor på pinne 8
-føler for jordfuktighet på stift A0
dette er koden min, håper jeg, og den fungerer for deg
-fuktighetssensor for jord
God morgen, jeg har problemer med koden jeg får dette, og jeg bruker den nyeste programvaren:
sketch_nov12c: 1: 10: dødelig feil: SimpleDHT.h: Ingen slik fil eller katalog
#include
^ ~~~~~~~~~~~~
samlingen avsluttet.
utgangsstatus 1
SimpleDHT.h: Ingen slik fil eller katalog
Jeg vil at du skal hjelpe meg med å løse dette takket være, da jeg er ny på dette, vet jeg ikke hvordan det fungerer veldig bra. Takk skal du ha.
Hei, kan du legge igjen et bedre bilde av hvordan kretsen er koblet til? Det blir ikke verdsatt godt, med hvilken strømspenning blir den matet? Takk
# inkluderer "DHT.h"
DHT dht (2, DHT11);
int verdiLDR;
int pinLDR = A5;
int MOTOR = 8;
// ———————————————————————————————————————————————-
ugyldig oppsett ()
{
Serial.begin (9600);
verdiLDR = 0;
Serial.begin (9600);
Serial.println ("TEST FOR IRRIGASJONSSYSTEM");
dht.begin ();
pinMode (MOTOR, UTGANG);
Serial.println ("Verdi for fuktighetssensor");
}
// ———————————————————————————————————————————————-
ugyldig sløyfe ()
{
Serial.println («================================================ = =========================== »);
// ———————————————————————————————–
// ———– Fuktighet, jordføler ——————————————————–
int fuktighet = analogRead (A0);
Serial.print ("Les:");
Serial.println (fuktighet);
hvis (fuktighet> = 0 og fuktighet> = 1000) {
Serial.println ("Sensor i tørr jord");
} annet hvis (fuktighet> 500 og fuktighet <= 1000) {
Serial.println ("Sensor i våt jord");
} annet hvis (fuktighet <= 500) {
Serial.println ("Sensor i vann");
}
// ———————————————————————————————–
// ————— Fotomotstand ————————————————————-
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (valueLDR);
Serial.println (")");
forsinkelse (2000);
// ———————————————————————————————–
// ————— Sensor DTH11 temperatur og fuktighet i luften ——————————–
flyte h = dht.readHumidity ();
flyte t = dht.readTemperature ();
hvis (isnan (h) || isnan (t)) {
Serial.println ("Kunne ikke lese DHT11-sensoren!");
tilbake;
}
Serial.print ("Fuktighet:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Temperatur:");
Serial.print (t);
Serial.println ("* C");
// ———————————————————————————————–
// ———— Tilstand til vann eller ikke til vann ————————————————-
// (Luftfuktighet) (fotoresist) (temperatur) (jordfuktighet)
hvis (h <= 50 && LDRverdi <70 && t = 1000) {
digitalWrite (MOTOR, HØY);
Serial.println ("Må vannes");
}
ellers{
digitalWrite (MOTOR, LAV);
Serial.println ("skal IKKE vanne");
}
forsinkelse (1000);
}
// så snart pinnene bare sjekker at pumpen er en pwm-pinne og
// at av LDR-fotoresist er analog, og også jordfuktighet tilsvarer en stift
// analog og de fra dth11 av lufttemperatur og fuktighetssensor uansett
// digitale pinner kan fremdeles være basert på den opprinnelige koden på denne siden
// for å koble til pinnene
// fungerer med 5v
Jeg får en feil i denne delen av koden »tom sløyfe () {» kan hjelpe meg
Hei, kan du fortelle meg hvilke biblioteker eller hva heter de for å installere dem siden når jeg limer inn koden, forteller det meg at jeg trenger DTH-biblioteket
Hei, systemet virker veldig bra. Jeg prøvde å gjenskape den, men da jeg inkluderte koden og det tilhørende biblioteket, vises følgende.
I filen inkludert fra C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
C: \ Program Files (x86) \ Arduino \ biblioteker \ DHT-sensor-bibliotek-master / DHT_U.h: 36:10: dødelig feil: Adafruit_Sensor.h: Ingen slik fil eller katalog
#include
^ ~~~~~~~~~~~~~~~~~
samlingen avsluttet.
utgangsstatus 1
Kompileringsfeil for kort Arduino Uno.
Jeg er ikke sikker på om jeg trenger noen annen bokhandel hvis noen kan hjelpe meg.
Veldig bra prosjekt, men etter å ha bekreftet koden, kompilert den og lastet den opp, er det eneste som vises på seriell skjerm "DHT11-lesing mislyktes", det går ikke utover det punktet
Hei, jeg har flere problemer. Kan du hjelpe meg, og hvis noen har en video eller jeg fant en detaljert video som jeg kan se
Jeg har et spørsmål, hvor jeg skal sette strømmen og hvilken type strøm som kan brukes.
Kan du legge til en høyere oppløsning? noen sammenhenger er ikke tydelig synlige