Лятото е време, когато мнозина са склонни да излизат на почивка навън и растенията са проблем, тъй като не могат да бъдат поливайте онези дни, когато не сте у дома. Освен това градинските магазини обикновено продават вид гел, който хидратира и подхранва растението за около месец. Но с горещината, която е или ако напуснете за повече от месец, ще ви трябва малко по-добра система, така че когато се върнете, те да са все още живи и енергични.
За да е възможно това, съществуващото решение е да си купите автоматична напоителна система че можете да програмирате или ако сте производител и харесвате „Направи си сам“, можете да го направите сами с Arduino. Материалите, от които се нуждаете, освен дъската Arduino, са лесни за намиране и доста евтини, така че не включват твърде големи разходи. Също така за някои елементи като резервоара за вода и т.н. можете да използвате рециклирани материали ...
Ако сърфирате малко в мрежата, ще намерите различни проекти от този тип, но може би най-интересното е Джардуино. В това ще се вдъхновя за този проект, тъй като считам, че други напоителни системи, които използват само сензори за влажност и нищо друго, не са толкова пълни.
Какво ви трябва
Лос материали, необходими за вашата автоматична напоителна система звук:
- Няма намерени продукти, въпреки че други биха си стрували.
- Макет или ПХБ ако искате да го запоите и да го направите постоянен.
- Сензор за температура и влажност Няма намерени продукти
- Кабели
- Sensor YL-69 влага на земята с хигрометър, който да залепите във вашите саксии или пръст.
- Минипомпа 3V потопяема вода и приблизителен дебит от 120 l / h.
- Диодо 1N4007
- Биполярен транзистор PN2222
- 3 Резистори: 1x 220 ома, 1x 1k, 1x Няма намерени продукти
- Резервоар за вода, което може да бъде барабан или бутилка от 5 или повече литра и т.н.
- тръба за да се свържете с минипомпата и да отведете до централата / ите
Como алтернативни идеи, Бих ви казал, че можете също да използвате соноф или WiFi модул, за да го активирате през интернет, където и да сте, или да го подобрите, като добавите и автоматичен клапан към крана, за да програмирате пълненето на резервоара за вода, когато се изпразни и т.н.
Как да настроите системата за автоматично напояване
Сглобяването е доста просто. Може използвайте горната схема, за да направите всички връзки. Трябва да позиционирате системата си на място близо до прозореца или там, където се намира растението, което искате да поливате, и да залепите двата върха на сензора за влажност в почвата на растението, близо до стъблото.
Автоматичната система за напояване с Arduino ще напоява всеки път, когато открие a поредица от условия на околната среда. Например, когато открие слаба светлина или тъмнина, температурата на въздуха е конкретна, която ще конфигурираме в скицата на Arduino IDE, а влажността на земята е ниска. В този момент той щеше да задейства мотора за напояване на централата.
Препоръчително е да поливате растенията през нощта, когато е по-малко горещо, тъй като това при интензивни горещи дни може да навреди повече, отколкото да носи полза ...
Не забравяйте, че трябва въведете мини помпата под вода в резервоара, който сте предназначили за напояване и който трябва да има достатъчен капацитет, за да задържи дните, в които не сте там. Можете да направите предишни тестове, за да разберете колко дълго трае и трябва да оставите малко повече вода, в случай че се изпари с интензивната топлина ...
От само себе си се разбира, че тръбата трябва да бъде фиксирана към растението, така че да не се движи с вятъра или водата да може да изпадне и да бъде похабена. И мисля, че не би било необходимо да се помни, че трябва да поддържате текущо захранване на платката Arduino, за да работи ...
програмиране
Сега е моментът, в който трябва да напишете код, необходим в Arduino IDE за да можете да програмирате микроконтролера, който управлява хардуера, който сте използвали. Това е моментът да адаптирате подходящите стойности на температурата, влажността и светлината към водата във вашия район, тъй като тя може да варира в зависимост от това къде се намирате. Но примерът, който можете да използвате като основа е (оставих коментари, където можете да модифицирате стойностите, останалите можете да го оставите така):
Изтеглете кода от код-напояване-автополиване-авто за вашата градина
#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 }
Повече информация - Курс по програмиране на Arduino (безплатен PDF)
Фуентес
Повече информация - Джардуино
ЗАЩО ИЗХОДЯ от изходен статус 1
#include очаква "FILENAME" или ESO ON LOAD
Здравейте,
Тази грешка се дължи на някакъв проблем със синтаксиса в кода. Преминах през него и имах грешка. Сега трябва да се оправи.
Поздрави!
Здравейте, добър ден, аз също имам същия проблем:
проект: 3:10: грешка: #include очаква "FILENAME" или
#include <SimpleDHT.h>
^
проект: 4:10: грешка: #include очаква "FILENAME" или
#включете <SPI.h>
^
изходен статус 1
#include очаква "FILENAME" или
Здравейте, извинете, можете ли да ми помогнете с грешка, която се появява в кода
По същия начин ми се представя грешка в кода, бихте ли ми помогнали с този проблем, моля
Здравейте,
Моля, оставете информация за грешката, която имате, за да мога да помогна. Ако не знам съдържанието на грешката, ми е трудно да ви помогна или да намеря къде е проблемът ...
поздравления
Здравейте, появява се тази грешка, как мога да я разреша?
грешка: SimpleDHT.h: Няма такъв файл или директория
#include
^ ~~~~~~~~~~~~
компилацията прекратена.
изходен статус 1
SimpleDHT.h: Няма такъв файл или директория
Здравей Саманта,
Тази грешка се дължи на това, че IDE на Arduino не изглежда да открива библиотеката SimpleDHT.h. Правилно ли го инсталирате? В случай, че го имате, опитайте да използвате по-актуална версия на Arduino IDE, ако е по-стара ...
Повече информация можете да видите тук:
https://www.arduino.cc/en/Guide/Libraries
И вземете библиотеката от тук:
https://github.com/adafruit/DHT-sensor-library
Поздрави!
Първо благодаря за публикацията, която е много интересна и много валидна, но прочетох това:
„Препоръчително е да поливате растенията през нощта, когато е по-малко горещо, тъй като това по време на интензивни горещи дни може да навреди повече, отколкото да носи полза ...“
Чувал съм това много пъти, но бих искал някой да ми обясни ясно как ги боли .... Отглеждам растения повече от 20 години и когато е много горещо, няма нищо, което те оценяват повече от доброто поливане и да могат да бъдат с пръскачка, мокреща листата.
Това е мит, че всичко, което прави, е да кара растенията да страдат ... Когато сте горещи и жадни, чакате ли до нощта, за да пиете? ... помислете за това
благодаря за поста !!!
Здравей Пепе,
Благодаря за вашето мнение. Живея на село и понякога, когато жегата е много силна, поливането на растенията в горещи часове може да ги убие. Проверил съм го сам (освен това не е същото в зависимост от географския район, където се намирате, в моята земя е много горещо). Може да е по няколко причини:
1-Тъй като капките вода върху листата действат като стъкло, изгаряйки ги със слънчева светлина като лупа.
2-Растенията имат устици, които се затварят, за да не се дехидратират, когато е слънчево. Ако ги поливате, те се отварят и могат да доведат до обезводняване.
3-Ако са в пластмасова саксия, ефектът може да бъде още по-лош.
Поздрави!
ЗДРАВЕЙ!!
Наистина ми хареса разработеният проект, имам собствена градина и тествам този проект като личен опит, без да получа доходоносна изгода, просто исках да ви попитам дали бихте ми помогнали с кода, тъй като той ми дава грешка , Имам DHT библиотека, но когато я проверявам, извежда грешка в края на кода: {Serial.println ("Поливането е спряно");} и ми казва, че е: stray '\ 342' в програмата.
Имам много малко познания по въпроса и съм разследвал и не съм успял да го разреша.
Ще се радвам да ми помогнете. Благодаря 😀
Здравейте,
Кодът правилен ли е? Тоест няма печатарски грешки?
От друга страна, можете да проверите повече за тази грешка тук:
https://forum.arduino.cc/index.php?topic=386225.0
поздравления
Здравейте Добър ден, извинете, не знам дали има начин да се свържа с вас, това е, че ми дава много грешки с този код в arduino
Здравейте всички,
Почистил съм кода и съм го написал отново, за да видя дали има грешки по някаква причина в кода, който се показва в мрежата. За да може да се изтегли, оставих новия код в линка за изтегляне точно преди кода, който се появява в мрежата. Ако кликнете там, можете да го изтеглите в текстов формат. Надявам се да няма повече проблеми.
Поздрави!
Как мога да добавя wifi модула? и би ли било възможно да се контролира чрез подаване на заявление?
Как е и храната: c?
Здравей Чаки! Опитвам се да направя същото като вас, бихте ли ми помогнали, ако сте завършили кода си ????
Въпрос кой компонент ще бъде този между платката Arduino и сензора DHT11?
Много благодаря!!
Здравей, Нерея,
Имате предвид диода и резистора? Забележете, че в раздела преди диаграмата има списък на всички компоненти ...
Поздрави!
Здравейте, имате видеоклип как е била вашата напоителна система.?
извинете само работи за arduino uno или също за arduino mega
Здравейте, добро утро, извинете, исках да задам въпрос, защо когато отворя монитора Arduino ide, получавам неуспешно четене на dht11 сензор?
Цялата програма се компилира добре и се зареди добре, подробностите са, когато отворя монитора и се появи тази легенда.
Какво може да бъде
ЗДРАВЕТЕ ПРИЯТЕЛ СТРАХОТНА РАБОТА, НО ДАВА МИ ГРЕШКА В ТАЗИ ЧАСТ Няма такъв файл или директория
#include
КАКВО ЩЕ БЪДЕ? Ще се радвам на вашата помощ
ЗДРАВЕЙТЕ, ТОВА Е ПУБЛИЧНО, НО НЯМА ЗНАЧЕНИЕ, НАИСТИНА ИСКАМ ДА БЛАГОДАРЯ НА ЛИЦА ИЛИ ХОРАТА, УЧАСТВАЛИ В РАЗРАБОТВАНЕТО НА ТОЗИ ПРОЕКТ, МОЖЕ ДА МНОГО Е ГЛУПАЛО, НО ТИ СПАСИШ МОЯ ЖИВОТ, ТАКА МНОГО БЛАГОДАРЯ УЧИЛИЩЕ, КОЕТО НЕ ИСКАМ ДА ПРИПАДА И ИСТИНАТА, ЗА КОЯТО НЕ СЪЖАЛЯ, НАУЧИХ, БЛАГОДАРЯ ЗА СТРАНИЦАТА, ЖЕЛАЯ ВИ НАЙ-ДОБРОТО.
Как мога да добавя wifi модула? и би ли било възможно да се контролира чрез подаване на заявление?
#include "DHT.h"
DHT dht (2, DHT11);
int стойностLDR;
int pinLDR = A5;
int ДВИГАТЕЛ = 8;
// —————————————————————————————————————————————-
настройка за невалидност ()
{
Serial.begin (9600);
стойностLDR = 0;
Serial.begin (9600);
Serial.println ("ИЗПИТВАНЕ НА СИСТЕМА ЗА НАПРАВЯВАНЕ");
dht.begin ();
pinMode (МОТОР, ИЗХОД);
Serial.println ("Стойност на сензора за влажност");
}
// —————————————————————————————————————————————-
void loop ()
{
Serial.println («============================================== = ========================== »);
int влажност = analogRead (A0);
Serial.print ("Прочетете:");
Serial.println (влажност);
ако (влажност> = 0 и влажност> = 1000) {
Serial.println ("Сензор в суха почва");
} иначе ако (влажност> 500 и влажност <= 1000) {
Serial.println ("Сензор във влажна почва");
} иначе ако (влажност <= 500) {
Serial.println ("Сензор във вода");
}
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (valueLDR);
Serial.println (")");
забавяне (2000);
float h = dht.readHuminity ();
float t = dht.readTemperature ();
ако (isnan (h) || isnan (t)) {
Serial.println („Неуспешно четене на сензор DHT11!“);
се върнат;
}
Serial.print ("Влажност:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Температура:");
Serial.print (t);
Serial.println ("* C");
ако (h <= 50 && LDR стойност <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Трябва вода");
}
друго {
digitalWrite (MOTOR, LOW);
Serial.println („НЕ трябва да полива“);
}
забавяне (1000);
}
Използвах само
-DTH на температура и влажност на щифт 2
-LDR фоторезистът на щифт A5
-мотор на щифт 8
-сензор за влага в почвата на щифт A0
това е моят код, надявам се и работи за вас
-влажник за почвата
Добро утро, имам проблеми с кода, който получавам, и използвам най-новия софтуер:
sketch_nov12c: 1: 10: фатална грешка: SimpleDHT.h: Няма такъв файл или директория
#include
^ ~~~~~~~~~~~~
компилацията прекратена.
изходен статус 1
SimpleDHT.h: Няма такъв файл или директория
Бих искал да ми помогнете как да разреша това, моля, тъй като аз съм нов в това, не знам как работи много добре. Благодаря ти.
Здравейте, бихте ли могли да оставите по-добро изображение на това как е свързана веригата? Не се оценява добре, с какво захранващо напрежение се захранва? Благодаря
#include "DHT.h"
DHT dht (2, DHT11);
int стойностLDR;
int pinLDR = A5;
int ДВИГАТЕЛ = 8;
// —————————————————————————————————————————————-
настройка за невалидност ()
{
Serial.begin (9600);
стойностLDR = 0;
Serial.begin (9600);
Serial.println ("ИЗПИТВАНЕ НА СИСТЕМА ЗА НАПРАВЯВАНЕ");
dht.begin ();
pinMode (МОТОР, ИЗХОД);
Serial.println ("Стойност на сензора за влажност");
}
// —————————————————————————————————————————————-
void loop ()
{
Serial.println («============================================== = ========================== »);
// —————————————————————————————–
// ———– Влага, сензор за почвата —————————————————–
int влажност = analogRead (A0);
Serial.print ("Прочетете:");
Serial.println (влажност);
ако (влажност> = 0 и влажност> = 1000) {
Serial.println ("Сензор в суха почва");
} иначе ако (влажност> 500 и влажност <= 1000) {
Serial.println ("Сензор във влажна почва");
} иначе ако (влажност <= 500) {
Serial.println ("Сензор във вода");
}
// —————————————————————————————–
// ————— Фотоустойчивост ———————————————————-
valueLDR = analogRead (pinLDR);
Serial.print ("LIGHT (");
Serial.print (valueLDR);
Serial.println (")");
забавяне (2000);
// —————————————————————————————–
// ————— Сензор DTH11 температура и влажност във въздуха —————————–
float h = dht.readHuminity ();
float t = dht.readTemperature ();
ако (isnan (h) || isnan (t)) {
Serial.println („Неуспешно четене на сензор DHT11!“);
се върнат;
}
Serial.print ("Влажност:");
Serial.print (h);
Serial.print ("%");
Serial.print ("Температура:");
Serial.print (t);
Serial.println ("* C");
// —————————————————————————————–
// ———— Състояние на вода или не на вода ———————————————-
// [Влажност на въздуха] (Фоторезист) [Температура] (Влажност на Земята)
ако (h <= 50 && LDR стойност <70 && t = 1000) {
digitalWrite (MOTOR, HIGH);
Serial.println ("Трябва вода");
}
друго {
digitalWrite (MOTOR, LOW);
Serial.println („НЕ трябва да полива“);
}
забавяне (1000);
}
// веднага след като щифтовете само проверят дали помпата е pwm щифт и
// този на LDR фоторезиста е аналогов, а също и този на почвената влага, равен на щифт
// аналогови и тези на dth11 на сензора за температура и влажност на въздуха, каквото и да е
// цифровите щифтове все още могат да се основават на оригиналния код на тази страница
// за свързване на щифтовете
// работи с 5v
Получавам грешка в тази част на кода »празен цикъл () {» може да ми помогне
Здравейте, бихте ли ми казали какви библиотеки или как се наричат, за да ги инсталирам, тъй като когато поставя кода, той ми казва, че имам нужда от DTH библиотека
Здравейте, системата изглежда много добра. Опитах се да го пресъздам, но по време на включване на кода и съответната библиотека се появява следното.
Във файл, включен от 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: фатална грешка: Adafruit_Sensor.h: Няма такъв файл или директория
#include
^ ~~~~~~~~~~~~~~~~~~
компилацията прекратена.
изходен статус 1
Грешка при компилиране за карта Arduino Uno.
Не съм сигурен дали имам нужда от друга книжарница, ако някой може да ми помогне, моля.
Много добър проект, но след проверка на кода, компилирането му и качването му, единственото нещо, което се появява на серийния монитор е "DHT11 чтенето не е успешно", той не надхвърля тази точка
Здравейте, имам няколко проблема, може ли да ми помогнете и ако някой има видео или аз намерих подробен видеоклип, който мога да видя
Имам въпрос къде да сложа тока и какъв вид ток може да се използва.
Можете ли да добавите контур с по-висока разделителна способност? някои връзки не се виждат ясно