Sistema de riego Arduino paso a paso

Un sistema de riego Arduino tiene muchas ventajas, es económico, flexible, te permite un control absoluto sobre como quieres regar tus plantas, pudiendo adaptarlo a las necesidades de cada una.
En este artículo te voy a contar como montarlo de dos formas, con agua del grifo y una electrovalvula o con deposito y una bomba, ambos usaran el riego por goteo.
Existen otras muchas posibilidades formas, para montar un riego automatizado Arduino, tanto para el método con el que llevar el agua a las plantas como para regar, por ejemplo podríamos cambiar el riego por goteo por cualquier otro sistema de riego

Índice

Sistema de riego Arduino usando agua corriente y electroválvula

Que harémos, muy simple conectamos sistema de riego a un grifo y entre esté y nuestras plantas situaremos la electrovalvula o valvula selenoide que se encargará de dejar pasar o no el agua cuando le indiquemos (nivel de humedad, intervalor horario)

Componentes necesarios

Lista de componentes y materiales que vamos a necesitar para llevarlo a cabo.

  • Arduino
  • Podemos usar el que nos apetezca, arduino uno, arduino nano, adruino mega….

  • Electrovalcula o válvula solenoide
  • Yo he usado esta pero puedes usar cualquier otra sólo teines que tener en cuenta el voltaje para alimentarla y si es normalmente cerrada o abierta, mejor cerrada que no se nos escape el agua si falla algo.

  • Un rele, como este
  • Alimentación
  • Si nuestra eletrovalvula es de 12V necesitamos o pilas como estas o una batería como estas

  • Cables conexión
  • Podemos sacarlos de cualquier cable que tengamos por casa (usb, red,audio) o podemos comprarlo

Esquema de conexiones

Para conectar electrovalvula a arduino vamos a hacerlo a través de un relé, aquí tienes las diferentes conexiones
Las conexiones que van del Arduino al Relé
Cable Rojo: De una salida de 5V (puede ser la del arduino) a la patilla de VCC del rele
Cable Negro: De tierra (GND del arduino) a la patilla de GND del rele
Cable Verde: De una entrada digital arduino (D7 en este caso) a la patilla IN del rele
Las conexiones que van del Relé a la electrovalvula y batería
Cable Rojo: Del positivo de la batería al COM (Comun) del rele y del NOC (Normalmente cerrado) de este al negativo de la electrovalvula
Cable Negro: De negativo de la batería al positivo de la electrovalvula
Una imagen vale más que mil palabras.

Funcionamiento

El funcionamiento es bastante sencillo, conectamos una tubería desde nuestro grifo a nuestra valvula solenoide o electrovalvula y de ahí a nuestro sistema de riego (en mi caso usé goteo)
Dejamos el grifo abierto y cando queremos que pase el agua enviamos un HIGH al pin digiatal donde conectes el rele (en este caso el D7) esto hará que se active la valvula y deje pasar el agua, si queremos cortar enviamos un LOW y se cerrará.

Código

El código es sencillísimo, la complegidad está lo que queramos hacer en la función que decide si encender el riego o pararlo encenderRiego si esta devuelve enviamos un HIGH (1) al pin del rele D7 y enciendo la electrovalvula, si devolve false enviamos LOW (0) y para la electrovalvula
La chicha del programa estará en hacer que la función encenderRiego lea la humedad del suelo y si es menor que un número encienda el riego y sino lo apague.

//Pin que nos da el nivel
int pinRele = 7;
//Tiempo que debe esperar para la siguiente iteración del bucle
int tiempoEspera = 2000;//2 segundo
boolean estadoRiego = false;

void setup()
{
//Iniciamos el pin el pin que nos da el nivel
pinMode(pinRele, OUTPUT);
//Nicializa el serial
Serial.begin(9600);
}
//Esta funcion debería decidir cuando queremos o no encender el riego
// Por ejemplo cuando la tierra esta seca
boolean encenderRiego(){
boolean salida = false;
if (estadoRiego){
salida = false;
}else{
salida = true;
}
return salida;
}

