Irrigação Automática Para Horta





Usando componentes simples, poderemos fazer a leitura da umidade do solo para determinar a hora certa de fazer a irrigação nas plantas.
Os créditos estão disponíveis no código.
Supplies
Arduino (Qualquer placa)
Bomba d'água 6v (Alimentaremos com 5v)
Fios (Depende da distância de cada componente colocado por você)
Mangueira (Depende da distância)
Vasilha para plantas (Com terra adubada)
Cano de PVC 25mm (Tamanho variado, depende das vasilhas de planta)
2 joelhos para cano de pvc 25mm
Montagem Das Vasilhas E Dos Tubos De Irrigação



2° Devemos fazer pequenos furos na parte de baixo dos tubos, com exceção dos joelhos, isso vai servir para a água pingar nas vasilhas com terra. (Aconselho plantar ao redor de onde pinga para melhorar absorção.
3° Caso a mangueira utilizada na bomba seja mais fina que o tubo, devemos vedar bem as junções para evitar vazamento, prevenindo assim o desperdício de água.
4° Vede também a vasilha d'água, evitando a proriferacão de mosquitos, fazendo apenas o buraco para a passagem da mangueira que será levada ao tubo.
5° Aconselho também colocar outro pedaço de mangueira no final do tubo, dessa forma o excesso de água volta direto para a vasilha d'água.
Montagem Do Circuito

Olhe a imagem acima e siga as instruções.
1° Faça as ligações a seguir:
Alimente o módulo do sensor de umidade ligando no Arduino, alimentando com 3.3v ou 5v.
Em seguida conecte o pino de dados na porta A0 do arduino.
Agora vamos alimentar o módulo relé, ligando o pino vermelho nos 5v, e o preto no gnd do arduino.
O pino de dados ligamos na portal 9.
Para acionar a bomba d'água, siga a ligação da foto.
Biblioteca necessária: https://github.com/rocketscream/Low-Power/archive/refs/heads/master.zip
Descompactar o arquivo e colocar nas bibliotecas da IDE.
Essa biblioteca serve para economizar se você utilizar baterias no lugar de uma fonte, porém recomendo usar a fonte para alimentar o relé e a bomba.
A depender da terra utilizada, você deverá ajustar a porcentagem umidade do solo em que a bomba deve ser acionada.
IMPORTANTE: Você realmente deverá mudar o valor para o relé ser acionado, infelizmente o meu módulo ta com problema e tive que adaptador no código, então é importante você fazer a sua adaptação também, apenas na porcentagem.
Código:
// Código de Funcionamento para Sistema de Monitoramento e Irrigação com Arduino
#include "LowPower.h"
#define pinoAnalog A0 // Define o pino A0 como "pinoAnalog"
#define pinoRele 9 // Define o pino 8 como "pinoRele"
//#define pino5V 7 // Define o pino 7 como "pino5V"
int ValAnalogIn; // Introduz o valor analógico ao código
void setup() {
Serial.begin(9600); // Declara o BaundRate em 9600
Serial.println("www.usinainfo.com.br"); // Imprime a frase no monitor serial
pinMode(pinoRele, OUTPUT); // Declara o pinoRele como Saída
//pinMode(pino5V, OUTPUT); // Declara o pino5V como Saída
//digitalWrite(pino5V, HIGH); // Põem o pino5V em estado Alto = 5V
}
void loop() {
ValAnalogIn = analogRead(pinoAnalog); // Relaciona o valor analógico com o recebido do sensor
int Porcento = map(ValAnalogIn, 1023, 0, 0, 100); // Relaciona o valor analógico à porcentagem
Serial.print(Porcento); // Imprime o valor em Porcento no monitor Serial
Serial.println("%"); // Imprime o símbolo junto ao valor encontrado
if (Porcento >= 75) { // Se a porcentagem for maior ou igual à
Serial.println("Planta irrigada..."); // Imprime a frase no monitor serial
digitalWrite(pinoRele, HIGH); // Altera o estado do pinoRele para nível Alto
else { // Se não ...
Serial.println("Irrigando planta..."); // Imprime a frase no monitor serial
digitalWrite(pinoRele, LOW); // Altera o estado do pinoRele para nível Baixo
delay (3000); // Estabelece o tempo de 3 para reinicializar a leitura