Tutorial Arduino: Medidor Inteligente para Umidade do Solo

Monitorar a umidade do solo é essencial para plantas saudáveis e sistemas de irrigação eficientes. Este guia prático ensina a criar um medidor de umidade inteligente usando Arduino, capaz de automatizar a regagem com base em dados reais. Combinando teoria, montagem prática e programaçãoKit de experimentos científicos para estudantes usando ArduinoKit de experimentos científicos para estudantes usando ArduinoDescubra 10 projetos interdisciplinares com Arduino, kits acessíveis e aplicações em ciências, desenvolvendo habilidades e promovendo a educação inovadora., você aprenderá desde os princípios dos sensores até técnicas avançadas de otimização.

Destaques do projeto:

📌 Conteúdo🔗

Componentes necessários🔗

ComponenteQuantidadeFunçãoObservações
Arduino Uno/Nano1Processamento centralQualquer modelo compatível
Sensor de umidade do solo1Medição da umidadeResistivo ou capacitivo
Módulo relé 5V1Controle da bomba d'águaPara cargas de alta potência
LEDs (vermelho e verde)2Indicadores de statusCom resistores 220Ω
Buzzer ativo1Alerta sonoroOpcional
Bomba d'água 5V/12V1Irrigação automáticaCompatível com relé
Protoboard e jumpers-Conexões do circuito-
Fonte de alimentação1Energia para bomba12V se necessário

Notas:

Funcionamento dos sensores de umidade🔗

Tipos de sensores:

1. Resistivo:

2. Capacitivo:

Princípio de operação:

// Conversão para porcentagem (sensores resistivos):
umidade_percentual = map(valor_analógico, VALOR_SECO, VALOR_MOLHADO, 0, 100);

Montagem do circuito🔗

// Conexões principais:
// Sensor (A0):
//   VCC → 5V
//   GND → GND
//   SIG → A0
// Relé (D8):
//   IN → D8
//   Bomba → Contatos NO
// LEDs:
//   Verde → D6 com resistor 220Ω
//   Vermelho → D7 com resistor 220Ω
// Buzzer (Opcional) → D9

Passos:

1. Conecte o sensorPrimeiras comunicações com o hardwarePrimeiras comunicações com o hardwareAprenda a configurar e testar conexões no Arduino com dicas práticas para depuração via Serial e controle de dispositivos simples. ao pino analógico A0.

2. Ligue o relé ao pinoPrimeiras comunicações com o hardwarePrimeiras comunicações com o hardwareAprenda a configurar e testar conexões no Arduino com dicas práticas para depuração via Serial e controle de dispositivos simples. digital 8 para controle da bomba.

3. Adicione LEDs indicadores nos pinosPrimeiras comunicações com o hardwarePrimeiras comunicações com o hardwareAprenda a configurar e testar conexões no Arduino com dicas práticas para depuração via Serial e controle de dispositivos simples. 6 (verde) e 7 (vermelho).

4. Para buzzerSimulador de efeitos climáticos controlado por ArduinoSimulador de efeitos climáticos controlado por ArduinoAprenda a criar um simulador climático com Arduino e sensores, replicando chuva, vento, relâmpagos e auroras. Ideal para educação, IoT e arte interativa., use o pino 9.

Calibração do sensor🔗

1. MétodoProgramação orientada a objetos no ArduinoProgramação orientada a objetos no ArduinoAprenda a implementar a Programação Orientada a Objetos no Arduino com exemplos práticos, dicas e técnicas para otimizar o desempenho dos seus projetos. prático:

const int DRY_VALUE = 620;   // Exemplo para solo seco
const int WET_VALUE = 310;   // Exemplo para solo molhado

2. Uso do Monitor Serial:

void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.println(analogRead(A0)); // Exibe valores brutos
  delay(1000);
}

Código para automação🔗