void loop()
{
// Leermos el pin que nos da el nivel
estadoRiego = encenderRiego();
//Dependiendo del estado del riegoestado muestra un mensaje u otro.
if (estadoRiego) {
Serial.println(“Se enciende el riego”);
digitalWrite(pinRele, HIGH);
} else {
Serial.println(“Se apaga el riego.”);
digitalWrite(pinRele, LOW);
}
delay(tiempoEspera); //Espera el tiempo indicado
}

Conclusiones

Con esto tendremos un sistema sencillo que enciende y apaga el riego, pero para hacerlo bien hay que tenga sentido, necesitamos encender el riego de forma eficiente, por ejemplo cuando baja el nivel de humedad, te recomiendo leer el artículo sobre como detectar el nivel de humedad del suelo

Deposito y bomba

Estoy terminando de redactarlo y probarlo, en unos días estará listo.

Comprar arduino uno ¿Cuál? ¿dónde? ¿barato?

Cuando fuí a comprar arduino uno, me volví un poco loco, en concreto quería comprar un Arduino uno R3, que es la versión actual me surgieron ciertas dudas que igual son las que te han traído hasta este artículo, que me compro la versión original o la copia, donde lo puedo comprar, lo conseguiré lo más barato posible, espero aclararte algunas de estas dudas, si tienes alguna otra no dudes en usar los comentarios.

Índice

¿Comprar arduino uno Original o Clónico?

Esta es una pregunta que tiene su miga, puedes encontrar puntos a favor y en contra para apoyar tanto una cosa como la otra, sólo te voy a poner las que considero más importantes.

Comprar arduino uno Original

La razón principal para comprar arduino uno original es que contribuyes a que siga creciendo el proyecto, es un proyecto Open Harware (Comparten toda la documentación) por eso hay tantos clones o copias.
Lo puedes comprar en su propia web o un poco más barato aquí

Comprar arduino uno Clónico

Si andas justo de presupuesto y te quieres ahorrar unos eruillos te recomiendo comprar arduino uno clonico o tambien conocido como Arduino uno genérico, su funcionalidad y forma de programar es la misma, pero te saldrá bastante más barato, seguramente te salga por menos de la mistad.
Aquí te paso algunos de los más conocidos, Elegoo
Hitlego o AZDelivery

¿Dónde comprarlo

Para comprarlo puedes hacerlo en tiendas nacionales o internacionales (china), en este enlace puedes encontrar como elegir uno u otro

Comprar Arduino uno en España

Si te has dedicidido por comprar la versión original lo puedes comprar en su propia web o un poco más barato aquí.
Si quieres una versión clonica mi mis marcas recomendadas son Elegoo
Hitlego o AZDelivery

Comprar Arduino uno en China

Si te vas a ir comprarlo en china espero que no tengas prisa porque te puede tardar entre 15 y 45 días de media, eso sí te saldrá un poco más barato, en este caso me iría a la versión clonica ya que la versión original puede que te llegue una fake o falsa.
Para comprarlo puedes buscar el Gearbest, DealExtreme, Aliexpres (para comprar aquí debemos fijarnos en que el vendedor tenga muchas ventas y buena puntuación)

De momento es todo, espero tus comentarios para mejorar el artículo e ir añadiendo cositas.

¿Dónde comprar un kit arduino?

Para saber donde comprar un kit arduino tienes que hacerte algunas preguntas, ¿quieres que te llegue rápido? ¿Quieres que te salga barato?, ¿buscas una tienda fiable?
En función estas preguntas te harán decidirte por un vendedor o por otro, para comprar un kit arduino lo podemos hacer en vendedores nacionales o en vendedores internacionales.

Índice

¿Cuando elegir vendedor Nacional o Internacional?

