Como Fazer um Sistema de Irrigação Automatizado

Nesta postagem vou mostrar pra vocês um sistema de irrigação feito inteiramente em casa, utilizando Arduíno, alguns módulos e materiais que podem ser encontrados em qualquer deposito de construção.

Este sistema é indispensável pra quem tem ou quer ter pequenos plantios em casa. Tendo em vista a necessidade do cultivo de hortaliças em casa sem uso de agrotóxicos e melhorando a qualidade de vida. Este invento torna a tarefa de cuidar da horta mais fácil economizando tempo e dinheiro de quem souber usar, sendo ideal também para pessoas que passam maior parte do dia fora de casa e na correria para conciliar trabalho, família e estudos.

Sistema de irrigação terminado

PARA TUTORIAIS EM VÍDEO, INSCREVE-SE NO CANAL DO YOUTUBE, BASTA CLICAR NO BOTÃO ABAIXO:

inscreva-se

Vantagens:

  • Pode ser montado por qualquer pessoa que esteja realmente disposta;
  • Ajuda na economia de água preservando seu bolso e o meio ambiente;
  • Vai te ajudar a manter a horta viva;
  • Vai economizar o seu tempo e tempo é dinheiro;

Materiais:

  • Uma placa arduino, qualquer modelo;
  • Um modulo relé de dois canais;
  • Um modulo de tempo real (RTC);
  • Um sensor de umidade de solo;
  • Uma fonte de alimentação com saída de pelo menos 5 volts;
  • Uma válvula solenoide;
  • Fios Jumper;
  • 1 LED Vermelho, 1 LED Amarelo, 1 LED Verde (Opcional);
  • 3 Resistores de 330 Ohms (Opcional);
  • Dois recipientes plásticos;
  • Um cano de PVC de 25 mm na medida que satisfaça a irrigação do seu plantio;

Como Funciona?

O programa na placa arduino reconhece o modulo de tempo real e faz com que todos os dias no horário programado ele ative um dos relés do modulo de dois canais, no caso desse sistema foi configurado para todos os dias as 5 horas da manha até 5 horas e 05 minutos. O programa faz a leitura do estado do solo a todo momento, desta forma se as 5 horas da manha o solo não estiver úmido a programação ativa o segundo rele do modulo de dois canais e assim com os dois reles ativados manda tensão para a válvula solenoide que por sua vez libera água.

Montagem do sistema hidráulico:

A montagem se da com dois conectores de torneira simples de 25 mm para que seja conectada uma mangueira comum de jardim a válvula solenoide e assim simplificando o projeto;

Válvula solenoide com conectores

Para evitar vazamento utilizamos veda rosca e sintas para prender a mangueira ao conector, desta forma é importante que este conector de torneira seja de metal.

Conectores na Válvula Solenoide

No cano de PVC precisamos fazer uma rosca em uma de suas extremidades ou já comprar com a rosca, pois vamos inserir outro conector de torneira para conectar a mangueira de saída da válvula solenoide, sera preciso uma tampa para fechar a outra extremidade do cano.

Cano com extremidade fechada

Com um prego pequeno e quente fazemos os furos no cano de PVC de 25 mm conforme a necessidade de irrigação.

Basicamente os sistemas hidráulicos seguem o raciocínio das imagens que foram apresentadas caso não tenha ficado claro, assista o vídeo e observe o momento em que mostro o sistema por completo pra ver como ficou.

Esquema de Ligação:

A seguir vocês podem conferir o esquema completo de ligação

Esquema do Sistema de Irrigação

Acima vocês podem conferir o esquema completo de ligação dos componentes para criação do sistema de irrigação, como falo no vídeo reforço aqui que a barra indicadora de umidade do solo não é obrigatória.

Código de Programação:

  • Para que este código funcione corretamente você vai precisar fazer o download da IDE 1.0.5 do arduino;
  • Você também vai precisar fazer o download das bibliotecas;
  • Quando se trata de reles essa IDE inverte LOW por High;
  • Saiba mais sobre a o sensor de umidade e programação do mesmo no site do FelipeFlop;
