Arduinoga automaatne kastmissüsteem teie taimede, viljapuuaia või aia jaoks

Taimede kastmiskast

Suvi on aeg, kus paljud kipuvad välismaale puhkama ja taimed on probleemiks, kuna need ei saa nii olla kastke neid päevi, kui te pole kodus. Lisaks müüvad aiakauplused tavaliselt sellist geeli, mis võimaldab teil taime niisutada ja toita umbes kuu aega. Kuid praeguse kuumusega või kui lahkute kauemaks kui kuu, vajate mõnevõrra paremat süsteemi, et naastes oleksid nad endiselt elus ja jõulised.

Et see oleks võimalik, on olemasolev lahendus osta a automaatne niisutussüsteem mida saate programmeerida või kui olete tegija ja teile meeldib ise teha, saate seda ise teha Arduinoga. Vajalikud materjalid peale Arduino plaadi on hõlpsasti leitavad ja üsna odavad, nii et nendega ei kaasne liiga suuri kulutusi. Mõne elemendi jaoks, näiteks veepaak jne, võiksite kasutada taaskasutatud materjale ...

Kui sirvite natuke veebi, leiate mitmesuguseid seda tüüpi projekte, kuid võib-olla kõige huvitavam on aed. Sellest olen inspireeritud selle projekti jaoks, kuna leian, et muud niisutussüsteemid, mis kasutavad ainult niiskusandureid ja mitte midagi muud, pole nii täielikud.

Mida sa vajad?

osa teie automaatse niisutussüsteemi jaoks vajalikud materjalid Heli:

  • Tooteid ei leitud., kuigi teised oleksid seda väärt.
  • Leivaplaat või PCB kui soovite selle jootma ja püsivaks muuta.
  • Temperatuuri ja niiskuse andur Tooteid ei leitud.
  • Kaablid
  • Andur YL-69 niiskus hügromeetriga maapinnal, et see teie potti või mulda pista.
  • Minipump 3V sukeldatav vesi ja ligikaudne vooluhulk 120 l / h.
  • Diood 1N4007
  • Bipolaarne transistor PN2222
  • 3 takistid: 1x 220 oomi, 1x 1k, 1x fotoresist LDR
  • Veepaak, milleks võib olla trummel või 5-liitrine või rohkem pudel jne.
  • Toru minipumba külge ühendamiseks ja tehase juurde viimiseks

Como alternatiivsed ideed, Ma ütleksin teile, et võite kasutada ka sonoffi või WiFi-moodulit, et aktiveerida see Interneti kaudu kõikjal, või täiustada seda, lisades kraanile ka automaatse ventiili, et programmeerida veepaagi täitmist tühjendamisel , jne.

Automaatse niisutussüsteemi seadistamine

Fritzingi assamblee skeem

Montaaž on üsna lihtne. Sa võid kõigi ühenduste loomiseks kasutage ülaltoodud skeemi. Peaksite oma süsteemi paigutama akna lähedal asuvasse kohta või sinna, kus taim, mida soovite kastma, ja kleepida niiskuse anduri kaks otsa taime pinnasesse, varre lähedale.

Arduino automaatne kastmissüsteem kastab alati, kui tuvastab a keskkonnatingimuste seeria. Näiteks kui see tuvastab vähese valguse või pimeduse, on õhutemperatuur konkreetne, mille konfigureerime Arduino IDE visandis, ja maapinna niiskus on madal. Sel hetkel aktiveeris ta taime kastmiseks mootori.

Taimi on soovitatav kasta öösel, kui see on vähem kuum, sest intensiivsete kuumade päevade korral võib see kahjustada rohkem kui kasu ...

Pidage meeles, et peate tutvustage minipumpa vee all paagis, mille olete määranud niisutamiseks ja millel peaks olema piisav maht, et hoida ära päevad, mil te pole seal. Varasemaid katseid saate teha, et teada saada, kui kaua see kestab, ja peaksite jätma veidi rohkem vett juhuks, kui see aurustub tugeva kuumusega ...

On ütlematagi selge, et toru tuleb taime külge kinnitada nii, et see ei liiguks koos tuulega või vesi saaks välja kukkuda ja raisku minna. Ja ma arvan, et poleks vaja meeles pidada, et Arduino plaadi töötamiseks peate säilitama praeguse varustuse ...