A la hora de elegir un vendedor u otro para comprar un kit arduino tenemos que tener en cuenta varios factores:
Urgencia Si tienes prisa y necesitas el kit arduino de forma urgente debes ir a comprar a tiendas nacionales directamente ya que en el internacional normalmente tardará bastante más, si compras en una tienda china puede tardarte entre 15 y 70 días el primero de todos es la prisa que nos corra
La confianza Sí lo que valoras es la fiablilidad de la tienda también te recomendaría que compres en una tienda física, en una tienda nacional o en Amazón.
El precio Si lo que buscas es precio vas a encontrar precios más económicos si vas al mercado internacional, en concreto al chino, por ejemplo en aliexpress puedes ahorrarte en el mismo kit un 30%, eso si tardará bastante más en llegarte y no tendrás la misma fiabilidad.

Comprar kit arduino vendedores nacionales

Para comprar un kit arduino en España hay multitud de tiendas, muchas incluso físicas, donde puedes comprar un kit arduino, por ejemplo lo tienen en corte ingles (eso si a un precio bastante caro), en pc-componentes, en fnac, mi recomendación Amazon tienen multitud de ellos y a buen precio, si compras alguno de estos incluyen hasta manuales y código de ejemplo en español

Comprar kit arduino vendedores internacionales

Para comprar en vendedores internacionales no iremos al mercado chino, donde existen multitud de tiendas con gran prestigio donde podemos comprarlos, Gearbest, DealExtreme, Aliexpres (para comprar aquí debemos fijarnos en que el vendedor tenga muchas ventas y buena puntuación)

De momento es todo, si quieres que añada más información dejame un comentario y estaré encantado de ayudarte.

2 formas de controlar el nivel del agua con Arduino, casero y ultrasonidos

En muchos de los proyectos arduino necesitamos controlar el nivel del agua con arduino, para ello lo existen varias posibilidades yo te voy a contar 2 pero habría bastantes más. Estos 2 métodos nos valdrían para controlar el nivel de muchos líquido (no tiene porque ser agua)

Índice

Controlar el nivel del agua con arduino y dos cables, es gratis

Esta formar de controlar el nivel del agua tiene la ventaja principal es que nos sale gratis, o prácticamente gratis ya que sólo necesitamos un par de cables y una resistencia.

Materiales necesarios

Esquema de conexiones

El esquema de conexiones es muy sencillo, sólo hay que conectar los tres cables de la siguiente forma:
Cable Rojo: De una salida de 5V (puede ser la del arduino) al fondo del deposito
Cable Negro: De tierra (GND del arduino) a la resistencia y de esta a el deposito situado a la altura a la que queremos detectar el nivel
Cable Verde: De una entrada digital arduino (D4 en este caso) a la resistencia.

Controlar el nivel del agua con arduino y dos cables, método gratis

Funcionamiento

El funcionamiento es de los más sencillo como puedes ver en el esquema, tenemos dos cambles en el dentro del deposito (uno en el fondo y otro a la altura que queramos el nivel) y otro cable que conecta con la entrada digital del arduino (en este ejemplo D4 pero nos valdría cualquier otra).
Arduino estará leyendo esta entrada cada cierto intervalo de tiempo (en este caso un segundo).
Esta lectura podrá tener dos valores dependiendo de los cables del deposito:
HIGH (1) – Sí ambos cables están en contacto con el agua
LOW (0) – Si Uno de los dos o los dos cables no están en contacto con el agua.

Código

El código también es muy sencillo iniciamos el pin digital, lo leemos y en funcion de si es LOW (0) o HIGH (1) definimos una acción, en este ejemplo mostrar un mensaje por consola
LOW: Debes llenar el deposito.
HIGH: El deposito tiene agua

//Pin que nos da el nivel
int pinNivel = 4;
//Variable para almacenar el estado de nivel
int estadoNivelAgua = 0;
//Tiempo que debe esperar para la siguiente iteración del bucle
int tiempoEspera = 1000;//1 segundo

void setup()
{
//Iniciamos el pin el pin que nos da el nivel
pinMode(pinNivel, INPUT);
//Nicializa el serial
Serial.begin(9600);
}

void loop()
{
// Leermos el pin que nos da el nivel
estadoNivelAgua = digitalRead(pinNivel);
//Dependiendo del estado muestra un mensaje u otro.
if (estadoNivelAgua == HIGH) {
Serial.println(“El deposito tiene agua”);
} else {
Serial.println(“Debes llenar el deposito.”);
}
delay(tiempoEspera); //Espera el tiempo indicado
}

