Arduino Nano ESP32 - Bomba para sensor de humedad del suelo

En este tutorial, vamos a aprender a usar el Arduino Nano ESP32 para controlar la bomba de agua de acuerdo con el valor leído del sensor de humedad del suelo capacitivo.

Hardware Requerido

1×Arduino Nano ESP32
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 Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

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

Si no sabes sobre la bomba y el sensor de humedad del suelo (disposición de pines, cómo funciona, cómo programarlos...), aprende sobre ellos en los siguientes tutoriales:

Cómo funciona

Arduino Nano ESP32 lee periódicamente el valor del sensor de humedad del suelo capacitivo. En función del valor de humedad del suelo, tomará las siguientes acciones:

  • Si el valor de humedad del suelo está por debajo de un umbral, Arduino Nano ESP32 activa automáticamente un relé para encender una bomba.
  • De lo contrario, Arduino Nano ESP32 desactiva automáticamente un relé para apagar una bomba.

Diagrama de Cableado

Diagrama de cableado del sensor de humedad del suelo y de la bomba para Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Código Arduino Nano ESP32

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

Pasos R\u00e1pidos

COM6
Send
The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is DRY => activate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump The soil moisture is WET => deactivate the pump
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 utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico a Digital) conectado a un sensor o componente. El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión. Sin embargo, para proyectos que requieren mediciones precisas, ten en cuenta lo siguiente:

  • El ADC del Arduino Nano ESP32 no es perfectamente preciso y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
  • La calibración puede ser un desafío, especialmente para principiantes, y podría no siempre producir los resultados exactos que deseas.

Para proyectos que requieren alta precisión, considera usar un ADC externo (p. ej. ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más fiable. Si aún desea calibrar el ADC del Arduino Nano ESP32, consulte el 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!