Grove - Sensor de humedad

Este sensor de humedad puede utilizarse para detectar la humedad del suelo o determinar si hay agua alrededor del sensor, permitiendo que la planta de tu jardín pueda pedir ayuda humana cuando tenga sed. Este sensor es muy fácil de usar, simplemente puedes insertarlo en el suelo y leer los datos. Con este sensor, puedes hacer un pequeño proyecto que permita a la planta enviarte un mensaje como "Tengo sed ahora, por favor dame un poco de agua".
Versión
| Versión del producto | Cambios | Fecha de lanzamiento |
|---|---|---|
| Grove - Moisture Sensor V1.4 | Inicial | Junio de 2014 |
Actualizable a sensores industriales
Con el controlador S2110 y el registrador de datos S2100 de SenseCAP, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con la creación de prototipos, sino que también te ofrece la posibilidad de ampliar tu proyecto con la serie SenseCAP de robustos sensores industriales.
Los sensores industriales de la serie SenseCAP S210x proporcionan una experiencia lista para usar para la monitorización ambiental. Consulta el sensor inalámbrico de humedad del suelo, temperatura y EC S2105, con mayor rendimiento y robustez para la monitorización del estado del suelo. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad de luz, CO2, EC y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.
| Sensor industrial SenseCAP |
| S2105 Humedad del suelo & Temp & EC |
Características
- Sensor de humedad del suelo basado en la medición de la resistividad del suelo
- Fácil de usar
- Módulo Grove de 2,0 cm x 6,0 cm
Para más detalles sobre los módulos Grove, consulta Grove System
Especificación
| Elemento | Condición | Mín | Típico | Máx | Unidad |
|---|---|---|---|---|---|
| Voltaje | - | 3.3 | - | 5 | V |
| Corriente | - | 0 | - | 35 | mA |
| Valor de salida | Sensor en suelo seco, Sensor en suelo húmedo, Sensor en agua | 0, 300, 700, | - | 300, 700, 950 | - |
Plataformas compatibles
| Arduino | Raspberry Pi |
|---|---|
![]() | ![]() |
Las plataformas mencionadas arriba como compatibles son una indicación de la compatibilidad teórica o a nivel de software del módulo. En la mayoría de los casos solo proporcionamos bibliotecas de software o ejemplos de código para la plataforma Arduino. No es posible proporcionar bibliotecas de software o código de demostración para todas las posibles plataformas de MCU. Por lo tanto, los usuarios tienen que escribir sus propias bibliotecas de software.
Ideas de aplicación
- Jardinería botánica
- Detección de humedad
- Medición de consistencia
Primeros pasos
Si esta es la primera vez que trabajas con Arduino, te recomendamos encarecidamente que consultes Getting Started with Arduino antes de empezar.
Jugar con PlatformIO
Hardware
- Paso 1. Prepara los siguientes elementos:
| XIAO ESP32 C3 | Seeed Studio Grove Base for XIAO | Grove - Soil Moisture Sensor |
|---|---|---|
![]() | ![]() | ![]() |
| Consigue uno ahora | Consigue uno ahora | Consigue uno ahora |
- Paso 2. Conecta el Grove-Moisture Sensor al puerto A0 de Seeed Studio Grove Base for XIAO.
- Paso 3. Inserta XIAO en Seeed Studio Grove Base for XIAO.
- Paso 4. Conecta XIAO al PC mediante un cable USB.

Software
- Paso 1. Copia el código en PlatformIO
int sensorPin = A0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
Serial.print("Moisture = " );
Serial.println(sensorValue);
delay(1000);
}
- Paso 2. Veremos la humedad mostrada en el terminal como se indica a continuación.
Moisture = 0
Moisture = 31
Moisture = 48
Moisture = 139
Moisture = 155
Moisture = 124
Moisture = 236
Moisture = 218
Moisture = 215
Moisture = 221
Puedes encontrar algunas demostraciones prácticas o artísticas en la sección "Wiki & Learn" de la página de detalles del producto.
Jugar con Arduino
Hardware
- Paso 1. Prepara los siguientes elementos:
| Seeeduino V4.2 | Base Shield | Grove-Moisture Sensor |
|---|---|---|
![]() | ![]() | ![]() |
| Consigue uno ahora | Consigue uno ahora | Consigue uno ahora |
- Paso 2. Conecta el Grove-Moisture Sensor al puerto A0 del Grove-Base Shield.
- Paso 3. Inserta el Grove - Base Shield en Seeeduino.
- Paso 4. Conecta Seeeduino al PC mediante un cable USB.

