Лето - это время, когда многие, как правило, уезжают в отпуск на улицу, и растения являются проблемой, поскольку их нельзя поливать в те дни, когда тебя нет дома. Кроме того, в садовых магазинах обычно продают своего рода гель, позволяющий увлажнять и питать растение около месяца. Но с учетом нынешней жары или если вы уедете больше, чем на месяц, вам понадобится несколько лучшая система, чтобы по возвращении они продолжали оставаться живыми и энергичными.
Чтобы это стало возможным, существует решение: купить система автоматического полива которые вы можете программировать, или если вы производитель и любите DIY, вы можете сделать это самостоятельно с помощью Arduino. Необходимые вам материалы, помимо платы Arduino, легко найти и довольно дешевы, поэтому они не требуют слишком больших затрат. Кроме того, для некоторых элементов, таких как резервуар для воды и т. Д., Вы можете использовать переработанные материалы ...
Если вы немного поработаете в Интернете, вы найдете различные проекты этого типа, но, пожалуй, самое интересное Жардуино. В этом я буду вдохновлен этим проектом, так как считаю, что другие системы орошения, в которых используются только датчики влажности и ничего больше, не столь совершенны.
Что тебе нужно?
материалы, необходимые для вашей автоматической системы полива являются:
- Товар не был найден., хотя другие стоили бы.
- Макетная плата или печатная плата если вы хотите его припаять и сделать постоянным.
- Датчик температуры и влажности Товар не был найден.
- Кабели
- датчик YL-69 влажность на земле с помощью гигрометра, чтобы воткнуть в горшок или землю.
- Мининасос Подводная вода 3V и примерный расход 120 л / ч.
- Диод 1N4007
- Биполярный транзистор PN2222
- 3 резистора: 1x 220 Ом, 1x 1 кОм, 1x Товар не был найден.
- Водный танк, это может быть бочка или бутылка на 5 и более литров и т. д.
- Tubo для подключения к мининасосу и вывода на завод / с
Кomo альтернативные идеи, Я бы сказал вам, что вы также можете использовать sonoff или WiFi-модуль, чтобы активировать его через Интернет, где бы вы ни находились, или улучшить его, также добавив автоматический клапан к крану, чтобы запрограммировать наполнение резервуара для воды, когда он опорожняется , так далее.
Как настроить систему автоматического полива
Сборка довольно проста. Вы можете используйте приведенную выше схему, чтобы сделать все соединения. Вам следует разместить систему рядом с окном или там, где находится растение, которое вы хотите поливать, и воткнуть два наконечника датчика влажности в почву растения рядом со стеблем.
Автоматическая система полива с Arduino будет поливать всякий раз, когда обнаруживает ряд условий окружающей среды. Например, когда он обнаруживает слабую освещенность или темноту, температура воздуха является конкретной, которую мы настроим в скетче 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" или
#include <SPI.h>
^
статус выхода 1
#include ожидает "FILENAME" или
Здравствуйте, извините, не могли бы вы мне помочь с ошибкой, которая возникает в коде
Точно так же я получаю сообщение об ошибке в коде, не могли бы вы помочь мне с этой проблемой, пожалуйста
Привет,
Пожалуйста, оставьте информацию о вашей ошибке, чтобы я мог помочь. Если я не знаю содержания ошибки, мне трудно помочь вам или определить причину проблемы ...
приветствия
Здравствуйте, появляется такая ошибка, как ее решить?
ошибка: SimpleDHT.h: нет такого файла или каталога
#включают
^ ~~~~~~~~~~~~
компиляция прекращена.
статус выхода 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-Если они в пластиковом горшке, эффект может быть еще хуже.
Приветик!
HELLO!
Мне очень понравился проработанный проект, у меня есть собственный сад, и я тестирую этот проект на личном опыте, без получения прибыльной выгоды, я просто хотел спросить вас, не поможете ли вы мне с кодом, так как он дает мне ошибку , У меня есть библиотека DHT, но при ее проверке она выдает ошибку в конце кода: {Serial.println ("Полив остановлен");} и сообщает мне, что это: stray '\ 342' в программе.
Я очень мало осведомлен об этом вопросе, я исследовал, но не смог его решить.
Буду признателен, если вы мне поможете. Спасибо 😀
Привет,
Код правильный? То есть опечаток в нем нет?
С другой стороны, вы можете узнать больше об этой ошибке здесь:
https://forum.arduino.cc/index.php?topic=386225.0
приветствия
Здравствуйте, Добрый день, извините, я не знаю, есть ли способ связаться с вами, это то, что он дает мне много ошибок с этим кодом в arduino
Привет всем,
Я очистил код и написал его снова, чтобы проверить, не возникла ли по какой-либо причине ошибка в коде, отображаемом в Интернете. Чтобы его можно было загрузить, я оставил новый код в ссылке для загрузки непосредственно перед кодом, который появляется в Интернете. Если вы нажмете здесь, вы сможете скачать его в текстовом формате. Надеюсь, проблем больше нет.
Приветик!
Как добавить модуль Wi-Fi? и можно ли будет контролировать это, подав заявку?
Как еда тоже: c?
Привет, Чаки! Я пытаюсь сделать то же самое, что и вы, не могли бы вы мне помочь, если вы закончили свой код ????
Вопрос, какой компонент будет между платой Arduino и датчиком DHT11?
Огромное спасибо!!
Привет, Нерея,
Вы про диод и резистор? Обратите внимание, что в разделе перед диаграммой есть список всех компонентов ...
Приветик!
Здравствуйте, у вас есть видео о том, как была ваша система полива.?
извините работает только для arduino uno или также для Arduino Mega
Здравствуйте, доброе утро, извините, я хотел задать вопрос, почему, когда я открываю монитор Arduino ide, я получаю неудавшееся считывание датчика dht11?
Вся программа хорошо скомпилирована и хорошо загружена, подробности - когда я открываю монитор, и появляется эта легенда.
Что это может быть?
ПРИВЕТ ДРУГ ОТЛИЧНАЯ РАБОТА, НО У МЕНЯ ОШИБКА В ЭТОЙ ЧАСТИ Нет такого файла или каталога
#включают
ЧТО ЭТО БУДЕТ? Я был бы признателен за вашу помощь
ПРИВЕТ, ЭТО ПУБЛИЧНОЕ, НО НЕ ВАЖНО, Я ДЕЙСТВИТЕЛЬНО ХОЧУ БЛАГОДАРЮ ЧЕЛОВЕКУ ИЛИ ЛЮДЯМ, УЧАСТВОВАННЫМ В РАЗРАБОТКЕ ЭТОГО ПРОЕКТА, МОЖЕТ БЫТЬ ПО МНОГОМУ ЭТО ДУРА, НО ВЫ СПАСИЛИ МОЮ ЖИЗНЬ, ТАК БОЛЬШОЕ СПАСИБО ШКОЛА, К КОТОРОЙ Я НЕ ХОЧУ ПРИНАДЛЕЖАТЬ, И ПРАВДА, КОТОРАЯ НЕ ЖАЛЬ, Я УЧИЛСЯ, СПАСИБО ЗА ВАШУ СТРАНИЦУ, ЖЕЛАЮ ВАМ НАИЛУЧШЕГО.
Как добавить модуль Wi-Fi? и можно ли будет контролировать это, подав заявку?
#include "DHT.h"
DHT dht (2, DHT11);
int valueLDR;
инт pinLDR = A5;
ИНТ МОТОР = 8;
// —————————————————————————————————————————————
установка void ()
{
Serial.begin (9600);
значениеLDR = 0;
Serial.begin (9600);
Serial.println («ТЕСТ ОРОСИТЕЛЬНОЙ СИСТЕМЫ»);
dht.begin ();
pinMode (ДВИГАТЕЛЬ, ВЫХОД);
Serial.println («Значение датчика влажности»);
}
// —————————————————————————————————————————————
пустой цикл ()
{
Serial.println («============================================== = ========================== »);
int влажность = analogRead (A0);
Serial.print ("Прочитать:");
Serial.println (влажность);
if (влажность> = 0 & влажность> = 1000) {
Serial.println («Датчик в сухой почве»);
} else if (влажность> 500 и влажность <= 1000) {
Serial.println («Датчик во влажной почве»);
} else if (влажность <= 500) {
Serial.println («Датчик в воде»);
}
valueLDR = аналоговое чтение (pinLDR);
Serial.print ("СВЕТ (");
Serial.print (значениеLDR);
Serial.println (")");
Задержка (2000);
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println («Не удалось прочитать датчик DHT11!»);
вернуться;
}
Serial.print ("Влажность:");
Серийный отпечаток (ч);
Serial.print ("%");
Serial.print ("Температура:");
Serial.print (t);
Serial.println ("* C");
if (h <= 50 && значение LDR <70 && t = 1000) {
digitalWrite (ДВИГАТЕЛЬ, ВЫСОКИЙ);
Serial.println («Надо поливать»);
}
еще {
digitalWrite (МОТОР, НИЗКИЙ);
Serial.println («НЕ поливать»);
}
Задержка (1000);
}
Я использовал только
-DTH температуры и влажности на контакте 2
-фоторезист LDR на выводе А5
-двигатель на выводе 8
-датчик влажности почвы на штыре А0
это мой код, я надеюсь, и он работает для вас
-датчик влажности почвы
Доброе утро, у меня проблемы с кодом, который я получил, и я использую новейшее программное обеспечение:
sketch_nov12c: 1: 10: фатальная ошибка: SimpleDHT.h: нет такого файла или каталога
#включают
^ ~~~~~~~~~~~~
компиляция прекращена.
статус выхода 1
SimpleDHT.h: нет такого файла или каталога
Я хотел бы, чтобы вы помогли мне решить эту проблему, так как я новичок в этом, я не знаю, как это работает очень хорошо. Спасибо.
Здравствуйте, не могли бы вы оставить изображение получше, как схема подключена? Не очень ценится, с каким напряжением питания она запитана? Спасибо
#include "DHT.h"
DHT dht (2, DHT11);
int valueLDR;
инт pinLDR = A5;
ИНТ МОТОР = 8;
// —————————————————————————————————————————————
установка void ()
{
Serial.begin (9600);
значениеLDR = 0;
Serial.begin (9600);
Serial.println («ТЕСТ ОРОСИТЕЛЬНОЙ СИСТЕМЫ»);
dht.begin ();
pinMode (ДВИГАТЕЛЬ, ВЫХОД);
Serial.println («Значение датчика влажности»);
}
// —————————————————————————————————————————————
пустой цикл ()
{
Serial.println («============================================== = ========================== »);
// —————————————————————————————–
// ———– Датчик влажности, почвы ——————————————————–
int влажность = analogRead (A0);
Serial.print ("Прочитать:");
Serial.println (влажность);
if (влажность> = 0 & влажность> = 1000) {
Serial.println («Датчик в сухой почве»);
} else if (влажность> 500 и влажность <= 1000) {
Serial.println («Датчик во влажной почве»);
} else if (влажность <= 500) {
Serial.println («Датчик в воде»);
}
// —————————————————————————————–
// ————— Фото сопротивление ———————————————————-
valueLDR = аналоговое чтение (pinLDR);
Serial.print ("СВЕТ (");
Serial.print (значениеLDR);
Serial.println (")");
Задержка (2000);
// —————————————————————————————–
// ————— Датчик DTH11 температуры и влажности в воздухе —————————–
float h = dht.readHumidity ();
float t = dht.readTemperature ();
if (isnan (h) || isnan (t)) {
Serial.println («Не удалось прочитать датчик DHT11!»);
вернуться;
}
Serial.print ("Влажность:");
Серийный отпечаток (ч);
Serial.print ("%");
Serial.print ("Температура:");
Serial.print (t);
Serial.println ("* C");
// —————————————————————————————–
// ———— Состояние для воды или без воды ———————————————-
// (AirHumidity) (Фоторезист) (Температура) (EarthHumidity)
if (h <= 50 && значение LDR <70 && t = 1000) {
digitalWrite (ДВИГАТЕЛЬ, ВЫСОКИЙ);
Serial.println («Надо поливать»);
}
еще {
digitalWrite (МОТОР, НИЗКИЙ);
Serial.println («НЕ поливать»);
}
Задержка (1000);
}
// как только штифты проверяют, что помпа штифт шим и
// фоторезист LDR аналогичный, а также влажность почвы, равная штифту
// аналог и dth11 датчика температуры и влажности воздуха
// цифровые пины все еще могут быть основаны на исходном коде этой страницы
// для подключения пинов
// работает с 5в
Я получаю ошибку в этой части кода »пустой цикл () {» может мне помочь
Здравствуйте, не могли бы вы сказать мне, какие библиотеки или как их зовут, чтобы установить их, поскольку, когда я вставляю код, он говорит мне, что мне нужна библиотека 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: нет такого файла или каталога
#включают
^ ~~~~~~~~~~~~~~~~~~
компиляция прекращена.
статус выхода 1
Ошибка компиляции карты Arduino Uno.
Я не уверен, нужен ли мне другой книжный магазин, если кто-нибудь может мне помочь.
Очень хороший проект, однако после проверки кода, его компиляции и загрузки единственное, что появляется на последовательном мониторе, это «Ошибка чтения DHT11», дальше этой точки не выходит.
Здравствуйте, у меня есть несколько проблем, не могли бы вы мне помочь, и если у кого-то есть видео, или я нашел подробное видео, которое я могу посмотреть
У меня вопрос, куда поставить ток и какой ток можно использовать.
Можете ли вы добавить схему с более высоким разрешением? некоторые соединения не видны четко