Irrigação Automática Para Horta

by CranFIN in Circuits > Arduino

477 Views, 0 Favorites, 0 Comments

Irrigação Automática Para Horta

IMG_20220205_180753.jpg
IMG_20220205_180617.jpg
36e63f7783.jpg
KY-019_Fritzing_custom_part_image.png
hw-390-arduino-circuit.jpg
Projeto criado para automatizar a irrigação de uma pequena horta dentro de casa.
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

F9B8V0LKZ1A5B5W.jpg
FKAMNEPKZ1A5BKD.jpg
FHZURUCKZ1A5B6A.jpg
1° Fazer a junção dos tubos junto com os joelhos para formar uma espécie de U. (Essa parte você pode fazer no formato que desejar, contanto que seja fácil a água fluir normalmente por dentro do tubo).
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

AddText_02-05-07.58.10.jpg

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