Como usar sensor de umidade do solo com Arduino
Share
Para usar sensor de umidade do solo com Arduino, ligue VCC na alimentação indicada do módulo, GND no GND, AO em uma entrada analógica e, se houver, DO em um pino digital. Depois leia os valores no Monitor Serial, calibre seco/molhado e defina um limite para acionar LED, buzzer, relé ou uma irrigação automática.
Esse sensor é muito procurado por quem quer montar projetos de irrigação com Arduino, hortas inteligentes, vasos monitorados e automação maker. Ele parece simples, mas a qualidade do resultado depende de três coisas: ligação correta, calibração no solo real e cuidado para proteger a eletrônica da água.
O que é um sensor de umidade do solo?
O Sensor de Umidade do Solo HD-68 com Sonda é um módulo usado para detectar variação de umidade no substrato. Em vez de entregar uma porcentagem universal pronta, ele fornece uma leitura que muda conforme o solo fica mais seco ou mais úmido.
- Função principal: monitorar se o solo está seco, úmido ou acima de um limite definido.
- Tipo de leitura: analógica, digital ou ambas, conforme o módulo.
- Projetos comuns: irrigação automática, horta inteligente, vaso monitorado e aula de sensores.
- Peças de apoio: Arduino, protoboard, jumpers, LED, buzzer, relé ou bomba de água compatível.
Como ligar sensor de umidade do solo no Arduino
Para o teste de bancada, use uma placa como o Arduino Uno R3 SMD, uma protoboard e jumpers macho-macho. Alguns sensores têm apenas saída analógica; outros possuem também comparador com saída digital e potenciômetro de ajuste.
| Pino do módulo | Ligar no Arduino | Função |
|---|---|---|
| VCC | Alimentação indicada no módulo | Alimenta o sensor e o comparador |
| GND | GND | Referência elétrica comum |
| AO | A0 | Leitura analógica da umidade |
| DO | Pino digital 2 | Sinal digital por limite ajustado no potenciômetro |
Antes de ligar, confira a tensão de operação do seu módulo. Em Arduino Uno, é comum trabalhar com 5V em muitos sensores de bancada. Em ESP32, as entradas trabalham com 3,3V, então é preciso atenção ao nível de sinal.
Código Arduino para ler umidade do solo no A0
Comece pela leitura analógica. Ela mostra no Monitor Serial como o valor muda quando a sonda está fora do solo, em solo seco e em solo úmido.
const int pinoUmidade = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int valorUmidade = analogRead(pinoUmidade);
Serial.print("Leitura do solo: ");
Serial.println(valorUmidade);
delay(1000);
}
Em alguns módulos, o valor aumenta quando o solo fica mais seco. Em outros, pode diminuir. Por isso, o mais importante é observar a sua montagem real antes de escrever a condição do alerta.
Como calibrar seco e molhado
A calibração é a parte que transforma um sensor simples em um projeto confiável. Não use um número fixo sem testar, porque tipo de solo, profundidade da sonda, salinidade, temperatura e contato físico mudam a leitura.
- Teste seco: meça a leitura com a sonda em solo seco ou fora do vaso.
- Teste úmido: meça com o solo úmido, sem encharcar a parte eletrônica.
- Escolha o limite: defina um valor intermediário entre seco e úmido.
- Repita: confira se o limite continua fazendo sentido no dia seguinte.
- Anote: registre valores de seco, úmido e limite para ajustar o código.
Projeto de alerta de solo seco com LED e buzzer
Depois de calibrar, você pode acionar um LED ou buzzer quando o solo ficar seco. Ajuste limiteSeco conforme seus testes.
const int pinoUmidade = A0;
const int pinoLED = 8;
const int pinoBuzzer = 9;
const int limiteSeco = 600;
void setup() {
pinMode(pinoLED, OUTPUT);
pinMode(pinoBuzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
int valorUmidade = analogRead(pinoUmidade);
Serial.println(valorUmidade);
if (valorUmidade > limiteSeco) {
digitalWrite(pinoLED, HIGH);
digitalWrite(pinoBuzzer, HIGH);
} else {
digitalWrite(pinoLED, LOW);
digitalWrite(pinoBuzzer, LOW);
}
delay(1000);
}
Se o alerta funcionar invertido, troque a condição de > para <. Isso é normal em sensores e módulos diferentes.
Irrigação automática com Arduino: como pensar o projeto
Para irrigação automática, o sensor não deve ligar uma bomba diretamente no Arduino. O caminho correto é o Arduino ler a umidade e acionar um módulo relé, transistor ou driver adequado para a bomba, sempre com fonte compatível e isolamento entre água e eletrônica.
- Sensor: mede solo seco ou úmido.
- Arduino: decide se o limite foi ultrapassado.
- Relé ou driver: aciona a bomba de água com segurança elétrica.
- Fonte externa: alimenta a bomba sem sobrecarregar o Arduino.
- Tempo mínimo: evita ligar e desligar a bomba a cada pequena oscilação.
Em um projeto real, também vale criar histerese: por exemplo, ligar a bomba quando o solo estiver muito seco e desligar somente quando passar de outro limite mais úmido. Isso evita acionamentos repetidos.
Leitura analógica ou digital: qual usar?
A leitura analógica é melhor para estudar o comportamento do solo e criar lógica mais inteligente. A saída digital é útil quando você quer apenas um estado simples: seco ou úmido.
| Saída | Melhor uso | Vantagem |
|---|---|---|
| AO | Calibração e leitura gradual | Mostra variações entre solo seco e úmido |
| DO | Alerta simples por limite | Usa o potenciômetro do módulo para definir o ponto de disparo |
| AO + DO | Projetos didáticos completos | Permite comparar valor bruto e estado lógico |
Sensor resistivo ou capacitivo?
Existem sensores de umidade do solo resistivos e capacitivos. Os resistivos costumam ser comuns em kits e módulos didáticos, mas podem sofrer mais com oxidação quando ficam energizados e em contato contínuo com solo úmido. Os capacitivos medem variação por efeito capacitivo e tendem a ser melhores para uso prolongado.
| Tipo | Como mede | Quando faz sentido |
|---|---|---|
| Resistivo | Variação de condução elétrica no solo | Teste didático, protótipo e aprendizado rápido |
| Capacitivo | Variação dielétrica ao redor da placa | Projeto mais durável e monitoramento por mais tempo |
Cuidados com água, solo e eletrônica
Água e eletrônica precisam ficar separadas. A sonda vai no solo; a placa comparadora, o Arduino, a protoboard e a fonte devem ficar protegidos. Em vaso ou horta, use caixa, suporte e passagem de cabos para evitar respingos.
- Não molhe Arduino, protoboard, USB, fonte ou módulo comparador.
- Insira apenas a parte da sonda no solo, sem forçar cabos e terminais.
- Evite deixar sensor resistivo energizado o tempo todo em solo molhado.
- Use fonte separada e driver adequado para bomba de água.
- Recalibre se trocar o tipo de solo, vaso ou profundidade da sonda.
Posso usar sensor de umidade do solo com ESP32?
Sim, e essa é uma ótima evolução para IoT. Com ESP32, você pode enviar leituras por Wi-Fi, criar dashboard, registrar histórico e receber alertas. O cuidado principal é elétrico: as entradas do ESP32 trabalham com 3,3V, então confira se a saída do sensor não passa desse limite.
Projetos com sensor de umidade do solo
Esse sensor combina bem com outros módulos ambientais. Em uma estação maker, você pode juntar umidade do solo, temperatura, umidade do ar, chuva, luz e presença. Para estudar vários sensores em sequência, o Kit 7 Sensores para Arduino e ESP32 ajuda a comparar leituras e aplicações.
- Irrigação automática: aciona bomba quando o solo fica seco.
- Vaso inteligente: alerta quando a planta precisa de água.
- Horta didática: mostra como sensores ajudam no cuidado com plantas.
- Dashboard IoT: envia leituras para acompanhamento por Wi-Fi com ESP32.
- Estação ambiental: combina solo, temperatura, umidade do ar, chuva e luz.
Erros comuns ao usar sensor de umidade do solo
- Achar que o valor é porcentagem: a leitura do Arduino é um valor bruto que precisa de calibração.
- Não testar seco e molhado: sem referência, o limite vira chute.
- Molhar a placa eletrônica: apenas a sonda deve entrar em contato com o solo.
- Acionar bomba direto no Arduino: use relé, transistor ou driver adequado.
- Ignorar oxidação: sensores resistivos podem desgastar se ficarem energizados por muito tempo no solo úmido.
Peças recomendadas para começar
Para o primeiro teste, use sensor de umidade do solo, Arduino, protoboard e jumpers. Para criar um alerta, adicione LED e buzzer. Para irrigação automática, inclua relé ou driver, bomba compatível e fonte externa adequada.
Perguntas Frequentes (FAQ)
- Como ligar sensor de umidade do solo no Arduino?
- Ligue VCC na alimentação indicada do módulo, GND no GND, AO em A0 e, se houver saída digital, DO em um pino digital.
- O valor do sensor de umidade do solo é porcentagem?
- Normalmente não. O Arduino lê um valor bruto analógico, que precisa ser calibrado com solo seco e solo úmido para virar uma referência útil.
- Posso ligar uma bomba de água direto no Arduino?
- Não. Use relé, transistor ou driver adequado e uma fonte externa compatível com a bomba para evitar dano ao Arduino.
- Sensor de umidade do solo funciona com ESP32?
- Sim, mas confira os níveis de tensão. O ESP32 usa entradas de 3,3V, então o sinal do sensor precisa respeitar esse limite.
Quer montar irrigação ou monitoramento de solo com Arduino?