Sistema inteligente de riego para plantas con Arduino Nano
Componentes y suministros
![]() | Arduino Nano R3 | × | 1 |
![]() | Adafruit LCD Estándar - 16x2 Blanco sobre Azul | × | 1 |
![]() | Mini bomba de agua | × | 1 |
![]() | Codificador rotativo con pulsador | × | 1 |
| IC L298n | × | 1 | |
![]() | Fotorresistor | × | 1 |
![]() | Transistor NPN de uso general | × | 1 |
![]() | Resistencia 10k ohm | × | 1 |
![]() | Potenciómetro monovuelta - 10k ohm | × | 1 |
![]() | Capacitor 10 µF | × | 1 |
![]() | Capacitor 1000 µF | × | 1 |
![]() | Capacitor 470 µF | × | 1 |
![]() | Capacitor 100 nF | × | 7 |
| Diodo 1N4001 | × | 8 | |
| Zócalo RCA | × | 1 | |
| Sensor de humedad del suelo | × | 1 | |
| Bloque de terminales de tornillo | × | 3 | |
| AMS1117-ADJ | × | 1 | |
| Resistencia 2k Ohm | × | 1 | |
| Resistencia 680 ohm | × | 1 | |
| Fuente de alimentación DC 9V 3A | × | 1 |
Herramientas necesarias
![]() | Soldador (genérico) |
Aplicaciones y servicios en línea
![]() | Arduino IDE |
Acerca de este proyecto
Otro sistema de riego para plantas
Hay muchos proyectos y tutoriales en internet sobre cómo usar sensores de humedad del suelo. En este proyecto se combinan ideas brillantes encontradas online y se completan con la parte de software para construir un controlador de riego doméstico. A veces la solución parece obvia hasta que te acercas y ves los detalles. Investigemos esos detalles.
Características principales del controlador
Este controlador tiene las siguientes características:
- Soporta dos plantas: el controlador tiene dos canales independientes; cualquiera puede desactivarse
- Cada canal tiene dos parámetros generales: tiempo de bombeo hacia adelante y hacia atrás, medidos en decenas de segundo
- Modo manual: posible regar la planta pulsando el botón
- Verifica la humedad después del riego; desactiva el canal si la humedad no aumentó
- Sensor de luz para evitar funcionamiento nocturno
- Sistema de menú para configurar parámetros; la configuración se guarda en EEPROM
La humedad del suelo
¿Cómo medir la humedad del suelo con precisión? Puedes comprar el sensor en eBay, colocarlo en la planta y medir la resistencia. Muchos tutoriales describen este método. Desafortunadamente, en mi caso la resistencia de planta "seca" y "húmeda" eran muy cercanas (300 kΩ y 500 kΩ), dificultando decidir cuándo regar. El problema: el agua pura no conduce electricidad; son los minerales en el agua los que lo hacen. La resistencia medida depende enormemente de la cantidad y tipo de minerales, no del agua aplicada.
Google ayuda. En internet encontré la idea brillante de medir la capacitancia del sensor, no la resistencia. El agua tiene alta permitividad dieléctrica: la capacitancia de planta "húmeda" es mucho mayor que "seca" (200 µF vs 200 pF), ¡un millón de veces de diferencia!
Cómo medir la capacitancia
Otra gente genial convirtió el Arduino en un medidor de capacitancia de alta precisión. Pero considero ese método complicado e innecesario para nuestro sensor. Otra forma es mucho más simple: usa solo dos pines analógicos y da precisión aceptable para distinguir "seco" de "húmedo". Como mencioné, las lecturas de "seco" y "húmedo" tienen gran diferencia; no es conveniente usar ese valor directamente para un límite, así que en el código se usa el logaritmo natural de las lecturas de capacitancia para reducir el intervalo de valores posibles.
¿Por qué puente H?
Parecía buena idea usar un solo transistor MOSFET para la bomba. Desafortunadamente, el nivel de agua en el depósito puede estar más alto que la planta. Al bombear, el agua sigue fluyendo tras detener la bomba. ¿Cómo detener el agua con seguridad? Haces girar la bomba en sentido inverso brevemente. Al usar un motor DC, basta invertir los polos (+ y -). Para eso necesitas un puente H. El IC L298n es buena opción. Las bombas usan 9V y 3A, así que necesitas disipador en el IC y resistencia de potencia. Se usa una resistencia de 1 Ω 5W. El puente H L298n maneja dos motores, así que el controlador gestiona dos plantas simultáneamente.
Sistema de menú del controlador
Para gestionar el controlador se usa un codificador rotativo. Al iniciar, aparece la pantalla principal. En la línea superior: lecturas actuales de ambos canales (si está desactivado muestra xxxx). En la inferior: límites de sequedad.

Para regar manualmente, pulsa brevemente el codificador. Aparece la pantalla manual. Para configurar, mantén pulsado el codificador (~1 segundo) en la pantalla principal. El árbol de menú:
- Canal izquierdo
- Canal derecho
- Brillo de retroiluminación (o auto)
- Brillo nocturno
Cada canal tiene su menú:
- Activar canal
- Límite de sequedad
- Tiempo de bombeo adelante (decenas de segundo)
- Tiempo de bombeo atrás (decenas de segundo)
- Probar parámetros
Límite de sequedad: humedad mínima del suelo para activar el riego. El valor es el logaritmo natural de la capacitancia del sensor. Los valores actuales y límites se ven en la pantalla principal.
Probar parámetros: permite verificar el funcionamiento y ajustar tiempos antes de guardar en EEPROM.
El hardware
El controlador está construido en dos PCBs de doble cara 3x7 cm. La primera aloja el driver L298n, diodos, bloques de terminales para alimentación y bombas, conectores para sensores. Incluye módulo regulador AMS1117-ADJ para obtener 5V para L298n y Arduino (útil para depuración; puedes usar el regulador del Arduino).
La segunda PCB contiene el Arduino Nano, conectores para codificador rotativo y fotorresistor, y zócalo para el LCD.
Código
WateringSystem C/C++
Código fuente: GitHub
Esquemáticos
Proceso de manufactura
- Sistema de Riego Automático para Plantas con Raspberry Pi y Panel Web
- Sistema Inteligente de Monitorización para Hoteles y Hogares con Controles Automatizados en la Nube
- Alerta de Sed Inteligente para Plantas: Sensor DIY para Riego Óptimo
- Detector de terremotos DIY con ADXL335 – Acelerómetro 3 ejes de baja potencia
- Sistema automático de riego para plantas con Arduino
- Sistema de Monitorizado de Plantas Inteligente con AWS IoT
- Controlador doméstico Arduino con Alexa: Automatización inteligente simplificada
- Sistema Inteligente de Monitorizado de Plantas con Windows 10 IoT, Arduino y Raspberry Pi
- Purificador de aire inteligente con Arduino Yun y Sharp Plasmacluster (IoT AWS)
- Sistema Solar de Seguimiento Solar (Dual Axis) con Arduino UNO – Hazlo Tú Mismo
- Sistema de seguridad Arduino: Detección de movimiento inteligente y alerta












