Grove - Sensor de Umidade

Este Sensor de Umidade pode ser usado para detectar a umidade do solo ou verificar se há água ao redor do sensor, permitindo que a planta no seu jardim possa pedir ajuda dos humanos quando estiver com sede. Este sensor é muito fácil de usar, você pode simplesmente inseri-lo no solo e ler os dados. Com este sensor, você pode fazer um pequeno projeto que permita à planta enviar uma mensagem para você como "Estou com sede agora, por favor me dê um pouco de água."
Versão
| Versão do Produto | Mudanças | Data de Lançamento |
|---|---|---|
| Grove - Moisture Sensor V1.4 | Inicial | Junho de 2014 |
Atualizável para Sensores Industriais
Com o S2110 controller e o S2100 data logger da SenseCAP, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não só ajuda você com a prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
Os sensores industriais da série SenseCAP S210x fornecem uma experiência pronta para uso para medições ambientais. Consulte o Sensor Sem Fio de Umidade do Solo, Temperatura e CE S2105, com maior desempenho e robustez para monitoramento das condições do solo. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, CE e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x para o seu próximo projeto industrial de sucesso.
| Sensor Industrial SenseCAP |
| S2105 Soil Moisture & Temp & EC |
Recursos
- Sensor de umidade do solo baseado em medição de resistividade do solo
- Fácil de usar
- Módulo Grove de 2,0 cm X 6,0 cm
Para mais detalhes sobre os módulos Grove, consulte o Grove System
Especificação
| Item | Condição | Mín | Típico | Máx | Unidade |
|---|---|---|---|---|---|
| Tensão | - | 3.3 | - | 5 | V |
| Corrente | - | 0 | - | 35 | mA |
| Valor de Saída | Sensor em solo seco, Sensor em solo úmido, Sensor em água | 0, 300, 700, | - | 300, 700, 950 | - |
Plataformas Suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Ideias de Aplicação
- Jardinagem Botânica
- Detecção de Umidade
- Medição de Consistência
Primeiros Passos
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
Brincar com Arduino
Hardware
- Passo 1. Prepare os seguintes itens:
| Seeeduino V4.2 | Base Shield | Grove-Moisture Sensor |
|---|---|---|
![]() | ![]() | ![]() |
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove-Moisture Sensor à porta A0 do Grove-Base Shield.
- Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
- Passo 4. Conecte o Seeeduino ao PC por meio de um cabo USB.

Se não tivermos o Grove Base Shield, também podemos conectar diretamente o Grove-Moisture Sensor ao Seeeduino como abaixo.
| Seeeduino | Grove-Moisture Sensor |
|---|---|
| 5V | Vermelho |
| GND | Preto |
| Not Conencted | Branco |
| A0 | Amarelo |
Software
- Passo 1. Copie o código para a Arduino IDE e faça o upload. Se você não sabe como fazer o upload do código, verifique 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);
}
- Passo 2. Veremos a umidade exibida no terminal como abaixo.
Moisture = 0
Moisture = 31
Moisture = 48
Moisture = 139
Moisture = 155
Moisture = 124
Moisture = 236
Moisture = 218
Moisture = 215
Moisture = 221
Brincar com Codecraft
Hardware
Passo 1. Conecte um Grove - Moisture Sensor à porta A0 de um Base Shield.
Passo 2. Conecte o Base Shield ao seu Seeeduino/Arduino.
Passo 3. Conecte o Seeeduino/Arduino ao seu PC por meio de um cabo USB.
Software
Passo 1. Abra o Codecraft, adicione o suporte a Arduino e arraste um procedimento principal para a área de trabalho.
Se esta é a sua primeira vez usando o Codecraft, consulte também o Guide for Codecraft using Arduino.
Passo 2. Arraste os blocos como na imagem abaixo ou abra o arquivo cdc que pode ser baixado no final desta página.

Envie o programa para o seu Arduino/Seeeduino.
Quando o código terminar de carregar, você verá o valor de umidade exibido no Serial Monitor.
Brincar com Raspberry Pi (Com Grove Base Hat para Raspberry Pi)
Hardware
- Passo 1. Itens usados neste projeto:
| Raspberry pi | Grove Base Hat for RasPi | Grove - Moisture Sensor |
|---|---|---|
![]() | ![]() | |
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove Base Hat ao Raspberry Pi.
- Passo 3. Conecte o Grove - Moisture Sensor à porta A0 do Base Hat.
- Passo 4. Conecte o Raspberry Pi ao PC através de um cabo USB.

Software
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Baixe o arquivo-fonte clonando a biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- Passo 3. Execute o comando abaixo para rodar o código.
cd grove.py/grove
python grove_moisture_sensor.py 0
A seguir está o 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()
Se tudo correr bem, você conseguirá ver o seguinte 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
Você pode usar este sensor para detectar a qualidade do ar. Pressione ++ctrl+c++ para sair.
Você pode ter notado que, para a porta analógica, o número do pino na serigrafia é algo como A1, A0, porém no comando usamos os parâmetros 0 e 1, exatamente como na porta digital. Portanto, certifique-se de conectar o módulo na porta correta, caso contrário, pode haver conflitos de pinos.
Brincar com Raspberry Pi (com GrovePi_Plus)
Hardware
- Passo 1. Prepare os itens abaixo:
| Raspberry pi | GrovePi_Plus | Grove-Moisture Sensor |
|---|---|---|
![]() | ![]() | ![]() |
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o GrovePi_Plus ao Raspberry.
- Passo 3. Conecte o Grove-Moisture Sensor à porta A0 do GrovePi_Plus.
- Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

Software
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Faça o clone (
git clone) do repositório Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Passo 3. Execute os comandos abaixo para usar o Grove-Moisture Sensor para medir a umidade.
cd ~/GrovePi/Software/Python
python grove_moisture_sensor.py
Aqui está o 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")
- Passo 4. Veremos a umidade exibida no terminal como abaixo.
pi@raspberrypi:~/GrovePi/Software/Python $ python grove_moisture_sensor.py
0
90
130
150
160
218
238
Brincar com TI LaunchPad
Hardware
O sketch a seguir demonstra uma aplicação simples de detecção de umidade no solo. Com isso, você pode saber se sua planta precisa de água ou não, observando o resultado da saída do sensor.

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);
}
FAQs
P1: O que a saída significa? Tensão ou contagem?
R1: A saída são valores de tensão. Ao usar analogRead(), 5 V serão divididos por 1023. Portanto, o valor de saída = Vout * 1023/5. Quanto maior a tensão de saída, maior é a umidade.
Visualizador Online de Esquemático
Recursos
-
[Eagle&PDF]Grove - Moisture Sensor v1.4 Schematic
-
[Codecraft]Arquivo CDC
Projetos
Plant Monitoring System using AWS IoT: Se você está planejando tirar férias, aqui está um ótimo projeto para acompanhar a temperatura e a umidade do solo da sua planta usando dweet.io e AWS IoT.
Suporte Técnico e Discussão sobre Produtos
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.