Conclusiones

Esta es una forma de controlar el nivel del agua con arduino sencilla y económica, si lo necesitamos podemos, añadir múltiples niveles y activar funciones entre los distintos, si quieres que ponga como hacerlo, pídelo en un comentario y lo añadiré.

Sensor ultrasonidos HC-SR04 para controlar el nivel del agua con arduino

El sensor de ultrasonidos hc-sr04 nos permite calcular la distancia entre el sensor y el líquido, su precio es bastante económico

Materiales necesarios

  • Arduino
  • Podemos usar el que nos apetezca, arduino uno, arduino nano, adruino mega….

  • Sensor de ultrasonidos hc-sr04
  • Cables para conexiones

Equema de conexiónes

Las conexiones son bastante sencillas, básicamente tienes que conectar las 3 patas del sensor a nuestro arduino.
Cable Rojo: De una salida de 5V (puede ser la del arduino) a la patilla de 5V del sensor
Cable Negro: De tierra (GND del arduino) a la patilla de 5V del sensor
Cable Verde: De una entrada digital arduino (D7 en este caso) a la patilla ECHO del sensor
Cable Amarillo: De una entrada digital arduino (D8 en este caso) a la patilla TRIG del sensor
En la imagen falta el cable Amarillo
Controlar nivel agua con 
ultrasonidos HC-SR04 y arduino

Funcionamiento

Hay que poner sensor hc-sr04 emitiendo ultrasonidos hacia el interior del depósito y este nos indicará la distancia a la que se encuentra el nivel del agua, con esta información calibraremos dos distancias, una para deposito lleno y otra para deposito vacío.
Si la distancia es menor a la deposito vacío mostraremos un mensaje por consola “Deposito vacío”
Si la distancia es mayor a la deposito lleno mostraremos un mensaje por consola “Deposito lleno”

Código

El código tambien es muy sencillo iniciamos el pin digital, y usamos la función pulsoCalcularDistanciaEnCm para calcular la distancia al agua dependiendo de en que humbral se encuentre esta definimos una acción, en este ejemplo mostrar un mensaje por consola
Si menor DEPOSITO_LLENO: El deposito esta lleno.
Si mayor DEPOSITO_VACIO: Debes llenar el deposito.
La función pulsoCalcularDistanciaEnCm lo que hace es enviar un pulso y esp

const int pinEcho = 7;
const int pinTrigger = 8;
//Umbral al que indicamos que esta lleno el deposito
const int DEPOSITO_LLENO = 40;
//Umbral al que indicamos que esta vacío el deposito
const int DEPOSITO_VACIO = 75;

/*
*Funcion que nos indica la distancia a la que se encuentra el agua.
*/
long pulsoCalcularDistanciaEnCm()
{
long durationPulso, distanciaCm;
//Generarmos un pulso limpio poniendo a LOW
digitalWrite(pinTrigger, LOW);
delayMicroseconds(4);
//generamos un pulso (Trigger)
digitalWrite(pinTrigger, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrigger, LOW);
//medimos el tiempo entre pulsos, en microsegundos
duration = pulseIn(pinEcho, HIGH);
//convertimos a distancia a cm
distanceCm = duration * 10 / 292/ 2;
return distanceCm;
}

void setup()
{
Serial.begin(9600);
pinMode(pinTrigger, OUTPUT);
pinMode(pinEcho, INPUT);

}

void loop()
{
//recupera la distancia en Centimetros
int cm = pulsoCalcularDistanciaEnCm();
if (cmDEPOSITO_VACIO){
Serial.print(“Deposito vacío “);
//Pinta al distancia
Serial.print(cm);
Serial.println(“cm”);
}
delay(100); // Espera 100 milisegundos
}

Conclusiones

Controlar el nivel del agua con arduino y el sensor de ultrasonidos HC-SR04 nos permite un control preciso de en que estado se encuentra el deposito en cada instante.
Si quieres más información tecnica sobre el sensor HC-SR04 Luis Llamas tiene un artículo muy interesante con la explicación teorica.

