Sensor de Umidade do Solo Capacitivo com Arduino (TL555I)

Introdução ao Sensor Capacitivo de Umidade do Solo

Diferente dos sensores resistivos tradicionais, este módulo utiliza o princípio de capacitância para medir a umidade do solo. Isso elimina o problema comum de corrosão dos eletrodos, aumentando significativamente a vida útil do dispositivo. O sensor inclui um regulador de tensão integrado, operando entre 3,3 V e 5,5 V, sendo compatível com placas Arduino de 3,3 V. A interface padrão Gravity (DFRobot) permite conexão direta com shields de expansão I/O. Para plataformas como Raspberry Pi, é necessário um conversor ADC externo.

Características Técnicas

  • Alimentação: 3,3–5,5 V DC
  • Sinal de saída analógico: 0–3,0 V
  • Conector: PH2.0-3P
  • Dimensões: 99×16 mm
  • Saída inversamente proporcional à umidade (menor valor em água)

Esquema Elétrico e Conexão

O módulo possui três pinos: VCC, GND e Sinal (analógico). Conecte VCC ao 5V do Arduino, GND ao GND e Sinal a uma entrada analógica (ex.: A0).

Calibração do Sensor

Antes de usar, é necessário calibrar o sensor para definir os limites de umidade. O procedimento consiste em:

  1. Carregar o código de calibração abaixo no Arduino.
  2. Abrir o Serial Monitor (9600 baud).
  3. Medir o valor lido com o sensor exposto ao ar seco (valor de referência para seco).
  4. Mergulhar o sensor em água (até a marca indicada no corpo, sem ultrapassar a linha vermelha) e anotar o valor (referência para 100% de umidade).

Como a saída é inversamente proporcioanl à umidade, o valor em água será menor que o valor ao ar.

Código de Calibração

// Calibração do sensor capacitivo de umidade do solo
void setup() {
  Serial.begin(9600);
}

void loop() {
  int leitura = analogRead(A0);
  Serial.println(leitura);
  delay(500);
}

Exemplo Prático: Classificação da Umidade

Com os valores de calibração (exemplo: ar = 620, água = 308), podemos dividir o intervalo em três faixas: seco, úmido e muito úmido. O código abaixo classifica e exibe o estado no Serial Monitor.

// Classificação da umidade do solo em três níveis
const int VALOR_AR = 620;        // Valor no ar seco
const int VALOR_AGUA = 308;      // Valor na água
const int INTERVALO = (VALOR_AR - VALOR_AGUA) / 3;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int leitura = analogRead(A0);

  if (leitura > VALOR_AGUA && leitura < (VALOR_AGUA + INTERVALO)) {
    Serial.println("Muito úmido");
  }
  else if (leitura > (VALOR_AGUA + INTERVALO) && leitura < (VALOR_AR - INTERVALO)) {
    Serial.println("Úmido");
  }
  else if (leitura < VALOR_AR && leitura > (VALOR_AR - INTERVALO)) {
    Serial.println("Seco");
  }

  delay(2000);
}

Observações Importantes

  • A profundidade de inserção e a copmactação do solo influenciam as leituras; recomenda-se fixar uma profundidade padrão.
  • Após retirar o sensor, o solo pode se soltar, alterando leituras subsequentes.
  • Para proteger a parte eletrônica, aplique verniz isolante ou resina na região dos componentes.

Integração com Plataformas Gráficas

O sensor pode ser utilizado em ambientes como Mind+ ou Linkboy (simulação), facilitando o aprendizado de programação visual.

Tags: Arduino TL555I capacitive soil moisture sensor humidity measurement analog sensor

Publicado em 9-5 00:17