Guia Completo: Sistema de Irrigação Automático com Arduino

Imagine um jardim que se cuida sozinho, onde suas plantas são irrigadas automaticamente na medida exata de suas necessidades. Com um sistema de irrigação automático baseado em 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., você pode economizar até 40% de água, garantir a saúde das plantas e eliminar a preocupação de regas manuais. Este guia prático combina três abordagens complementares para criar um sistema inteligente, desde a montagem do circuitoComo controlar um motor DC usando um transistor e ArduinoComo controlar um motor DC usando um transistor e ArduinoAprenda a controlar motores DC com Arduino usando TIP120, diodo e PWM. Descubra montagem, programação e soluções práticas para projetos maker. até programação avançada, calibração de sensores e integração com IoT. Ideal para hortas, jardins ou estufas, este projeto une eletrônica, programação e sustentabilidade.

Sumário🔗

Como o sistema funciona🔗

O sistema opera através de um sensor de umidade do soloMedidor de umidade do solo para plantas automatizadasMedidor de umidade do solo para plantas automatizadasDescubra como montar um medidor inteligente de umidade do solo com Arduino. Aprenda sobre sensores, relés, programação e controle automatizado da irrigação. que envia dados analógicos ao 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.. Quando a umidade cai abaixo de um limite pré-definido:

1. 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. ativa um módulo reléSimulador 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.

2. O relé fecha o circuito da bomba d'águaSimulador 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.

3. A irrigação ocorre até o solo atingir a umidade ideal

4. O sistema entra em modo de espera

Componentes necessários🔗

ComponenteEspecificaçõesFunção
Arduino UnoMicrocontrolador ATmega328PCérebro do sistema
Sensor de umidadeHigrômetro capacitivo YL-69Medição precisa sem oxidação
Módulo relé 5VContato 10A/250VACAcionamento seguro da bomba
Bomba submersa3.5W ~ 12V DCPressão para irrigação
Fonte de alimentação12V 2AEnergia para bomba e Arduino
Diodo 1N4007Proteção contra surtosEvita danos por EMI da bomba
LEDsVermelho, amarelo, verdeIndicadores visuais de umidade
Resistores220ΩProteção para LEDs
Protoboard e jumpers-Conexão dos componentes

Dicas:

Montagem do circuito🔗

Parte 1: Conexões elétricas principais

Arduino       → Outros Componentes
5V            → VCC do sensor e relé
GND           → GND do sensor e relé
A0            → Sinal do sensor (DOUT)
D8            → IN1 do relé

Parte 2: LEDs indicadores

Atenção:

Programação do Arduino🔗

Código base com LEDs e controle de bomba:

const int sensorPin = A0;
const int relePin = 8;
const int ledVerde = 2, ledAmarelo = 3, ledVermelho = 4;
int umidadeLimite = 400; // Ajuste na calibração
void setup() {
  pinMode(relePin, OUTPUT);
  pinMode(ledVerde, OUTPUT);
  pinMode(ledAmarelo, OUTPUT);
  pinMode(ledVermelho, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  int leitura = analogRead(sensorPin);
  Serial.print("Umidade: ");
  Serial.println(leitura);
  if (leitura > 800) { // Solo seco
    digitalWrite(ledVermelho, HIGH);
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVerde, LOW);
    digitalWrite(relePin, HIGH);
    delay(2000); // Tempo de rega ajustável
    digitalWrite(relePin, LOW);
    delay(60000); // Espera 1 minuto
  } else if (leitura > 400) { // Solo úmido
    digitalWrite(ledAmarelo, HIGH);
    digitalWrite(ledVerde, LOW);
    digitalWrite(ledVermelho, LOW);
    digitalWrite(relePin, LOW);
  } else { // Solo saturado
    digitalWrite(ledVerde, HIGH);
    digitalWrite(ledAmarelo, LOW);
    digitalWrite(ledVermelho, LOW);
    digitalWrite(relePin, LOW);
  }
  delay(1000);
}

Otimizações:

1. Filtro de média móvel para leituras estáveis:

#define AMOSTRAS 5
int amostras[AMOSTRAS];
int leituraFiltrada() {
  int total = 0;
  for (int i=0; i<AMOSTRAS; i++) {
    amostras[i] = analogRead(sensorPin);
    total += amostras[i];
    delay(50);
  }
  return total/AMOSTRAS;
}

2. Histerese para evitar ativações frequentes:

if (leitura > (umidadeLimite + 50)) {
  digitalWrite(relePin, HIGH);
}
while (leitura > (umidadeLimite - 20)) {
  delay(1000);
  leitura = analogRead(sensorPin);
}

Calibração do sensor de umidade🔗

1. CalibraçãoComo Calibrar Sensores AnalógicosComo Calibrar Sensores AnalógicosAprenda a calibrar sensores analógicos com métodos de hardware e software no Arduino. Descubra como garantir medições precisas em seus projetos. inicial:

2. Teste de leitura:

void setup() {
  Serial.begin(9600);
}
void loop() {
  Serial.print("Leitura bruta: ");
  Serial.println(analogRead(A0));
  delay(1000);
}

Testes e ajustes práticos🔗

Problemas comuns e soluções:

ProblemaSolução
Ativação frequente demaisAumente o delay entre regas ou adicione histerese no código
Leituras inconsistentesUse filtro de média móvel ou verifique conexões do sensor
Bomba não desligaAdicione timeout no relé: delay(tempoIrrigacao)

Teste de segurança:

Otimizações e expansões🔗

Energia sustentável:

Adicione painel solar 10W + carregador TP4056:

int nivelBateria = analogRead(A1) * (5.0/1023.0); // Monitoramento

Controle remoto via IoT:

Integre módulo ESP8266Projetos 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. para envio de dados via MQTT:

WiFiClient espClient;
PubSubClient client(espClient);
client.publish("casa/jardim/umidade", String(leitura).c_str());

Multiplos sensores e zonas:

Use multiplexador CD4051 para 8 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.:

for (int canal=0; canal<8; canal++) {
  digitalWrite(pinA, bitRead(canal,0));
  // Leia o sensor atual...
}

Interface de usuário:

Adicione display LCDDisplay LCD 16x2: Exibindo dados de sensores em tempo realDisplay LCD 16x2: Exibindo dados de sensores em tempo realDescubra como conectar e programar o LCD 16x2 com Arduino, visualizando dados de sensores com dicas práticas e otimizações essenciais. para mostrar umidade em tempo real:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.print("Umidade: " + String(leitura));

Dica profissional: Para projetos comerciais, substitua a bomba por válvulas solenoides 24VAC com relésProjetos 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. SSR-40DA.

Este sistema de irrigação automático é apenas o início. Com as técnicas apresentadas, você pode adaptar o projeto para escalas maiores, integrar inteligência artificial ou até criar uma rede de jardins conectados. O limite é sua criatividade!

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