Лето - это время, когда многие, как правило, уезжают в отпуск на улицу, и растения являются проблемой, поскольку их нельзя поливать в те дни, когда тебя нет дома. Кроме того, в садовых магазинах обычно продают своего рода гель, позволяющий увлажнять и питать растение около месяца. Но с учетом нынешней жары или если вы уедете больше, чем на месяц, вам понадобится несколько лучшая система, чтобы по возвращении они продолжали оставаться живыми и энергичными.
Чтобы это стало возможным, существует решение: купить система автоматического полива которые вы можете программировать, или если вы производитель и любите DIY, вы можете сделать это самостоятельно с помощью Arduino. Необходимые вам материалы, помимо платы Arduino, легко найти и довольно дешевы, поэтому они не требуют слишком больших затрат. Кроме того, для некоторых элементов, таких как резервуар для воды и т. Д., Вы можете использовать переработанные материалы ...
Если вы немного поработаете в Интернете, вы найдете различные проекты этого типа, но, пожалуй, самое интересное Жардуино. В этом я буду вдохновлен этим проектом, так как считаю, что другие системы орошения, в которых используются только датчики влажности и ничего больше, не столь совершенны.
Что тебе нужно?
материалы, необходимые для вашей автоматической системы полива являются:
- Товар не был найден., хотя другие стоили бы.
- Макетная плата или печатная плата если вы хотите его припаять и сделать постоянным.
- Датчик температуры и влажности Товар не был найден.
- Кабели
- датчик YL-69 влажность на земле с помощью гигрометра, чтобы воткнуть в горшок или землю.
- Мининасос Подводная вода 3V и примерный расход 120 л / ч.
- Диод 1N4007
- Биполярный транзистор PN2222
- 3 резистора: 1x 220 Ом, 1x 1 кОм, 1x Товар не был найден.
- Водный танк, это может быть бочка или бутылка на 5 и более литров и т. д.
- Tubo для подключения к мининасосу и вывода на завод / с
Комо альтернативные идеи, Я бы сказал вам, что вы также можете использовать 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)
Источники
Больше информации - Жардуино