A nyár olyan időszak, amikor sokan hajlamosak kint nyaralni, és a növények problémát jelentenek, mivel nem lehetnek öntözzön azokon a napokon, amikor nincs otthon. Ezenkívül a kerti boltokban általában egyfajta gélt árulnak, amely körülbelül egy hónapig hidratálja és táplálja a növényt. De azzal a hőséggel, amely van, vagy ha több mint egy hónapra távozik, akkor valamivel jobb rendszerre lesz szüksége, hogy visszatérve még életben és erőteljesek legyenek.
Hogy ez lehetséges legyen, a létező megoldás az, hogy megvásárol egy automatikus öntözőrendszer amit programozhat, vagy ha Ön készítő és szereti a barkácsolást, megteheti maga is az Arduino-val. A szükséges anyagok az Arduino táblán kívül könnyen megtalálhatók és meglehetősen olcsók, ezért nem jelentenek túl nagy ráfordítást. Néhány elemhez, például a víztartályhoz stb., Újrahasznosított anyagokat is használhatna ...
Ha egy kicsit böngészi az internetet, megtalálja különféle ilyen típusú projektek, de talán a legérdekesebb az kert. Ebben a projektben inspirálódni fogok, mivel úgy vélem, hogy más öntözőrendszerek, amelyek csak páratartalom-érzékelőket használnak, és semmi más, nem annyira teljesek.
Mire van szüksége?
sok az öntözőrendszeréhez szükséges anyagok hang:
- Nem található termék., bár mások megérnék.
- Kenyérlemez vagy PCB ha meg akar forrasztani és állandóvá tenni.
- Hőmérséklet és páratartalom érzékelő Nem található termék.
- Kábelek
- Érzékelő Il-69 nedvesség a földön egy nedvességmérővel, hogy az edényébe vagy talajába tapadjon.
- Minipumpa 3V merülő víz és hozzávetőleges áramlása 120 l / h.
- Dióda 1N4007
- Bipoláris tranzisztor PN2222
- 3 ellenállások: 1x 220 ohm, 1x 1k, 1x fotorezisztikus LDR
- Víztartály, ami lehet egy dob vagy egy 5 vagy annál nagyobb literes üveg stb.
- Cső hogy csatlakozzon a minipumpához és vigye az üzem (ek) be
Como alternatív ötletek, Azt mondanám önnek, hogy használhat egy szétkapcsolót vagy egy WiFi modult is az interneten keresztül történő aktiváláshoz bárhonnan is, vagy javíthatja úgy, hogy automatikus szelepet is tesz a csapba, hogy beprogramozza a víztartály feltöltését, amikor kiürül stb.
Az automatikus öntözőrendszer beállítása
Az összeszerelés meglehetősen egyszerű. Te talán használja a fenti vázlatot az összes kapcsolat létrehozásához. Helyezze el a rendszerét az ablak közelében, vagy ott, ahol az öntözni kívánt növény található, és a páratartalom-érzékelő két hegyét a növény talajába, a szár mellé kell ragasztania.
Az Arduino automatikus öntözőrendszere akkor öntözik, amikor észleli a környezeti feltételek sorozata. Például, ha gyenge fényt vagy sötétséget észlel, a levegő hőmérséklete konkrét, amelyet az Arduino IDE vázlatban konfigurálunk, és a föld nedvességtartalma alacsony. Abban a pillanatban aktiválta a motort az üzem öntözésére.
Célszerű a növényeket éjszakánként öntözni, amikor kevésbé meleg van, mivel ez az intenzív forró napokban nem csak hasznot árthat ...
Ne feledje, hogy muszáj vezesse be a mini szivattyút víz alatt abban a tartályban, amelyet öntözésre szánt, és amelynek elegendő kapacitással kell rendelkeznie ahhoz, hogy megtartsa azokat a napokat, amikor nincs ott. Korábbi teszteket végezhet, hogy megtudja, meddig tart, és hagyjon még egy kis vizet arra az esetre, ha elpárologna az intenzív hő hatására ...
Magától értetődik, hogy a csövet úgy kell rögzíteni az üzemhez, hogy az ne mozogjon a széllel, különben a víz kieshet és elpazarolható. És azt hiszem, nem lenne szükséges emlékezni arra, hogy az Arduino tábla áramellátását fenn kell tartani ahhoz, hogy működjön ...
Programozás
Most kell megírnod a kód szükséges az Arduino IDE-ben programozni az Ön által használt hardvert kezelő mikrovezérlőt. Ez az az idő, amikor a megfelelő hőmérsékletet, páratartalmat és fényértéket hozzá kell igazítani a környék vízéhez, mivel az attól függően változhat, hogy hol tartózkodik. De az a példa, amelyet alapként használhat: (Hagytam megjegyzéseket, ahol módosíthatja az értékeket, a többit így hagyhatja):
Töltse le a kódot innen kód-öntözés-autoöntöző-autó a kertjéhez
#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 }
Több információ - Arduino programozási tanfolyam (ingyenes PDF)
Fuentes
Több információ - kert
Miért lépek ki a kilépési állapotból 1
A #include "FILENAME" vagy ESO ON LOAD elemre számít
Helló,
Ezt a hibát a kód valamilyen szintaxisproblémája okozza. Átéltem és hibám volt. Most rendben kell lennie.
Üdvözlet!
Helló, jó napot, nekem is ugyanaz a problémám:
project: 3:10: error: #include "FILENAME" vagy
#include <EgyszerűDHT.h>
^
project: 4:10: error: #include "FILENAME" vagy
#include <SPI.h>
^
kilépési állapot 1
A #include "FILENAME" vagy
Helló, bocsásson meg, tudna nekem segíteni a kódban előforduló hibában
Ugyanígy van egy hibám a kódban, tudna nekem segíteni ebben a problémában
Helló,
Kérjük, hagyjon információt a hibáról, hogy segíthessek. Ha nem tudom a hiba tartalmát, nehezen tudok segíteni, vagy megkeresni a probléma helyét ...
Az üdvözlő
Helló, ez a hiba megjelenik, hogyan tudom megoldani?
hiba: SimpleDHT.h: Nincs ilyen fájl vagy könyvtár
#include
^ ~~~~~~~~~~~~
az összeállítás megszűnt.
kilépési állapot 1
SimpleDHT.h: Nincs ilyen fájl vagy könyvtár
Hello Samantha,
Ez a hiba azért van, mert úgy tűnik, hogy az Arduino IDE nem észleli a SimpleDHT.h könyvtárat. Helyesen telepítette? Ha van, próbálja meg az Arduino IDE egy újabb verzióját használni, ha régebbi ...
További információkat itt tekinthet meg:
https://www.arduino.cc/en/Guide/Libraries
És innen szerezd be a könyvtárat:
https://github.com/adafruit/DHT-sensor-library
Üdvözlet!
Először köszönöm a nagyon érdekes és nagyon érvényes bejegyzést, de ezt olvastam:
"Célszerű a növényeket éjszakánként öntözni, amikor kevésbé meleg van, mivel ez az intenzív forró napokban nem csak hasznot okozhat ...
Sokszor hallottam már ilyet, de szeretném, ha valaki világosan elmagyarázná nekem, hogy ez nekik miért fáj ... Több mint 20 éve nevelem a növényeket, és amikor nagyon meleg van, nincs semmi, amit jobban értékelnének, mint egy jó öntözést és azt, hogy sprinklerrel lehessen nedvesíteni a leveleket.
Ez egy mítosz, hogy csak annyit tesz, hogy a növények szenvednek ... Ha forró vagy szomjas vagy, vársz-e estig, amíg igyál?
köszönöm a posztot !!!
Helló Pepe
Köszönjük a közreműködést. Vidéken élek, és néha, amikor a hőség nagyon erős, a növények öntözése forró órákban megölheti őket. Magam is ellenőriztem (az is, hogy nem ugyanaz, attól a földrajzi területtől függően, ahol vagy, az én földemen nagyon meleg van). Ennek több oka lehet:
1 - Mivel a leveleken lévő vízcseppek úgy viselkednek, mint egy üveg, napfénnyel égetve őket, mint a nagyító.
2-A növényeknek vannak olyan sztómái, amelyek bezáródnak, hogy ne száradjanak ki, ha napos. Ha öntözi őket, kinyílnak, és kiszáradáshoz vezethetnek.
3-Ha műanyag edényben vannak, a hatás még rosszabb lehet.
Üdvözlet!
SZIA!!
Nagyon tetszett a kidolgozott projekt, saját kertem van, és ezt a projektet személyes tapasztalatként tesztelem, anélkül, hogy jövedelmező hasznot szereznék, csak azt akartam kérdezni, hogy segítene-e a kóddal, mivel hibát ad nekem , Megvan a DHT könyvtár, de az ellenőrzéskor hibát dobok a kód végén: {Serial.println ("Az öntözés leállt");} és elmondja, hogy ez: kóbor '\ 342' a programban.
Nagyon kevés ismerettel rendelkezem az ügyben, és nyomozást folytattam, és nem tudtam megoldani.
Nagyra értékelném, ha segítene nekem. Köszönöm 😀
Helló,
Helyes a kód? Vagyis nincs hibája?
Másrészt itt ellenőrizheti a hibát:
https://forum.arduino.cc/index.php?topic=386225.0
Az üdvözlő
Helló Jó napot, sajnálom, nem tudom, hogy van-e mód kapcsolatba lépni Önnel, az az, hogy sok hibát ad nekem ezzel a kóddal az arduino-ban
Hi all,
Tisztítottam a kódot, és újra megírtam, hogy lássam, valamilyen okból kifolyólag voltak-e hibák a weben megjelenő kódban. Ahhoz, hogy letölthető legyen, az új kódot egy letöltési hivatkozásban hagytam közvetlenül az interneten megjelenő kód előtt. Ha rákattint, letöltheti szöveges formátumban. Remélem, hogy nincs több probléma.
Üdvözlet!
Hogyan adhatom hozzá a wifi modult? és egy alkalmazás elkészítésével ellenőrizhető lenne?
Hogy van az étel is: c?
Szia Chaqui! Ugyanazt próbálom csinálni, mint te, tudnál nekem segíteni, ha befejezted a kódod ????
Kérdés, melyik alkatrész lenne az Arduino kártya és a DHT11 érzékelő között?
Köszönöm szépen !!
Szia Nerea
A diódára és az ellenállásra gondolsz? Figyelje meg, hogy a diagram előtti részben található az összes összetevő felsorolása ...
Üdvözlet!
Helló, van egy videód arról, hogy milyen volt az öntözőrendszered?
bocsásson meg, hogy csak azért dolgozik arduino uno vagy az arduino mega esetében is
Helló, jó reggelt, sajnálom, hogy kérdést akartam feltenni, miért kapom meg az Arduino ide monitort, ha nem sikerült a dht11 érzékelő olvasása?
Az egész program jól összeállt és jól betöltődött, a részlet az, amikor kinyitom a monitort, és megjelenik az a legenda.
Mi lehet?
HELLO BARÁT NAGY MUNKÁK, DE HIBÁT TUDOM EZEN A RÉSZNEK Nincs ilyen fájl vagy könyvtár
#include
MI LESZ AZ? Nagyra értékelném a segítségét
HELLÓ, EZ NYILVÁNOS, DE NEM SZERINT, TÉNYLEG SZERETNÉK KÖSZÖNNI A PROJEKT FEJLESZTÉSÉBEN RÉSZT VEVŐ SZEMÉLYT VAGY EMBEREKET, TALÁN SOK SZÁM, HOGYAN HOLNYI, DE MEGÉPÍTETTEM AZ ÉLETEM, HOGY KÖSZÖNÖM ISKOLA, AMELYRE NEM AKAROM TARTALMAZNI, ÉS AZ IGAZSÁG, AMIT NEM BÁNÁLOK, AMIT TANULOTTAM, KÖSZÖNÖM AZ OLDALÁT, A LEGJOBBAT KÍVÁNAM.
Hogyan adhatom hozzá a wifi modult? és egy alkalmazás elkészítésével ellenőrizhető lenne?
#include "DHT.h"
DHT dht (2, DHT11);
int értékLDR;
int pinLDR = A5;
int MOTOR = 8;
// ———————————————————————————————————————————————-
void setup ()
{
Serial.begin (9600);
értékLDR = 0;
Serial.begin (9600);
Serial.println ("Öntözőrendszer teszt");
dht.kezdés ();
pinMode (MOTOR, OUTPUT);
Serial.println ("Páratartalom-érzékelő értéke");
}
// ———————————————————————————————————————————————-
void loop ()
{
Soros.println («============================================== ========================== »);
int páratartalom = analógRead (A0);
Serial.print ("Olvassa el:");
Soros.println (páratartalom);
if (páratartalom> = 0 és páratartalom> = 1000) {
Serial.println ("Érzékelő száraz talajban");
} else if (páratartalom> 500 és páratartalom <= 1000) {
Serial.println ("érzékelő nedves talajban");
} else if (páratartalom <= 500) {
Serial.println ("Érzékelő a vízben");
}
valueLDR = analogRead (pinLDR);
Soros.nyomtatás ("LIGHT (");
Soros.nyomtatás (valueLDR);
Soros.println (")");
késleltetés (2000);
úszó h = dht.readHumidity ();
úszó t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Nem sikerült elolvasni a DHT11 érzékelőt!");
vissza;
}
Serial.print ("Páratartalom:");
Soros nyomtatás (h);
Soros nyomtatás ("%");
Serial.print ("Hőmérséklet:");
Soros nyomtatás (t);
Soros.println ("* C");
if (h <= 50 && LDRérték <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Meg kell itatni");
}
más {
digitalWrite (MOTOR, LOW);
Serial.println ("NE öntsön");
}
késleltetés (1000);
}
Csak a
-DTH hőmérséklet és páratartalom a 2. csapon
-az LDR fotoreziszt az A5 csapon
-motor a 8. csapon
talajnedvesség érzékelő az A0 csapon
ez az én kódom, remélem, és működik az Ön számára
-nedvesség érzékelő a talajhoz
Jó reggelt, problémáim vannak a kapott kóddal, és a legújabb szoftvert használom:
sketch_nov12c: 1: 10: végzetes hiba: SimpleDHT.h: Nincs ilyen fájl vagy könyvtár
#include
^ ~~~~~~~~~~~~
az összeállítás megszűnt.
kilépési állapot 1
SimpleDHT.h: Nincs ilyen fájl vagy könyvtár
Szeretném, ha segítene nekem, hogyan oldja meg ezt, kérem, mivel új vagyok ebben, nem tudom, hogy működik ez nagyon jól. Köszönöm.
Helló, tudna jobb képet hagyni az áramkör csatlakoztatásáról? Nem értékelik jól, milyen tápfeszültséggel táplálják? Köszönöm
#include "DHT.h"
DHT dht (2, DHT11);
int értékLDR;
int pinLDR = A5;
int MOTOR = 8;
// ———————————————————————————————————————————————-
void setup ()
{
Serial.begin (9600);
értékLDR = 0;
Serial.begin (9600);
Serial.println ("Öntözőrendszer teszt");
dht.kezdés ();
pinMode (MOTOR, OUTPUT);
Serial.println ("Páratartalom-érzékelő értéke");
}
// ———————————————————————————————————————————————-
void loop ()
{
Soros.println («============================================== ========================== »);
// ——————————————————————————————
// ———– Nedvesség, talajérzékelő——————————————————–
int páratartalom = analógRead (A0);
Serial.print ("Olvassa el:");
Soros.println (páratartalom);
if (páratartalom> = 0 és páratartalom> = 1000) {
Serial.println ("Érzékelő száraz talajban");
} else if (páratartalom> 500 és páratartalom <= 1000) {
Serial.println ("érzékelő nedves talajban");
} else if (páratartalom <= 500) {
Serial.println ("Érzékelő a vízben");
}
// ——————————————————————————————
// ————— Fotóellenállás ————————————————————-
valueLDR = analogRead (pinLDR);
Soros.nyomtatás ("LIGHT (");
Soros.nyomtatás (valueLDR);
Soros.println (")");
késleltetés (2000);
// ——————————————————————————————
// ————— A DTH11 érzékelő hőmérséklete és páratartalma a levegőben—————————–
úszó h = dht.readHumidity ();
úszó t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println ("Nem sikerült elolvasni a DHT11 érzékelőt!");
vissza;
}
Serial.print ("Páratartalom:");
Soros nyomtatás (h);
Soros nyomtatás ("%");
Serial.print ("Hőmérséklet:");
Soros nyomtatás (t);
Soros.println ("* C");
// ——————————————————————————————
// ———— Víz vagy nem víz állapota ————————————————-
// (levegő páratartalma) (fotoreziszt) (hőmérséklet) (földi páratartalom)
if (h <= 50 && LDRérték <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Meg kell itatni");
}
más {
digitalWrite (MOTOR, LOW);
Serial.println ("NE öntsön");
}
késleltetés (1000);
}
// amint a csapok csak azt ellenőrzik, hogy a szivattyú pwm csap és
// az LDR fotorezisztor analóg, és a talaj nedvességtartalma is megegyezik a csapszeggel
// analóg és a levegő hőmérséklet- és páratartalom-érzékelő dth11 értékei
// a digitális csapok továbbra is az oldal eredeti kódján alapulhatnak
// a csapok összekapcsolásához
// 5v-vel működik
Hibát kapok a kód ezen részében »az üres ciklus () {» segíthet
Helló, el tudnád mondani, hogy milyen könyvtárakat vagy mi a nevük a telepítéshez, mivel amikor beillesztem a kódot, azt mondja, hogy szükségem van a DTH könyvtárra
Helló, a rendszer nagyon jónak tűnik. Megpróbáltam újrateremteni, de a kód és a hozzá tartozó könyvtár beillesztésekor a következő jelenik meg.
A C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino fájlból: 5: 0:
C: \ Program Files (x86) \ Arduino \ libraries \ DHT-sensor-library-master / DHT_U.h: 36:10: fatális hiba: Adafruit_Sensor.h: Nincs ilyen fájl vagy könyvtár
#include
^ ~~~~~~~~~~~~~~~~~~
az összeállítás megszűnt.
kilépési állapot 1
Kártya fordítási hibája Arduino Uno.
Nem vagyok benne biztos, hogy szükségem lenne-e más könyvesboltra, ha valaki tud segíteni nekem.
Nagyon jó projekt, azonban a kód ellenőrzése, fordítása és feltöltése után a soros monitoron csak a "DHT11 olvasás sikertelen" jelenik meg, de nem lépi túl ezt a pontot
Helló, több problémám is van, segítsen nekem, és ha valakinek van videója, vagy találtam egy részletes videót, amit láthatok
Lenne egy kérdésem, hogy hova tegyem az áramot és milyen áramot lehet használni.
Tudnál nagyobb felbontású körvonalat hozzáadni? egyes kapcsolatok nem jól láthatók