ESP32 - Sistema de riego automático

Este tutorial explica cómo construir un sistema de riego automático para el jardín utilizando ESP32, un sensor de humedad del suelo, un relé y una bomba. En detalle:

Hardware Requerido

1×Módulo de Desarrollo ESP32 ESP-WROOM-32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Humedad del Suelo Capacitivo
1×Relé
1×12V Bomba
1×Vinyl Tube
1×Adaptador de Corriente 12V
1×(Opcional) Conector de Alimentación DC
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentación para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Buy Note: Many soil moisture sensors available in the market are unreliable, regardless of their version. We strongly recommend buying the sensor with TLC555I Chip from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Acerca del sensor de humedad del suelo y de la bomba

Tenemos tutoriales específicos sobre el sensor de humedad del suelo y la bomba. Cada tutorial contiene información detallada y instrucciones paso a paso sobre el esquema de pines de hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para ESP32... Obtén más información sobre ellos en los siguientes enlaces:

Diagrama de Cableado

Diagrama de cableado del sistema de riego ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Código ESP32

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-automatic-irrigation-system */ #define RELAY_PIN 17 // ESP32 pin GPIO17 that connects to relay #define MOISTURE_PIN 36 // ESP32 pin GPIO36 (ADC0) that connects to AOUT pin of moisture sensor #define THRESHOLD 1500 // CHANGE YOUR THRESHOLD HERE void setup() { Serial.begin(9600); pinMode(RELAY_PIN, OUTPUT); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int value = analogRead(MOISTURE_PIN); // read the analog value from sensor if (value > THRESHOLD) { Serial.print("The soil is DRY => turn pump ON"); digitalWrite(RELAY_PIN, HIGH); } else { Serial.print("The soil is WET => turn pump OFF"); digitalWrite(RELAY_PIN, LOW); } Serial.print(" ("); Serial.print(value); Serial.println(")"); delay(200); }

Pasos R\u00e1pidos

  • Realiza la calibración para determinar el umbral húmedo-seco, ver ESP32 - Calibra el sensor de humedad del suelo
  • Actualiza el valor del umbral calibrado en el código
  • Abre el Monitor Serial en el IDE de Arduino
  • Sube el código a la placa ESP32
  • Observa el resultado en el Monitor Serial. A continuación se muestra:
COM6
Send
The soil is DRY => turn pump ON (1921) The soil is DRY => turn pump ON (1821) The soil is DRY => turn pump ON (1741) The soil is DRY => turn pump ON (1645) The soil is DRY => turn pump ON (1564) The soil is WET => turn pump OFF (1465) The soil is WET => turn pump OFF (1411) The soil is WET => turn pump OFF (1365) The soil is WET => turn pump OFF (1375) The soil is WET => turn pump OFF (1279)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Explicación del código

Lee la explicación línea por línea en las líneas de comentario del código fuente.

※ Nota:

Este tutorial usa la función analogRead() para leer valores de un ADC (Convertidor Analógico-Digital) conectado a un sensor de humedad del suelo. El ADC del ESP32 es bueno para proyectos que no requieren alta precisión. Sin embargo, para proyectos que necesitan mediciones precisas, tenga en cuenta:

  • El ADC del ESP32 no es perfectamente preciso y podría necesitar calibración para obtener resultados correctos. Cada placa ESP32 puede ser un poco diferente, así que necesitas calibrar el ADC para cada placa individual.
  • La calibración puede ser difícil, especialmente para principiantes, y puede no dar siempre los resultados exactos que deseas.

Para proyectos que requieren alta precisión, considera usar un ADC externo (p. ej. ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más fiable. Si aún quieres calibrar el ADC del ESP32, consulta ESP32 ADC Calibration Driver

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!