Sugerencias y consultas

Me encantará contar con tu ayuda, al igual que puedes contar con la mia.
Cualquier sugerencia o consulta será bien recibida, puedes hacerla a través de los comentarios, más abajo.

Huerto domótico con arduino, como montarlo, código y esquemas…

Uno de mis buenos recuerdos de mi infancia es el de ir al huerto con mi padre, recuerdo el sonido del motor de riego, el olor a tierra mojada, el sabor increíble de las zanahorias recién cogidas, las lechugas verdes y tiernas…
Aquellos recuerdos me han llevado a soñar con tener un pequeño espacio donde poder montar mi propio huerto, después de muchos años de espera se va a hacer realidad.Como no podía ser de otra forma, va ser un huerto 3.0, un huerto domótico con arduino o node mcu un huerto inteligente, un huerto urbano con sus macetas y con su sistema de riego automático.

Índice

Aclaraciones previas

Lo primero de todo es que este es un proyecto vivo por lo que iré añadiendo partes según las vaya implementando en el huerto, prometo hacerlo lo antes posible.
Sí tienes interes en alguna sección en concreto o quieres que añada algo, escribe un comentario pidiendolo y lo intataré desarollar lo antes posible.

Introducción al huerto domótico con arduino

Quiero hacer un huerto domotico para ahorrar trabajo, para mejorar su rendimiento, ahorrar agua y energía, además de aprender un poco de arduino.
Para ello vamos a dividir en diferentes secciones ya que de esta forma podremos ir añadiendolas según las vaya desarrollado, empezaré por el riego automatico

Riego del huerto con arduino

El agua es fundamental para el crecimiento de las plantas, además es un bien escaso, por lo que pondré especial interes en este tema, para dar una pequeña introducción, será riego por goteo y activado por un sensor de humedad del suelo, puedes encontrar el artículo del sistema de riego aquí

Uso de los sensores (humedad, temperatura,luminosidad, agua, lluvia)

Usaré diversos tipos de sensores unos me servirá para tomar decisiones en los procesos (si hay que regar, cerrar o abrir el invernadero, llenar los depositos de agua…) otros servirán para tener un registro de los datos ambientales y en un futuro poder hacer estadísticas comparativas ( Por ejemplo saber como influye la temperatura o el nivel de luminusidad en nuestros tomates )

  • Invernadoero automatizado con arduino
  • Todavía tardará un poco, pero quiero hacer un invernadero que tenga apartura atomatizada para que se abra o cierre en función de lo que indiquen los sensores de temperatura, humedad, luminosidad…

  • Sugerencias y consultas
  • Me encantará contar con tu ayuda, al igual que puedes contar con la mia.
    Cualquier sugerencia o consulta será bien recibida, puedes hacerla a través de los comentarios, más abajo

    Con tu ayuda espero ir ampliando este artículo sobre el huerto domótico con arduino para que sea lo más completo posible, si quieres conocer más proyectos arduino aquí puedes hacerlo.

    Arduino en casa, proyectos para el hogar, paso a paso

    He creado Arduino en casa para poder compartir e intercambiar ideas y proyectos sobre arduino y otras placas similares por lo que será importante tu colaboración.

    Proyectos arduino de utilidad

    El fin es hacer cosas de utilidad, por lo que serán todos desarrollos con una finalidad concreta para el hogar, serán proyectos con un fin, ya sea para facilitar nuestra vida, el entretenimiento de los más pequeños de la casa, el control domótico o cualquier otra.

    Los proyectos

    El primer proyecto con el que empezaré esta andadura será el de automatizar las tareas del huerto, con su riego automatizado, activado con umbrales de humedad.
    Pero ya tengo muchos más en la recámara que iré publicando.

    • Semáforo y barrera para los peques de la casa
    • Roner, para cocinar a baja temperatura (Sous vide)
    • Estación meteorológica
    • Clonico del Robot Zowi

    Estos son solo algunos de ellos pero si tienes alguna idea solo déjala en los comentarios y la estudiaré.