Arduino UNO R4 - Sensor de humedad del suelo

En este tutorial, aprenderemos a usar un sensor de humedad con el Arduino UNO R4. Específicamente, cubriremos:

Sensor de humedad del suelo para Arduino UNO R4

Hardware Requerido

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×Alternatively, DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi
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×Cables Puente
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno R4
1×(Recomendado) Shield de Protoboard para Arduino Uno R4
1×(Recomendado) Carcasa para Arduino Uno R4
1×(Recomendado) Divisor de Alimentación para Arduino Uno R4
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino 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

sensor de humedad capacitivo frente a sensor de humedad resistivo

Hay dos tipos de sensores de humedad:

  • Sensor capacitivo de humedad
  • Sensor resistivo de humedad

Ambos sensores proporcionan información sobre la humedad del suelo, pero funcionan de maneras diferentes. Recomendamos encarecidamente utilizar el sensor de humedad capacitivo por esta razón:

  • El sensor de humedad del suelo resistivo se daña gradualmente. Esto sucede porque hay una corriente eléctrica que recorre entre sus sondas, lo que provoca un tipo de daño llamado corrosión electroquímica.
  • El sensor de humedad del suelo capacitivo no se daña con el tiempo. La razón es que sus electrodos están cubiertos y no se corroen fácilmente.

La imagen de abajo muestra un sensor de humedad del suelo hecho de material resistivo que se ha corroído con el tiempo.

sensor resistivo de humedad del suelo corroído

La parte restante de este tutorial se centrará en el uso del sensor de humedad del suelo capacitivo.

Esquema de pines del sensor de humedad del suelo capacitivo

Un sensor de humedad del suelo capacitivo viene con tres pines:

  • Pin GND: conéctalo a GND (0V)
  • Pin VCC: conéctalo a VCC (5V o 3.3V)
  • Pin AOUT: envía una señal analógica que cambia con la humedad del suelo. Conéctalo al pin de entrada analógica en un Arduino UNO R4.
Diagrama de pines del sensor de humedad del suelo capacitivo

Cómo funciona

Cuanto mayor sea el contenido de agua en el suelo, menor será el voltaje en el pin AOUT.

Diagrama de Cableado

Diagrama de cableado del sensor de humedad del suelo para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Arduino UNO R4 Código

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-soil-moisture-sensor */ #define AOUT_PIN A0 // Defines pin A0 to read from the moisture sensor void setup() { Serial.begin(9600); // Initializes serial communication at 9600 bps } void loop() { int value = analogRead(AOUT_PIN); // Reads the moisture level from the sensor Serial.print("Moisture: "); // Sends the text 'Moisture: ' to the serial monitor Serial.println(value); // Prints the moisture level to the serial monitor delay(500); // Pauses the loop for 500 milliseconds }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta el sensor de humedad del suelo al Arduino Uno R4 según el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu computadora usando un cable USB.
  • Abre el IDE de Arduino en tu computadora.
  • Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Copia el código anterior y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Cargar en el IDE de Arduino para subir el código al Arduino UNO R4.
  • Coloca el sensor en el suelo, luego añade agua al suelo. Alternativamente, puedes colocarlo suavemente en una taza de agua salada.
  • Verifica los resultados en el Monitor serie. Se mostrarán a continuación:
COM6
Send
Moisture: 581 Moisture: 581 Moisture: 575 Moisture: 566 Moisture: 556 Moisture: 547 Moisture: 539 Moisture: 530 Moisture: 521 Moisture: 513 Moisture: 506 Moisture: 500 Moisture: 495 Moisture: 492 Moisture: 490 Moisture: 489 Moisture: 488
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

  • No use agua destilada para pruebas, ya que no conduce electricidad y no afectará las lecturas del sensor.
  • Normalmente, las lecturas del sensor no llegan a cero. Por lo general se mantienen entre 500 y 600. Sin embargo, esto puede variar dependiendo de cuán profundo esté el sensor en el suelo o en el agua, del tipo de suelo o agua y del voltaje de alimentación.
  • No coloque la parte del circuito del sensor (que se encuentra en la parte superior) en el suelo o en el agua, ya que podría dañar el sensor.

Calibración para sensor capacitivo de humedad del suelo

La lectura del sensor de humedad no es fija; varía según el tipo de suelo y su contenido de agua. Para usarlo correctamente, debemos calibrarlo para encontrar un punto de corte que nos indique cuándo el suelo está húmedo o seco.

Cómo realizar la calibración:

  • Utiliza el Arduino UNO R4 para ejecutar el código proporcionado.
  • Inserta el sensor de humedad en el suelo.
  • Añade poco a poco agua al suelo.
  • Observa el Monitor Serial.
  • Registra el valor cuando creas que el suelo pasa de seco a húmedo. Este valor se conoce como el umbral.

Determinar si el suelo está mojado o seco

Después de calibrar, cambia el valor de THRESHOLD que anotaste por el siguiente código. Este código verifica si el suelo está húmedo o seco.

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-soil-moisture-sensor */ #define AOUT_PIN A0 // Pin on Arduino for moisture sensor output #define THRESHOLD 530 // Set threshold value for moisture level void setup() { Serial.begin(9600); // Initialize serial communication at 9600 bps } void loop() { int value = analog_read(AOUT_PIN); // Read value from moisture sensor if (value > THRESHOLD) // Compare sensor reading to threshold Serial.print("The soil is DRY ("); // Print dry status if above threshold else Serial.print("The soil is WET ("); // Print wet status if below threshold Serial.print(value); // Print the sensor reading Serial.println(")"); // Finish the line delay(500); // Wait for half a second before next read }

El resultado tal como se ve en el Monitor Serial.

COM6
Send
The soil is DRY (581) The soil is DRY (575) The soil is DRY (566) The soil is DRY (547) The soil is DRY (539) The soil is WET (521) The soil is WET (513) The soil is WET (492) The soil is WET (488)
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Referencias de funciones

※ 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!