//NerdKing Corp
#include <WProgram.h> //é um recurso para referenciar a biblioteca Wiring
#include <Wire.h> //inclui a biblioteca Wire necessaria para comunicaçao i2c
#include <DS1307.h> //inclui a biblioteca de comandos do DS1307 utilizada neste programa. Necessário baixá-la no link acima
#define pino_sinal_analogico A0 //define analogica 0 para receber sensor de humidade

int rtc[6];
int rele = 4;
int rele2 = 3;
int valor_analogico;
#define pino_led_vermelho 5
#define pino_led_amarelo 6
#define pino_led_verde 7

void setup()
{
Serial.begin(9600);
for (int pino = 9; pino <= 13; pino++) {
pinMode(pino, OUTPUT); // configura pinos 10 ao 13 como saída
digitalWrite(pino, LOW); // desliga pinos 10 ao 13
pinMode(pino_led_vermelho, OUTPUT);
pinMode(pino_led_amarelo, OUTPUT);
pinMode(pino_led_verde, OUTPUT);
pinMode(rele, OUTPUT);
pinMode(rele2, OUTPUT);
digitalWrite(rele, HIGH);
}

/* Esta sequencia de comandos deve ser escrita apenas uma vez, para
//configurar a hora do Shield RTC 1307. Troque os numeros pela hora atual
RTC.stop();
RTC.set(DS1307_SEC,1); //define o segundo rtc[0]
RTC.set(DS1307_MIN,31); //define o minuto rtc[1]
RTC.set(DS1307_HR,21); //define a hora rtc[2]
RTC.set(DS1307_DOW,7); //define o dia da semana rtc[3]
RTC.set(DS1307_DATE,28); //define o dia rtc[4]
RTC.set(DS1307_MTH,7); //define o mes rtc[5]
RTC.set(DS1307_YR,18); //define o ano rtc[6]
RTC.start();
*/
}
void MudaDispositivo(byte dispositivo, byte estado, byte hora, byte minuto, byte segundo, int* rtc) {
if ( rtc[2] == hora && rtc[1] == minuto && rtc[0] == segundo )
digitalWrite(dispositivo, estado);
}
void loop()
{
RTC.get(rtc,true);
//Simula presença durante o dia
MudaDispositivo(rele, LOW, 21, 35, 10, rtc);
MudaDispositivo(rele, HIGH, 21, 36, 10, rtc);
MudaDispositivo(rele, LOW, 21, 40, 10, rtc);
MudaDispositivo(rele, HIGH, 21, 41, 10, rtc);

//Comando utilizado apenas pra ficar enviando via USB a hora atual
//para que possam monitorar no "serial monitor" do simulador Arduino
//e ver se esta tudo funcionando de acordo

for(int i=0; i<6; i++){
Serial.print(rtc[i]);
Serial.print(" ");
}
Serial.println();

delay(1000);
valor_analogico = analogRead(pino_sinal_analogico);
//Solo umido, acende o led verde
if (valor_analogico > 0 && valor_analogico < 400)
{
Serial.println(" Status: Solo umido");
apagaleds();
digitalWrite(pino_led_verde, HIGH);
}

//Solo com umidade moderada, acende led amarelo
if (valor_analogico > 400 && valor_analogico < 800)
{
Serial.println(" Status: Umidade moderada");
apagaleds();
digitalWrite(pino_led_amarelo, HIGH);
}

//Solo seco, acende led vermelho
if (valor_analogico > 800 && valor_analogico < 1024)
{
Serial.println(" Status: Solo seco");
apagaleds();
digitalWrite(pino_led_vermelho, HIGH);
digitalWrite(rele2, LOW);
}
delay(100);
}
void apagaleds()
{
digitalWrite(pino_led_vermelho, LOW);
digitalWrite(pino_led_amarelo, LOW);
digitalWrite(pino_led_verde, LOW);
digitalWrite(rele2, HIGH);
}

Para aprender mais sobre este programa e sobre o modulo de tempo Real, acesse o post sobre o relógio com modulo RTC.

Se você quiser ver um pouco mais sobre este projeto acesse o vídeo abaixo:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Receba Algo Incrível Preencha seus dados

Preencha seus dados e receba algo incrível.
Não fique fora dessa!