Аутоматски систем заливања са Ардуином за ваше биљке, воћњак или башту

Заливач заливање биљака

Лето је време када многи имају тенденцију да оду на одмор у иностранство, а биљке представљају проблем, јер то не могу бити залијте оне дане кад нисте код куће. Поред тога, баштенске продавнице обично продају неку врсту гела који омогућава биљци да се хидрира и негује око месец дана. Али са врућином која је или ако одете дуже од месец дана, требат ће вам нешто бољи систем, тако да кад се вратите и даље буду живи и полетни.

Да би то било могуће, решење које постоји је куповина а аутоматски систем за наводњавање које можете програмирати или ако сте произвођач и волите „уради сам“, можете то учинити сами са Ардуином. Материјали који су вам потребни, осим плоче Ардуино, лако је пронаћи и прилично су јефтини, тако да не укључују превелике трошкове. Такође, за неке елементе попут резервоара за воду итд. Могли бисте да користите рециклиране материјале ...

Ако мало прегледате веб, наћи ћете разни пројекти ове врсте, али можда је најзанимљивије Јардуино. У томе ћу бити инспирисан за овај пројекат, јер сматрам да други системи за наводњавање који користе само сензоре влажности и ништа друго нису толико комплетни.

Шта требаш?

Л материјали потребни за ваш аутоматски систем наводњавања звук:

  • Није пронађен ниједан производ., мада би други вредели.
  • Бреадбоард или ПЦБ ако желите да га залемите и учините трајним.
  • Сензор температуре и влажности Није пронађен ниједан производ.
  • Каблови
  • Сензор ИЛ-КСНУМКС влага на тлу хигрометром који ћете залепити у посуду / е или земљу.
  • Минипумпа 3В подводна вода и приближни проток од 120 л / х.
  • Диодо КСНУМКСНКСНУМКС
  • Биполарни транзистор ПНКСНУМКС
  • 3 отпорника: 1к 220 ома, 1к 1к, 1к фоторезист ЛДР
  • Резервоар за воду, што може бити бубањ или бочица од 5 и више литара итд.
  • Тубе да бисте се повезали са минипумпом и одвели до постројења / постројења

цомо алтернативне идеје, Рекао бих вам да бисте такође могли да користите сонофф или ВиФи модул да га активирате преко Интернета одакле год да се налазите или да га побољшате додавањем аутоматског вентила на славину за програмирање пуњења резервоара за воду када се празни итд.

Како поставити аутоматски систем за наводњавање

Шема склопа у Фритзингу

Монтажа је прилично једноставна. Можете користите горњу шему да направите све везе. Систем треба да поставите на место близу прозора или тамо где се налази биљка коју желите да заливате и залепите два врха сензора влажности у земљиште биљке, близу стабљике.

Аутоматски систем за заливање са Ардуином заливаће се кад год открије а низ услова околине. На пример, када детектује слабо светло или таму, температура ваздуха је конкретна коју ћемо конфигурисати у скици Ардуино ИДЕ-а, а влага на земљи је ниска. У том тренутку активирао би мотор за заливање постројења.

Пожељно је биљке залијевати ноћу, када је мање вруће, јер би то током јаких врућих дана могло више штетити него користити ...

Запамти да мораш представите мини пумпу под водом у резервоару који сте одредили за наводњавање и који треба да има довољан капацитет да одржи дане када вас нема. Можете да направите претходне тестове да бисте знали колико траје и требало би да оставите мало више воде у случају да испарава уз јаку топлоту ...

Подразумева се да цев мора бити причвршћена за биљку тако да се не помера са ветром или да вода може да испадне и отпадне. И мислим да не би било неопходно имати на уму да морате одржавати тренутно напајање Ардуино плоче да би он функционисао ...

програмирање

Сад треба да напишете код потребан у Ардуино ИДЕ да бисте могли да програмирате микроконтролер који управља хардвером који сте користили. Ово је време да прилагодите одговарајућу вредност температуре, влажности и светлости води у вашем подручју, јер она може да варира у зависности од тога где се налазите. Али пример који можете користити као основу је (оставио сам коментаре где бисте могли да измените вредности, а остале можете оставити овако):