Si no tenemos Grove Base Shield, también podemos conectar directamente el Grove-Moisture Sensor a Seeeduino como se muestra a continuación.
| Seeeduino | Grove-Moisture Sensor |
|---|---|
| 5V | Rojo |
| GND | Negro |
| No conectado | Blanco |
| A0 | Amarillo |
Software
- Paso 1. Copia el código en el Arduino IDE y súbelo. Si no sabes cómo subir el código, consulta how to upload code.
int sensorPin = A0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
Serial.print("Moisture = " );
Serial.println(sensorValue);
delay(1000);
}
- Paso 2. Veremos la humedad mostrada en el terminal como se indica a continuación.
Moisture = 0
Moisture = 31
Moisture = 48
Moisture = 139
Moisture = 155
Moisture = 124
Moisture = 236
Moisture = 218
Moisture = 215
Moisture = 221
Jugar con Codecraft
Hardware
Paso 1. Conecta un Grove - Moisture Sensor al puerto A0 de un Base Shield.
Paso 2. Inserta el Base Shield en tu Seeeduino/Arduino.
Paso 3. Conecta Seeeduino/Arduino a tu PC mediante un cable USB.
Software
Paso 1. Abre Codecraft, añade compatibilidad con Arduino y arrastra un procedimiento principal al área de trabajo.
Si es la primera vez que utilizas Codecraft, consulta también la Guide for Codecraft using Arduino.
Paso 2. Arrastra los bloques como en la imagen de abajo o abre el archivo cdc que se puede descargar al final de esta página.

Sube el programa a tu Arduino/Seeeduino.
Cuando el código termine de cargarse, verás el valor de humedad mostrado en el Monitor Serie.
Jugar con Raspberry Pi (con Grove Base Hat para Raspberry Pi)
Hardware
- Paso 1. Elementos utilizados en este proyecto:
| Raspberry pi | Grove Base Hat for RasPi | Grove - Moisture Sensor |
|---|---|---|
![]() | ![]() | |
| Consigue uno ahora | Consigue uno ahora | Consigue uno ahora |
- Paso 2. Conecta el Grove Base Hat a la Raspberry Pi.
- Paso 3. Conecta el Grove - Moisture Sensor al puerto A0 del Base Hat.
- Paso 4. Conecta la Raspberry Pi al PC mediante un cable USB.

Software
- Paso 1. Sigue Setting Software para configurar el entorno de desarrollo.
- Paso 2. Descarga el archivo fuente clonando la biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- Paso 3. Ejecuta el siguiente comando para ejecutar el código.
cd grove.py/grove
python grove_moisture_sensor.py 0
A continuación se muestra el código grove_moisture_sensor.py.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# The MIT License (MIT)
#
# Grove Base Hat for the Raspberry Pi, used to connect grove sensors.
# Copyright (C) 2018 Seeed Technology Co.,Ltd.
'''
This is the code for
- Grove - Moisture Sensor <https://www.seeedstudio.com/Grove-Moisture-Sensor-p-955.html>`_
Examples:
.. code-block:: python
import time
from grove.grove_moisture_sensor import GroveMoistureSensor
# connect to alalog pin 2(slot A2)
PIN = 2
sensor = GroveMoistureSensor(PIN)
print('Detecting moisture...')
while True:
m = sensor.moisture
if 0 <= m and m < 300:
result = 'Dry'
elif 300 <= m and m < 600:
result = 'Moist'
else:
result = 'Wet'
print('Moisture value: {0}, {1}'.format(m, result))
time.sleep(1)
'''
import math
import sys
import time
from grove.adc import ADC
__all__ = ["GroveMoistureSensor"]
class GroveMoistureSensor:
'''
Grove Moisture Sensor class
Args:
pin(int): number of analog pin/channel the sensor connected.
'''
def __init__(self, channel):
self.channel = channel
self.adc = ADC()
@property
def moisture(self):
'''
Get the moisture strength value/voltage
Returns:
(int): voltage, in mV
'''
value = self.adc.read_voltage(self.channel)
return value
Grove = GroveMoistureSensor
def main():
from grove.helper import SlotHelper
sh = SlotHelper(SlotHelper.ADC)
pin = sh.argv2pin()
sensor = GroveMoistureSensor(pin)
print('Detecting moisture...')
while True:
m = sensor.moisture
if 0 <= m and m < 300:
result = 'Dry'
elif 300 <= m and m < 600:
result = 'Moist'
else:
result = 'Wet'
print('Moisture value: {0}, {1}'.format(m, result))
time.sleep(1)
if __name__ == '__main__':
main()
Si todo va bien, podrás ver el siguiente resultado:
pi@raspberrypi:~/grove.py/grove $ python grove_moisture_sensor.py 0
Detecting moisture...
Moisture value: 0, Dry
Moisture value: 1, Dry
Moisture value: 25, Dry
Moisture value: 3, Dry
Moisture value: 0, Dry
Moisture value: 0, Dry
Moisture value: 0, Dry
Moisture value: 0, Dry
Moisture value: 0, Dry
Moisture value: 1, Dry
^CTraceback (most recent call last):
File "grove_moisture_sensor.py", line 74, in <module>
main()
File "grove_moisture_sensor.py", line 71, in main
time.sleep(1)
KeyboardInterrupt
Puedes usar este sensor para detectar la calidad del aire. Pulsa ++ctrl+c++ para salir.
Puede que hayas notado que para el puerto analógico, el número de pin serigrafiado es algo como A1, A0, sin embargo en el comando usamos el parámetro 0 y 1, igual que para el puerto digital. Así que asegúrate de conectar el módulo en el puerto correcto, de lo contrario, puede haber conflictos de pines.
Jugar con Raspberry Pi (con GrovePi_Plus)
Hardware
- Paso 1. Prepara los siguientes elementos:
| Raspberry pi | GrovePi_Plus | Grove-Moisture Sensor |
|---|---|---|
![]() | ![]() | ![]() |
| Consigue uno ahora | Consigue uno ahora | Consigue uno ahora |
- Paso 2. Conecta el GrovePi_Plus a la Raspberry.
- Paso 3. Conecta el Grove-Moisture Sensor al puerto A0 de GrovePi_Plus.
- Paso 4. Conecta la Raspberry al PC mediante un cable USB.

