L'estiu és una època en la qual molts solen anar-se'n de vacances fora i les plantes suposen un problema, ja que no es poden regar aquests dies en què no et trobes a casa. A més, a les botigues de jardineria solen vendre una mena de gel que permet hidratar i nodrir la planta durant un mes aproximadament. Però amb la calor que fa o si et vas per més d'un mes, llavors necessitaràs un sistema força millor perquè quan tornis segueixin vives i vigoroses.
Perquè això sigui possible, la solució que existeix és comprar un sistema de reg automàtic que puguis programar o si ets un maker i t'agrada el DIY, pots fer-ho tu mateix amb Arduino. Els materials que necessites, a part de la placa d'Arduino, són fàcils de trobar i bastant barats, així que no suposen una despesa massa gran. A més, per a alguns elements com el tanc d'aigua, etc., podries fer servir materials reciclats ...
Si navegues una mica per la xarxa trobaràs diversos projectes d'aquest tipus, Però potser el més interessant sigui Jarduí. En aquest em inspiraré per a aquest projecte, ja que considero que altres sistemes de reg que només fan servir sensors d'humitat i res més no són tan complets.
Què necessites?
Els materials necessaris per al teu sistema de reg automàtic són:
- No s'ha trobat cap producte., Tot i que valdrien altres.
- protoboard o PCB si vols soldar i fer-ho permanent.
- Sensor de temperatura i humitat No s'ha trobat cap producte.
- cables
- sensor YL-69 d'humitat en terra amb higlómetro per clavar en el teu / s test / so terra.
- minibomba d'aigua submergible de 3V i cabal aproximat de 120 l / h.
- díode 1N4007
- transistor bipolar PN2222
- 3 Resistències: 1x 220 ohms, 1x 1k, 1x No s'ha trobat cap producte.
- Tanc d'aigua, que pot ser un bidó o una ampolla de 5 o més litres, etc.
- tub per connectar a la minibomba i portar fins a la / planta / s
Com a idees alternatives, Et diria que podries també utilitzar un sonoff o un mòdul WiFi per activar per Internet des d'on et trobis, o millorar-agregant també a l'aixeta una vàlvula automàtica per programar l'ompliment de l'tanc d'aigua quan es vagi buidant, etc.
Com muntar el sistema de reg automàtic

El muntatge és bastant senzill. pots utilitzar l'esquema anterior per fer totes les connexions. Hauràs posicionar el teu sistema en un lloc proper a la finestra o on es trobi la planta que vols regar i clavar les dues puntes de l'sensor d'humitat a la terra de la planta, a prop de la tija.
El sistema de reg automàtic amb Arduino regarà sempre que detecti una sèrie de condicions ambientals. Per exemple, quan detecta poca llum o foscor, la temperatura de l'aire és una concreta que configurarem al sketch d'Arduino IDE, i la humead a terra és baixa. En aquest moment s'activaria el motor per regar la planta.
És recomanable regar les plantes de nit, en el moment de menys calor, ja que fer-ho durant els dies intensos de calor podria perjudicar més que beneficiar ...
Recorda que hauràs introduir la mini bomba sota l'aigua en el tanc que hagis destinat per al reg, i que hauria de tenir una capacitat suficient com per aguantar els dies que no hi siguis. Pots fer proves prèvies per saber quant dura i has de deixar una mica més d'aigua per si s'evapora amb la intensa calor ...
No cal dir que el tub l'has fixar a la planta perquè no es mogui amb el vent o pugui caure fora l'aigua i sigui desaprofitada. I crec que tampoc caldria recordar que has de mantenir un subministrament de corrent a la placa Arduino perquè funcioni ...
Programació
Ara és quan has d'escriure el codi necessari en Arduino IDE per poder programar el microcontrolador que gestioni el maquinari que has utilitzat. Aquí és el moment d'adaptar els valors de temperatura, humitat i llum adequats per regar a la teva zona, ja que pot variar segons on et trobis. Però l'exemple que pots fer servir com a base és (he deixat comentaris on podries modificar els valors, la resta pots deixar-ho així):
Descarregar el codi de codi-reg-autoreg-acte per al teu jardí
#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
}
Més informació - Curs de programació Arduino (PDF gratuït)
Fonts
Més informació - Jarduí