Arduino Nano - Soil Moisture Sensor
Este tutorial ensina você a usar um sensor de umidade com o Arduino Nano. Especificamente, vamos ver:
- As diferenças entre um sensor de umidade resistivo e um capacitivo
- Como programar o Arduino Nano para ler o valor do sensor de umidade usando o Arduino Nano
- Como usar o Arduino Nano para calibrar o sensor de umidade
- Como o Arduino Nano determina se o solo está úmido ou seco
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
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.
Sobre o Sensor de Umidade do Solo

Existem dois tipos de sensores de umidade:
- O sensor de umidade resistivo
- O sensor de umidade capacitivo.
Os dois sensores fornecem informações sobre a umidade do solo. No entanto, seus princípios de funcionamento são diferentes. Recomendamos fortemente o uso do sensor de umidade capacitivo pelos seguintes motivos:
- O sensor resistivo de umidade do solo é propenso à corrosão com o tempo. Isso acontece porque a corrente elétrica passa entre suas pontas de prova, causando corrosão eletroquímica.
- O sensor capacitivo de umidade do solo corrói com o tempo muito mais devagar do que o sensor resistivo. Isso acontece porque seus eletrodos não ficam expostos e são comparativamente mais resistentes à corrosão.
Esta é uma ilustração de um sensor resistivo de umidade do solo que foi danificado por corrosão ao longo do tempo.

No restante deste tutorial, vamos usar o sensor capacitivo de umidade do solo.
Pinagem do Sensor Capacitivo de Umidade do Solo
O sensor capacitivo de umidade do solo tem três pinos:
- Pino GND: Deve ser conectado ao GND (0V)
- Pino VCC: Deve ser conectado ao VCC (5V ou 3.3v)
- Pino AOUT: Este pino de saída de sinal analógico produz uma tensão proporcional ao nível de umidade do solo. Deve ser conectado a um pino de entrada analógica do Arduino.

Como Funciona
O pino AOUT tem uma tensão maior quando há menos água no solo.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Nano e outros componentes.
Código Arduino Nano para ler o valor do sensor de umidade do solo
Passos Rápidos
- Copie o código acima e abra-o com o Arduino IDE.
- Clique no botão Upload no Arduino IDE para compilar e carregar o código no Arduino Nano.
- Enterre o sensor no solo e depois despeje água no solo. Ou mergulhe-o devagar em um copo de água com sal.
- Veja o resultado no Serial Monitor. Ele se parece com o abaixo:
※ Nota:
- Evite testar com água pura, pois ela não conduz eletricidade e não afeta as leituras do sensor.
- As leituras do sensor nunca chegam a zero. Normalmente, elas ficam entre 500 e 600, embora isso possa variar conforme fatores como a profundidade do sensor, o tipo de solo ou de água e a tensão da fonte de alimentação.
- Não enterre a parte do circuito (localizada na parte de cima do sensor) no solo nem na água, pois isso pode danificar o sensor.
Calibração do Sensor Capacitivo de Umidade do Solo
O valor obtido do sensor de umidade não é absoluto. Ele depende da composição do solo e da quantidade de água presente. Para determinar com precisão o limite entre úmido e seco, é preciso fazer a calibração.
Instruções para a calibração:
- Execute o código no Arduino Nano
- Coloque o sensor de umidade no solo
- Adicione água ao solo aos poucos
- Veja o Serial Monitor
- Anote o valor quando o solo passa de seco para úmido. Esse valor é chamado de THRESHOLD.
O Arduino Nano determina se o solo está úmido ou seco
Depois que a calibração terminar, atualize o valor de THRESHOLD que você anotou no código abaixo. Este código do Arduino Nano vai decidir se o solo está úmido ou seco.
A saída exibida no Serial Monitor.