Преузмите код са код-наводњавање-аутозаливање-ауто за вашу башту

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

Више информација - Курс за програмирање Ардуино (бесплатан ПДФ)

Фуентес

Више информација - Јардуино


36 коментара, остави свој

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   РОГЕР ФЕРНАНДО АСТО БОНИФАЦИО дијо

    ЗАШТО ИЗЛАЗИМ из излазног статуса 1
    #инцлуде очекује „ФИЛЕНАМЕ“ или ЕСО ОН ЛОАД

    1.    Исак дијо

      Здраво,
      Ова грешка је због проблема са синтаксом у коду. Прошао сам кроз то и имао сам грешку. Сад би требало да буде у реду.
      Поздрав!

  2.   ное извори дијо

    Здраво, добар дан, и ја имам исти проблем:
    пројекат: 3:10: грешка: #инцлуде очекује „ФИЛЕНАМЕ“ или

    #инцлуде <СимплеДХТ.х>

    ^

    пројекат: 4:10: грешка: #инцлуде очекује „ФИЛЕНАМЕ“ или

    #инцлуде <СПИ.х>

    ^

    излазни статус 1
    #инцлуде очекује „ФИЛЕНАМЕ“ или

  3.   Кевин дијо

    Здраво, извините, можете ли ми помоћи у вези са грешком која се јавља у коду

  4.   саманта дијо

    На исти начин на који се јављам са грешком у коду, можете ли ми помоћи са тим проблемом

    1.    Исак дијо

      Здраво,
      Молимо вас да оставите информације о вашој грешци како бих могао да вам помогнем. Ако не знам садржај грешке, тешко ми је помоћи вам или лоцирати где је проблем ...
      поздрави

  5.   самантха вега воли дијо

    Здраво, појављује се ова грешка, како да је решим?

    грешка: СимплеДХТ.х: Нема такве датотеке или директоријума

    #инцлуде

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

    компилација прекинута.

    излазни статус 1
    СимплеДХТ.х: Не постоји таква датотека или директоријум

    1.    Исак дијо

      Здраво Самантха,
      Та грешка је зато што изгледа да Ардуино ИДЕ не открива библиотеку СимплеДХТ.х. Да ли је правилно инсталиран? У случају да га имате, покушајте да користите новију верзију Ардуино ИДЕ-а ако је старија ...
      Више информација можете погледати овде:
      https://www.arduino.cc/en/Guide/Libraries
      И преузмите библиотеку одавде:
      https://github.com/adafruit/DHT-sensor-library
      Поздрав!

  6.   пепе дијо

    Прво хвала на посту који је врло занимљив и врло валидан, али прочитао сам ово:

    „Пожељно је биљке залијевати ноћу, када је мање вруће, јер би то током јаких врућих дана могло више штетити него користити ...“

    То сам чуо много пута, али волео бих да ми неко јасно објасни како их то боли .... Узгајам биљке више од 20 година и кад је јако вруће, ништа не цене више од доброг заливања и могућности да прскалицом кваше лишће.

    Ово је мит да све што чини је да биљке трпе ... Кад вам је вруће и жедно, чекате ли ноћ да попијете? ... размислите о томе

    хвала на посту !!!

    1.    Исак дијо

      Здраво Пепе,
      Хвала на уносу. Живим на селу и понекад када је врућина веома интензивна, заливање биљака у врућим сатима може их убити. Сам сам то проверио (поред тога, није исто у зависности од географског подручја у коме се налазите, у мојој земљи је веома вруће). То може бити из неколико разлога:
      1-Јер се капљице воде на лишћу понашају попут стакла, сагоревајући их сунчевом светлошћу попут лупе.
      2-Биљке имају стомате који се затварају како не би дехидрирали када је сунчано. Ако их залијете, отвориће се и могу проузроковати дехидратацију.
      3 -Ако су у пластичној посуди, ефекат би могао бити још гори.
      Поздрав!

  7.   Андрес царо дијо

    ЗДРАВО!!
    Заиста ми се свидео разрађени пројекат, имам своју башту и тестирам овај пројекат као лично искуство, без стицања уносне користи, желео сам само да вас питам да ли бисте ми помогли са кодом, јер ми даје грешку , Имам ДХТ библиотеку, али када је проверим, баца грешку на крај кода: {Сериал.принтлн ("Заливање заустављено");} и каже ми да је у програму: залутало '\ 342'.
    Имам врло мало знања о томе и истраживао сам и нисам успео да га решим.
    Био бих захвалан ако ми помогнете. Хвала 😀

    1.    Исак дијо

      Здраво,
      Да ли је код тачан? Односно, нема грешке у куцању?
      С друге стране, више о тој грешци можете проверити овде:
      https://forum.arduino.cc/index.php?topic=386225.0
      поздрави

  8.   Јосе Арредондо дијо

    Здраво Добар дан, извините, не знам да ли постоји начин да вас контактирам, то је што ми ствара многе грешке са овим кодом у ардуину

    1.    Исак дијо

      Поздрав свима,
      Очистио сам код и поново га написао да бих утврдио да ли је из неког разлога дошло до грешке у коду који је приказан на мрежи. Да би се могао преузети, нови код сам оставио у вези за преузимање непосредно пре кода који се појављује на мрежи. Ако кликнете тамо, можете је преузети у текстуалном формату. Надам се да више неће бити проблема.
      Поздрав!

  9.   Цхакуи дијо

    Како могу да додам вифи модул? и да ли би то било могуће контролисати подношењем пријаве?

  10.   Цхакуи дијо

    Каква је и храна: ц?

    1.    Луис Алберто Алварадо дијо

      Здраво Цхакуи! Покушавам да учиним исто што и ти, можеш ли ми помоћи ако си завршио свој код ????

  11.   Нереа дијо

    Питање која би компонента била она између Ардуино плоче и ДХТ11 сензора?
    Хвала Вам много!!

    1.    Исак дијо

      Здраво Нереа,
      Мислите на диоду и отпорник? Приметите да се у одељку пре дијаграма налази списак свих компоненти ...
      Поздрав!

  12.   Јаннет дијо

    Здраво, имате видео како је изгледао ваш систем за наводњавање.?

  13.   Алејандро Баррос дијо

    извините само ради за arduino uno или такође за ардуино мега

  14.   Еммануел дијо

    Здраво добро јутро, извините што сам желео да поставим питање зашто када отворим монитор Ардуино иде, добијем неуспело очитавање сензора дхт11?
    Читав програм се добро компајлирао и добро учитао, детаљ је када отворим монитор и појави се та легенда.
    Шта може бити?

  15.   ДАНИЕЛ АЛФРЕДО РИВАС МЕДИНА дијо

    ПОЗДРАВ ПРИЈАТЕЉ ОДЛИЧАН ПОСАО АЛИ ДАЈЕ ГРЕШКУ У ОВОЈ ДЕО Нема такве датотеке или директоријума

    #инцлуде
    ШТА ЋЕ БИТИ? Ценио бих вашу помоћ

  16.   Исабелл дијо

    ПОЗДРАВ, ОВО ЈЕ ЈАВНО, АЛИ ТО НИЈЕ ВАЖНО, ЗАИСТА ЖЕЛИМ ДА ЗАХВАЛИМ ОСОБИ ИЛИ ЉУДИМА КОЈИ СУ УЧЕСТВОВАЛИ У РАЗВОЈУ ОВОГ ПРОЈЕКТА, МОЖДА МНОГО ЈЕ ФОЛО, АЛИ СТЕ МЕНИ СПАСИЛИ ЖИВОТ, ХВАЛА ШКОЛУ У КОЈУ НЕ ЖЕЛИМ ПРИПАДИ И ИСТИНУ КОЈА СЕ НЕ ЖАЛИМ ДА САМ НАУЧИО, ХВАЛА НА СТРАНИЦИ, ЖЕЛИМ ВАМ НАЈБОЉЕ.

  17.   Аиелен дијо

    Како могу да додам вифи модул? и да ли би то било могуће контролисати подношењем пријаве?

  18.   Брајан дијо

    #инцлуде "ДХТ.х"
    ДХТ дхт (2, ДХТ11);
    инт валуеЛДР;
    инт пинЛДР = А5;
    инт МОТОР = 8;
    // —————————————————————————————————————————————-
    воид сетуп ()
    {
    Сериал.бегин (9600);
    валуеЛДР = 0;
    Сериал.бегин (9600);
    Сериал.принтлн („ТЕСТ СИСТЕМА НАВОДЊАВАЊА“);
    дхт.бегин ();
    пинМоде (МОТОР, ИЗЛАЗ);
    Сериал.принтлн („Вредност сензора влажности“);
    }
    // —————————————————————————————————————————————-
    воид лооп ()
    {
    Сериал.принтлн («============================================ = ========================== »);
    инт влажност = аналогРеад (А0);
    Сериал.принт ("Читање:");
    Сериал.принтлн (влажност);
    ако (влажност> = 0 и влажност> = 1000) {
    Сериал.принтлн („Сензор у сувом тлу“);
    } иначе ако (влажност> 500 и влажност <= 1000) {
    Сериал.принтлн („Сензор у влажном тлу“);
    } иначе ако (влажност <= 500) {
    Сериал.принтлн („Сензор у води“);
    }
    валуеЛДР = аналогРеад (пинЛДР);
    Сериал.принт ("ЛИГХТ (");
    Сериал.принт (валуеЛДР);
    Сериал.принтлн (")");
    кашњење (2000);
    флоат х = дхт.реадХумидити ();
    флоат т = дхт.реадТемпературе ();
    иф (иснан (х) || иснан (т)) {
    Сериал.принтлн („Прочитавање сензора ДХТ11 није успело!“);
    вратити;
    }
    Сериал.принт ("Влажност:");
    Сериал.принт (х);
    Сериал.принт ("%");
    Сериал.принт ("Температура:");
    Сериал.принт (т);
    Сериал.принтлн ("* Ц");
    ако (х <= 50 && ЛДРвредност <70 && т = 1000) {
    дигиталВрите (МОТОР, ВИСОКО);
    Сериал.принтлн ("Обавезно залијевати");
    }
    елсе {
    дигиталВрите (МОТОР, ЛОВ);
    Сериал.принтлн („НЕ СМЕ залијевати“);
    }
    кашњење (1000);
    }

    Користио сам само
    -ДТХ температуре и влажности на пин 2
    -ЛДР фотоотпор на пин А5
    -мотор на пин 8
    -сензор за влагу у тлу на затик А0
    ово је мој код, надам се и ради за вас

    -сензор влаге за тло

  19.   Јосе Л. дијо

    Добро јутро, имам проблема са кодом, добијам ово и користим најновији софтвер:

    скетцх_нов12ц: 1: 10: фатална грешка: СимплеДХТ.х: Нема такве датотеке или директоријума

    #инцлуде

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

    компилација прекинута.

    излазни статус 1

    СимплеДХТ.х: Не постоји таква датотека или директоријум

    Желео бих да ми помогнете како да решим ово, молим вас, пошто сам нов у томе, не знам како то функционише баш добро. Хвала вам.

  20.   јохн дијо

    Поздрав, можете ли оставити бољу слику о томе како је склоп спојен? Није добро цењен, с којим напоном се напаја? Хвала

  21.   Брајан дијо

    #инцлуде "ДХТ.х"
    ДХТ дхт (2, ДХТ11);
    инт валуеЛДР;
    инт пинЛДР = А5;
    инт МОТОР = 8;
    // —————————————————————————————————————————————-
    воид сетуп ()
    {
    Сериал.бегин (9600);
    валуеЛДР = 0;
    Сериал.бегин (9600);
    Сериал.принтлн („ТЕСТ СИСТЕМА НАВОДЊАВАЊА“);
    дхт.бегин ();
    пинМоде (МОТОР, ИЗЛАЗ);
    Сериал.принтлн („Вредност сензора влажности“);
    }
    // —————————————————————————————————————————————-
    воид лооп ()
    {
    Сериал.принтлн («============================================ = ========================== »);
    // —————————————————————————————–
    // ———– Влага, сензор тла —————————————————–
    инт влажност = аналогРеад (А0);
    Сериал.принт ("Читање:");
    Сериал.принтлн (влажност);
    ако (влажност> = 0 и влажност> = 1000) {
    Сериал.принтлн („Сензор у сувом тлу“);
    } иначе ако (влажност> 500 и влажност <= 1000) {
    Сериал.принтлн („Сензор у влажном тлу“);
    } иначе ако (влажност <= 500) {
    Сериал.принтлн („Сензор у води“);
    }
    // —————————————————————————————–
    // ————— Фото отпор ———————————————————-
    валуеЛДР = аналогРеад (пинЛДР);
    Сериал.принт ("ЛИГХТ (");
    Сериал.принт (валуеЛДР);
    Сериал.принтлн (")");
    кашњење (2000);
    // —————————————————————————————–
    // ————— Сензор ДТХ11 температуре и влажности у ваздуху —————————–
    флоат х = дхт.реадХумидити ();
    флоат т = дхт.реадТемпературе ();
    иф (иснан (х) || иснан (т)) {
    Сериал.принтлн („Прочитавање сензора ДХТ11 није успело!“);
    вратити;
    }
    Сериал.принт ("Влажност:");
    Сериал.принт (х);
    Сериал.принт ("%");
    Сериал.принт ("Температура:");
    Сериал.принт (т);
    Сериал.принтлн ("* Ц");
    // —————————————————————————————–
    // ———— Стање воде или не воде ———————————————-
    // (Влажност ваздуха) (Фотоотпор) (Температура) (Влажност Земље)
    ако (х <= 50 && ЛДРвредност <70 && т = 1000) {
    дигиталВрите (МОТОР, ВИСОКО);
    Сериал.принтлн ("Обавезно залијевати");
    }
    елсе {
    дигиталВрите (МОТОР, ЛОВ);
    Сериал.принтлн („НЕ СМЕ залијевати“);
    }
    кашњење (1000);
    }

    // чим пинови само провере да ли је пумпа пвм пин и
    // онај ЛДР фоторезиста је аналоган, а такође је и влаге у земљи једнак игли
    // аналогни и они из дтх11 сензора температуре и влажности ваздуха
    // дигиталне иглице и даље могу бити засноване на оригиналном коду ове странице
    // за повезивање пинова
    // ради са 5в

  22.   Ерицк дијо

    Добијам грешку у овом делу кода »емпти лооп () {» може ми помоћи

  23.   Андрес П. дијо

    Здраво, можете ли ми рећи које библиотеке или како се зову да их инсталирам, јер када налепите код, говори ми да ми треба ДТХ библиотека

  24.   Андрес Гузман дијо

    Здраво, систем делује врло добро. Покушао сам да га поново створим, али у време укључивања кода и одговарајуће библиотеке појављује се следеће.

    У датотеци укљученој из Ц: \ Усерс \ Усер \ Доцументс \ Ардуино \ ТЕСТ_1 \ ТЕСТ_1.ино: 5: 0:
    Ц: \ Програм Филес (к86) \ Ардуино \ либрариес \ ДХТ-сенсор-либрари-мастер / ДХТ_У.х: 36:10: фатална грешка: Адафруит_Сенсор.х: Нема такве датотеке или директоријума
    #инцлуде
    ^ ~~~~~~~~~~~~~~~~~~
    компилација прекинута.
    излазни статус 1
    Грешка при компајлирању за картицу Arduino Uno.

    Нисам сигуран да ли ми треба нека друга књижара ако ми неко може помоћи.

  25.   ПЕПЕ ГОНЗАЛЕС дијо

    Врло добар пројекат, међутим након верификације кода, састављања и учитавања, једино што се појављује на серијском монитору је „ДХТ11 читање није успело“, он не прелази ту тачку

  26.   Роус дијо

    Здраво, имам неколико проблема, можете ли ми помоћи и ако неко има видео запис или сам пронашао детаљан видео који могу да видим

  27.   Себастиан дијо

    Имам питање где да ставим струју и која врста струје се може користити.

  28.   адриан дијо

    Можете ли да додате контуру веће резолуције? неке везе нису јасно видљиве