Software
- Paso 1. Sigue Setting Software para configurar el entorno de desarrollo.
- Paso 2. Haz git clone del repositorio de Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Paso 3. Ejecuta los siguientes comandos para usar el Grove-Moisture Sensor para medir la humedad.
cd ~/GrovePi/Software/Python
python grove_moisture_sensor.py
Aquí está el código grove_moisture_sensor.py.
# Here are suggested sensor values:
# Min Typ Max Condition
# 0 0 0 sensor in open air
# 0 20 300 sensor in dry soil
# 300 580 700 sensor in humid soil
# 700 940 950 sensor in water
import time
import grovepi
# Connect the Grove Moisture Sensor to analog port A0
# SIG,NC,VCC,GND
sensor = 0
while True:
try:
print(grovepi.analogRead(sensor))
time.sleep(.5)
except KeyboardInterrupt:
break
except IOError:
print ("Error")
- Paso 4. Veremos la humedad mostrada en la terminal como se indica a continuación.
pi@raspberrypi:~/GrovePi/Software/Python $ python grove_moisture_sensor.py
0
90
130
150
160
218
238
Jugar con TI LaunchPad
Hardware
El siguiente sketch demuestra una aplicación sencilla de detección de la humedad en el suelo. Con esto, puedes saber si una planta necesita agua o no observando los resultados que el sensor entrega.

Software
/*
Moisture-Sensor
The following sketch demonstrates a simple application of sensing
the moisture of the soil. You can know whether a plant needs water
or not by observing the results that the sensor outputs.
The circuit:
* Moisture-Sensor attached to pin 24 (J6 plug on Grove Base BoosterPack)
* one side pin (either one) to ground
* the other side pin to +VCC
* LED anode (long leg) attached to RED_LED
* LED cathode (short leg) attached to ground
- NOTE:
This example code is in the public domain.
https://www.seeedstudio.com/wiki/Grove_-_Moisture_Sensor
*/
#include "TM1637.h"
/* Macro Define */
#define CLK 39 /* 4-digital display clock pin */
#define DIO 38 /* 4-digiral display data pin */
#define BLINK_LED RED_LED /* blink led */
#define MOISTURE_PIN 24 /* pin of moisture sensor */
#define THRESHOLD_VALUE 300 /* threshold for watering the flowers */
#define ON HIGH /* led on */
#define OFF LOW /* led off */
#define _handle_led(x) digitalWrite(BLINK_LED, x) /* handle led */
/* Global Varibles */
TM1637 tm1637(CLK, DIO); /* 4-digital display object */
int analog_value = 0; /* varible to store the value coming from rotary angle
sensor */
int8_t bits[4] = {0}; /* array to store the single bits of the value */
/* the setup() method runs once, when the sketch starts */
void setup() {
/* Initialize 4-digital display */
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);
/* declare the red_led pin as an OUTPUT */
pinMode(BLINK_LED, OUTPUT);
}
/* the loop() method runs over and over again */
void loop() {
analog_value = analogRead(MOISTURE_PIN); /* read the value from the sensor */
/* if the value is smaller than threshold, turn on led */
if(analog_value < THRESHOLD_VALUE) {
_handle_led(ON);
} else {
_handle_led(OFF);
}
memset(bits, 0, 4); /* reset array when we use it */
for(int i = 3; i >= 0; i--) {
/* get single bits of the analog value */
bits[i] = analog_value % 10;
analog_value = analog_value / 10;
tm1637.display(i, bits[i]); /* display by 4-digital display */
}
delay(200);
}
Preguntas frecuentes
P1: ¿Qué significa la salida? ¿Voltaje o recuentos?
R1: La salida son valores de voltaje. Al usar analogRead(), 5V se dividirán entre 1023. Así que el valor de salida = Vout * 1023/5. Cuanto mayor sea el voltaje de salida, mayor será la humedad.
Visor de esquemáticos en línea
Recursos
-
[Eagle&PDF]Esquemático de Grove - Moisture Sensor v1.4
-
[Codecraft]Archivo CDC
Proyectos
Sistema de monitoreo de plantas usando AWS IoT: Si planeas irte de vacaciones, aquí tienes un gran proyecto para rastrear la temperatura y la humedad del suelo de tu planta usando dweet.io y AWS IoT.
Soporte técnico y debate sobre el producto
¡Gracias por elegir nuestros productos! Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.










