Лятото е време, когато мнозина са склонни да излизат на почивка навън и растенията са проблем, тъй като не могат да бъдат поливайте онези дни, когато не сте у дома. Освен това градинските магазини обикновено продават вид гел, който хидратира и подхранва растението за около месец. Но с горещината, която е или ако напуснете за повече от месец, ще ви трябва малко по-добра система, така че когато се върнете, те да са все още живи и енергични.
За да е възможно това, съществуващото решение е да си купите автоматична напоителна система че можете да програмирате или ако сте производител и харесвате „Направи си сам“, можете да го направите сами с 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)
Фуентес
Повече информация - Джардуино