programmeerimine

Nüüd on aeg, kui peaksite kirjutama vajalik kood Arduino IDE-s et saaksite programmeerida mikrokontrollerit, mis haldab teie kasutatud riistvara. See on aeg, et kohandada sobivat temperatuuri, niiskuse ja valguse väärtust oma piirkonna veele, kuna see võib varieeruda sõltuvalt teie asukohast. Kuid näide, mida saate aluseks võtta, on (olen jätnud kommentaarid, kus saaksite väärtusi muuta, ülejäänud võite selle jätta nii):

Laadige kood alla aadressilt kood-niisutus-autokastmine-auto teie aia jaoks

#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
}

Rohkem informatsiooni - Arduino programmeerimiskursus (tasuta PDF)

allikad

Rohkem informatsiooni - aed


36 kommentaari, jätke oma

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   ROGER FERNANDO ASTO BONIFACIO DIJO

    MIKS MA VÄLJUN väljumisstaatusest 1
    #include eeldab, et "FILENAME" või ESO ON LOAD

    1.    Isaac DIJO

      Tere,
      See tõrge on tingitud mõnest süntaksiprobleemist koodis. Olen selle läbi elanud ja mul on viga. Nüüd peaks see hästi olema.
      Tervitus!

  2.   noe allikad DIJO

    Tere, tere pärastlõunal, mul on ka sama probleem:
    projekt: 3:10: tõrge: #include eeldab "FILENAME" või

    #include <SimpleDHT.h>

    ^

    projekt: 4:10: tõrge: #include eeldab "FILENAME" või

    #kaasas <SPI.h>

    ^

    väljumisstaatus 1
    #include eeldab "FILENAME" või

  3.   kevin DIJO

    Tere, vabandage, kas saate mind aidata koodis ilmneva vea korral

  4.   samanta DIJO

    Samamoodi esitatakse mulle koodis viga, kas saaksite mind selle probleemiga aidata

    1.    Isaac DIJO

      Tere,
      Jätke teave teie vea kohta, et saaksin aidata. Kui ma ei tea vea sisu, on mul raske teid aidata või leida probleemi koht ...
      tervitused

  5.   samantha vega armastab DIJO

    Tere, see viga ilmub, kuidas ma saan selle lahendada?

    viga: SimpleDHT.h: Sellist faili ega kataloogi pole

    #include

    ^ ~~~~~~~~~~~~

    koostamine lõpetati.

    väljumisstaatus 1
    SimpleDHT.h: Sellist faili ega kataloogi pole

    1.    Isaac DIJO

      Tere, Samantha,
      See viga on tingitud sellest, et Arduino IDE ei näi tuvastavat SimpleDHT.h teeki. Kas teil on see õigesti installitud? Kui teil see on, proovige kasutada Arduino IDE uuemat versiooni, kui see on vanem ...
      Lisateavet saate vaadata siit:
      https://www.arduino.cc/en/Guide/Libraries
      Ja hankige raamatukogu siit:
      https://github.com/adafruit/DHT-sensor-library
      Tervitus!

  6.   Pepe DIJO

    Kõigepealt tänan postitust, mis on väga huvitav ja väga kehtiv, kuid olen seda lugenud:

    "Taimi on soovitatav kasta öösel, kui see on vähem kuum, sest intensiivsete kuumade päevade korral võib see kahjustada rohkem kui kasu ..."

    Olen seda mitu korda kuulnud, kuid tahaksin, et keegi selgitaks mulle selgelt, kuidas see neile haiget teeb ... Olen taimi kasvatanud üle 20 aasta ja kui on väga palav, ei hinda nad midagi muud kui head kastmist ja seda, et saaksin olla koos vihmutiga lehti niisutamas.

    See on müüt, et kõik, mis ta teeb, on see, et taimed kannatavad ... Kas teil on palav ja janu, kas ootate juua õhtuni? ... mõtle sellele

    aitäh postituse eest !!!

    1.    Isaac DIJO

      Tere, Pepe,
      Täname teie panuse eest. Ma elan maal ja mõnikord, kui kuumus on väga tugev, võib taimede kastmine kuumadel tundidel neid tappa. Olen seda ka ise kontrollinud (lisaks pole see sama, olenevalt geograafilisest piirkonnast, kus te olete, minu maal on see väga kuum). See võib olla mitmel põhjusel:
      1 - Kuna veepiisad lehtedel toimivad nagu klaas, põletavad neid päikesevalgusega nagu suurendusklaas.
      2 - taimedel on stomata, mis sulguvad, et mitte kuivada, kui on päikseline. Kui te neid kastate, avanevad need ja võivad põhjustada nende dehüdratsiooni.
      3 - kui nad on plastpotis, võib see mõju olla veelgi hullem.
      Tervitus!

  7.   Andrew kallis DIJO

    TERE!!
    Mulle meeldis väljatöötatud projekt väga, mul on oma aed ja ma katsetan seda projekti isikliku kogemusena, saamata tulusat kasu, tahtsin lihtsalt teilt küsida, kas aitaksite mind koodiga, kuna see annab mulle vea , Mul on DHT-teek, kuid selle kontrollimisel viskan koodi lõppu vea: {Serial.println ("Kastmine on peatatud");} ja ütleb mulle, et see on: hulkuv '\ 342' programmis.
    Mul on asjast väga vähe teadmisi ja olen uurinud ega ole suutnud seda lahendada.
    Oleksin tänulik, kui aitaksite mind. Aitäh 😀

    1.    Isaac DIJO

      Tere,
      Kas kood on õige? See tähendab, et sellel pole kirjavigu?
      Teiselt poolt saate selle vea kohta lisateavet siit:
      https://forum.arduino.cc/index.php?topic=386225.0
      tervitused

  8.   Joseph Arredondo DIJO

    Tere Tere pärastlõunal, vabandust, ma ei tea, kas on võimalik teiega ühendust võtta, see on see, et see annab mulle selle arduino koodiga palju vigu

    1.    Isaac DIJO

      Tere kõigile,
      Olen koodi puhastanud ja uuesti kirjutanud, et näha, kas veebis kuvatud koodis oli mingil põhjusel viga. Selleks, et seda saaks alla laadida, olen jätnud uue koodi allalaadimislingile vahetult enne veebis ilmuvat koodi. Kui klõpsate seal, saate selle alla laadida tekstivormingus. Loodan, et probleeme pole enam.
      Tervitus!

  9.   Chaki DIJO

    Kuidas lisada wifi moodulit? ja kas seda oleks võimalik rakenduse abil kontrollida?

  10.   Chaki DIJO

    Kuidas on toit ka: c?

    1.    Luis Alberto Alvarado DIJO

      Tere, Chaqui! Püüan teha sama nagu sina, kas saaksite mind aidata, kui olete oma koodi lõpetanud ????

  11.   Nerea DIJO

    Küsimus, milline komponent oleks Arduino plaadi ja DHT11 anduri vahel?
    Tänan sind väga!!

    1.    Isaac DIJO

      Tere Nerea,
      Pead silmas dioodi ja takistit? Pange tähele, et skeemi eelses osas on kõigi komponentide loend ...
      Tervitus!

  12.   Jannet DIJO

    Tere, teil on video selle kohta, kuidas teie niisutussüsteem oli.?

  13.   Alejandro Barros DIJO

    vabandust, et ma ainult töötan arduino uno või ka arduino mega jaoks

  14.   Emmanuel DIJO

    Tere, tere hommikust, vabandust, et tahtsin esitada küsimuse, miks saan Arduino ide monitori avades ebaõnnestunud dht11 anduri näidu?
    Kogu programm koostati hästi ja laaditi hästi, detail on see, kui ma monitori avan ja see legend ilmub.
    Mis see olla saab?

  15.   DANIEL ALFREDO RIVAS MEDINA DIJO

    TERE SÕBER SUUR TÖÖ, AGA MINU SAAB VIGA SELLE OSA Sellist faili ega kataloogi pole

    #include
    MIS SEE SAAB? Ma hindaksin teie abi

  16.   Isabell DIJO

    TERE, SEE ON AVALIK, KUID ASJA EI OLE, Tahan tõesti TÄNUD INIMESTE VÕI INIMESTELE, KES OSALESID SELLE PROJEKTI ARENGUS, VÕIB VÕIB PALJU SEE LOLL olla, AGA OLE PÄRAST SINU ELU PÄRAN, NII TÄNAN KOOL, MILLEGA MA EI TAHA kuuluda, ja TÕDE, MIS EI KAHJUSTAN, ET OLEN ÕPPINUD, AITÄH TEILE LEHE EEST, SOOVIN PARIMAT.

  17.   Ayelen DIJO

    Kuidas lisada wifi moodulit? ja kas seda oleks võimalik rakenduse abil kontrollida?

  18.   Brian DIJO

    #include "DHT.h"
    DHT dht (2, DHT11);
    int väärtusLDR;
    int pinLDR = A5;
    int MOOTOR = 8;
    // ——————————————————————————————————————————————-
    kehtetu seadistamine ()
    {
    Serial.begin (9600);
    väärtusLDR = 0;
    Serial.begin (9600);
    Serial.println ("KASTESÜSTEEMI TEST");
    dht. algus ();
    pinMode (MOTOR, VÄLJUND);
    Serial.println ("Niiskusanduri väärtus");
    }
    // ——————————————————————————————————————————————-
    void loop ()
    {
    Serial.println («============================================== ========================== »);
    int niiskus = analoogRead (A0);
    Serial.print ("Loe:");
    Serial.println (niiskus);
    kui (niiskus> = 0 ja niiskus> = 1000) {
    Serial.println ("Andur kuivas pinnases");
    } else if (niiskus> 500 ja niiskus <= 1000) {
    Serial.println ("Sensor märjas mullas");
    } else if (niiskus <= 500) {
    Serial.println ("Sensor vees");
    }
    väärtusLDR = analogRead (pinLDR);
    Serial.print ("LIGHT (");
    Serial.print (väärtusLDR);
    Serial.println (")");
    viivitus (2000);
    ujuk h = dht.loeNiiskus ();
    ujuk t = dht.loeTemperatuur ();
    kui (isnan (h) || isnan (t)) {
    Serial.println ("DHT11 anduri lugemine nurjus!");
    tagasi;
    }
    Serial.print ("Niiskus:");
    Seeriaprint (h);
    Seeriaprint ("%");
    Serial.print ("Temperatuur:");
    Seeriaprint (t);
    Serial.println ("* C");
    kui (h <= 50 && LDRväärtus <70 && t = 1000) {
    digitalWrite (MOTOR, HIGH);
    Serial.println ("Peab kastma");
    }
    veel {
    digitalWrite (MOTOR, LOW);
    Serial.println ("ei tohiks kasta");
    }
    viivitus (1000);
    }

    Kasutasin ainult
    -Temperatuuri ja niiskuse DTH tihvt 2
    - LDR fotoresist tihvtil A5
    - mootor tihvti 8 peal
    - pinnase niiskuse andur tihvtil A0
    see on minu kood, ma loodan, ja see töötab teie jaoks

    -niiskuse andur pinnase jaoks

  19.   Jose L. DIJO

    Tere hommikust, mul on probleeme selle saanud koodiga ja kasutan uusimat tarkvara:

    sketch_nov12c: 1: 10: saatuslik viga: SimpleDHT.h: Sellist faili ega kataloogi pole

    #include

    ^ ~~~~~~~~~~~~

    koostamine lõpetati.

    väljumisstaatus 1

    SimpleDHT.h: Sellist faili ega kataloogi pole

    Tahaksin, et aitaksite mind selle lahendamisel, palun, kuna ma olen selles uus, ei tea, kuidas see väga hästi töötab. Aitäh.

  20.   John DIJO

    Tere, kas saaksite jätta parema pildi sellest, kuidas vooluahel on ühendatud? Seda ei hinnata hästi, millise toitepingega seda toidetakse? Aitäh

  21.   Brian DIJO

    #include "DHT.h"
    DHT dht (2, DHT11);
    int väärtusLDR;
    int pinLDR = A5;
    int MOOTOR = 8;
    // ——————————————————————————————————————————————-
    kehtetu seadistamine ()
    {
    Serial.begin (9600);
    väärtusLDR = 0;
    Serial.begin (9600);
    Serial.println ("KASTESÜSTEEMI TEST");
    dht. algus ();
    pinMode (MOTOR, VÄLJUND);
    Serial.println ("Niiskusanduri väärtus");
    }
    // ——————————————————————————————————————————————-
    void loop ()
    {
    Serial.println («============================================== ========================== »);
    // —————————————————————————————–
    // ———– Niiskus, mullaandur ——————————————————–
    int niiskus = analoogRead (A0);
    Serial.print ("Loe:");
    Serial.println (niiskus);
    kui (niiskus> = 0 ja niiskus> = 1000) {
    Serial.println ("Andur kuivas pinnases");
    } else if (niiskus> 500 ja niiskus <= 1000) {
    Serial.println ("Sensor märjas mullas");
    } else if (niiskus <= 500) {
    Serial.println ("Sensor vees");
    }
    // —————————————————————————————–
    // ————— Fotokindlus ———————————————————-
    väärtusLDR = analogRead (pinLDR);
    Serial.print ("LIGHT (");
    Serial.print (väärtusLDR);
    Serial.println (")");
    viivitus (2000);
    // —————————————————————————————–
    // ————— Anduri DTH11 temperatuur ja õhuniiskus —————————–
    ujuk h = dht.loeNiiskus ();
    ujuk t = dht.loeTemperatuur ();
    kui (isnan (h) || isnan (t)) {
    Serial.println ("DHT11 anduri lugemine nurjus!");
    tagasi;
    }
    Serial.print ("Niiskus:");
    Seeriaprint (h);
    Seeriaprint ("%");
    Serial.print ("Temperatuur:");
    Seeriaprint (t);
    Serial.println ("* C");
    // —————————————————————————————–
    // ———— Seisund veega või mitte -————————————————-
    // (õhuniiskus) (fotoresist) (temperatuur) (maa õhuniiskus)
    kui (h <= 50 && LDRväärtus <70 && t = 1000) {
    digitalWrite (MOTOR, HIGH);
    Serial.println ("Peab kastma");
    }
    veel {
    digitalWrite (MOTOR, LOW);
    Serial.println ("ei tohiks kasta");
    }
    viivitus (1000);
    }

    // niipea, kui tihvtid kontrollivad ainult seda, et pump on pwm tihvt ja
    / / LDR fotoresisti omadus on analoogne ja ka mulla niiskus võrdub tihvtiga
    // analoog ja õhutemperatuuri ja niiskuse anduri dth11 omad
    // digitaalsed tihvtid võivad endiselt põhineda selle lehe algsel koodil
    // tihvtide ühendamiseks
    // töötab 5v-ga

  22.   Erick DIJO

    Koodi selles osas kuvatakse viga »tühi silmus () {» võib mind aidata

  23.   Andrew P. DIJO

    Tere, kas saaksite öelda, millised teegid või mis on nende nimi nende installimiseks, kuna koodi kleepimisel öeldakse mulle, et vajan DTH teeki

  24.   Andres Guzman DIJO

    Tere, süsteem tundub väga hea. Püüdsin seda uuesti luua, kuid koodi ja vastava teegi lisamise ajal ilmub järgmine.

    Failis, mis sisaldub kataloogis C: \ Users \ User \ Documents \ Arduino \ TEST_1 \ TEST_1.ino: 5: 0:
    C: \ Program Files (x86) \ Arduino \ library \ DHT-sensor-library-master / DHT_U.h: 36:10: saatuslik viga: Adafruit_Sensor.h: sellist faili ega kataloogi pole
    #include
    ^ ~~~~~~~~~~~~~~~~~~
    koostamine lõpetati.
    väljumisstaatus 1
    Kaardi koostamise viga Arduino Uno.

    Ma pole kindel, kas mul on vaja mõnda muud raamatupoodi, kui keegi saab mind aidata.

  25.   PEPE GONZALES DIJO

    Väga hea projekt, kuid pärast koodi kontrollimist, kompileerimist ja üleslaadimist kuvatakse jademonitoril ainult "DHT11 lugemine ebaõnnestus", see ei lähe sellest punktist kaugemale

  26.   Rouss DIJO

    Tere, mul on mitu probleemi, kas saaksite mind aidata ja kui kellelgi on video või ma leidsin üksikasjaliku video, mida ma näen

  27.   Sebastian DIJO

    Mul on küsimus, kuhu voolu panna ja mis tüüpi voolu saab kasutada.

  28.   Adrian DIJO

    Kas saate lisada suurema eraldusvõimega kontuuri? mõned ühendused pole selgelt nähtavad