#include <Arduino.h>
const int sensorPin = A0;
const int relePin = 8;
const int ledVerde = 6;
const int ledVermelho = 7;
const int buzzerPin = 9; // Opcional
// Valores calibrados
const int DRY_VALUE = 620;
const int WET_VALUE = 310;
int lerUmidade() {
  int valor = analogRead(sensorPin);
  return map(valor, DRY_VALUE, WET_VALUE, 0, 100);
}
void setup() {
  pinMode(relePin, OUTPUT);
  pinMode(ledVerde, OUTPUT);
  pinMode(ledVermelho, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  int umidade = lerUmidade();
  Serial.print("Umidade: ");
  Serial.print(umidade);
  Serial.println("%");
  if(umidade < 30) { // Solo seco
    digitalWrite(relePin, HIGH); // Ativa bomba
    digitalWrite(ledVermelho, HIGH);
    digitalWrite(ledVerde, LOW);
    tone(buzzerPin, 1000, 500); // Alerta sonoro
  }
  else if(umidade > 70) { // Solo úmido
    digitalWrite(relePin, LOW);
    digitalWrite(ledVermelho, LOW);
    digitalWrite(ledVerde, HIGH);
    noTone(buzzerPin);
  }
  delay(5000); // Verifica a cada 5 segundos
}

Proteção e otimização🔗

1. Contra corrosão (sensoresO que é Arduino: Conceito e AplicaçõesO que é Arduino: Conceito e AplicaçõesDescubra como o Arduino transforma ideias em projetos inovadores com exemplos práticos de códigos, sensores e LEDs para iniciantes e makers. resistivos):

  • Aplique grafite nos eletrodos.
  • Use ciclos de energia alternada (liga/desliga rápido).

2. Economia de energia:

#include <avr/sleep.h>
void entrarSleepMode() {
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  sleep_enable();
  sleep_mode();
}

3. Controle PIDConstruindo um robô seguidor de linhaConstruindo um robô seguidor de linhaAprenda a montar e programar um robô seguidor de linha com nosso guia completo, integrando eletrônica, mecânica e controle PID de forma eficaz. (para irrigação precisa):

float Kp = 0.5, Ki = 0.1, Kd = 0.2;
float erro, erro_anterior, integral, derivativo;
erro = setpoint - umidade;
integral += erro * tempo_amostragem;
derivativo = (erro - erro_anterior)/tempo_amostragem;
output = Kp*erro + Ki*integral + Kd*derivativo;

Expansões do projeto🔗

1. Monitoramento remoto (Wi-FiProjetos de automação residencial com ArduinoProjetos de automação residencial com ArduinoDescubra como transformar sua casa em um lar inteligente com Arduino. Aprenda comandos, sensores e integrações para automação residencial prática.):

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
// Envia dados para plataforma IoT

2. Registro histórico em SD:

#include <SD.h>
File dataFile = SD.open("datalog.txt", FILE_WRITE);
dataFile.println(String(millis()) + "," + String(umidade));

3. Interface gráfica:

4. Sistema modular:

Conclusão🔗

Este projeto transforma o ArduinoO que é Arduino: Conceito e AplicaçõesO que é Arduino: Conceito e AplicaçõesDescubra como o Arduino transforma ideias em projetos inovadores com exemplos práticos de códigos, sensores e LEDs para iniciantes e makers. em uma ferramenta poderosa para agricultura inteligente, permitindo não apenas automatizar a irrigação, mas também coletar dados para otimização contínua. Experimente ajustar os limiares de umidade, adicionar notificações via celular ou expandir para múltiplas zonas de cultivo. Com criatividade, você pode adaptar o sistema para jardins residenciais, estufas comerciais ou projetos de pesquisa em agropecuária!

// Bônus: Código simplificado para iniciantes
void loop() {
  int valor = analogRead(A0);
  if(valor > 500) digitalWrite(8, HIGH); // Liga bomba
  else digitalWrite(8, LOW); // Desliga bomba
  delay(1000);
}
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados