Circuito de irrigação automática com Arduino

[the_ad id="163881"]

Neste post, vamos construir um sistema de rega automatizado para pequenos jardins usando arduino e sensor de umidade do solo.

Introdução

O sistema proposto pode monitorar o nível de umidade do solo E quando a umidade do solo cair abaixo do valor predefinido, a bomba de 12V DC será ativada por um período de tempo predeterminado. O status do nível de umidade do solo e de outras funções do sistema pode ser monitorado através de uma tela LCD de 16 x 2 em tempo real.

Estima-se que existam 3 trilhões de árvores em todo o mundo, o que é maior que a quantidade inicial em nossa galáxia, a Via Láctea, estimada em 100 bilhões. Mas, os seres humanos cortam inúmeras árvores para satisfazer nossas necessidades básicas às necessidades de luxo.

A Mãe Natureza é projetada com um sistema de feedback, quando uma espécie introduz grandes perturbações, a natureza apaga as espécies da existência.

Os seres humanos estavam inconscientemente perturbando a natureza há séculos, mas mesmo após um grande desenvolvimento na ciência e na tecnologia, a taxa de perturbação não diminuiu.

A mudança climática é um dos exemplos, quando se tornar drástica o suficiente, nossa espécie não durará muito.
Este projeto dá um pequeno passo à frente para preservar a natureza, você pode regar seu adorável pequeno jardim sem nenhuma interação humana. Agora vamos ver os detalhes técnicos do projeto.

Sensor de umidade do solo:

O coração do projeto é sensor de umidade do solo Ele pode detectar a quantidade de umidade no solo. O sensor gera um valor analógico e um microcontrolador interpreta esses valores e exibe o conteúdo de umidade.


Existem dois eletrodos a serem inseridos no solo. Os eletrodos são conectados a uma placa de circuito que consiste em CIs de comparação, LEDs, pinos de entrada e saída de resistência do trimmer.

Ilustração do sensor de umidade do solo:

módulo sensor de umidade do solo

Possui 4 + 2 pinos, 2 pinos para conectar o eletrodo e o restante dos 4 pinos são Vcc, GND, saída digital e saída analógica. Vamos usar apenas o pino de saída analógica para detectar a umidade do solo.
Como não estamos usando um pino de saída digital, não usaremos o resistor de cisalhamento embutido para calibrar o sensor.

Agora isso conclui o sensor de umidade do solo.

Diagrama esquemático:

[the_ad id="163884"]

O circuito é mantido bastante simples e amigável para iniciantes. O esboço é dividido em duas partes do mesmo projeto para reduzir a confusão ao duplicar o projeto.

Diagrama de fiação do LCD para sistema de irrigação automática

O esquema anterior é o LCD para arduino fiação. Um potenciômetro de 10K é fornecido para ajustar o contraste da tela LCD.

Sistema de irrigação automática baseado em microcontrolador

Aqui está o restante do esquema, que consiste em um sensor de umidade do solo, uma bomba de 12V DC, um botão de calibração e uma fonte de alimentação de 12V (1 – 2 A). Use uma fonte de energia que seja pelo menos 500 mA da corrente nominal da bomba de 12V DC.

O MOSFET IRF540N (ou qualquer canal N equivalente) é usado no lugar dos BJTs para melhorar a eficiência energética geral do sistema.

A bomba regará seu pequeno jardim, verifique sempre se há uma quantidade adequada de água disponível.

Código do programa:

//-------------Program Developed By R.Girish-------------//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int Time = 5;         // Set time in minutes
int threshold = 30;   // set threshold in percentage 80, 70, 60, 50, 40, 30, 20 only.
int i;
int x;
int y;
int z;
int start;
int calibrateValue;
const int calibrateBTN = A1 ;
const int input = A0;
const int motor = 7;
boolean calibration = false;
boolean rescue = false;
void setup()
{
Serial.begin(9600);
pinMode(input, INPUT);
pinMode(calibrateBTN, INPUT);
pinMode(motor, OUTPUT);
digitalWrite(calibrateBTN, HIGH);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("Pour water and");
lcd.setCursor(0,1);
lcd.print("press calibrate");
while(!calibration)
{
if(digitalRead(calibrateBTN)==LOW)
{
calibrateValue = analogRead(input);
x = 1023 - calibrateValue;
x = x/10;
Serial.print("Difference = ");
Serial.println(x);
Serial.print("Calibration Value = ");
Serial.println(calibrateValue);
delay(500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Calibration done");
lcd.setCursor(0,1);
lcd.print("successfully !!!");
calibration = true;
delay(2000);
}
}
}
void loop()
{
if(analogRead(input)<= calibrateValue) { delay(500); lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 100%"); } if(analogRead(input) > calibrateValue && analogRead(input) <= calibrateValue+x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 90 to 99%"); } if(analogRead(input) > calibrateValue+x && analogRead(input) <= calibrateValue+2*x ) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 80 to 90%"); start = 80; } if(analogRead(input) > calibrateValue+2*x && analogRead(input) <= calibrateValue+3*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 70 to 80%"); start = 70; } if(analogRead(input) > calibrateValue+3*x && analogRead(input) <= calibrateValue+4*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 60 to 70%"); start = 60; } if(analogRead(input) > calibrateValue+4*x && analogRead(input) <= calibrateValue+5*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 50 to 60%"); start = 50; } if(analogRead(input) > calibrateValue+5*x && analogRead(input) <= calibrateValue+6*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 40 to 50%"); start = 40; } if(analogRead(input) > calibrateValue+6*x && analogRead(input) <= calibrateValue+7*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 30 to 40%"); start = 30; } if(analogRead(input) > calibrateValue+7*x && analogRead(input) <= calibrateValue+8*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 20 to 30%"); start = 20; } if(analogRead(input) > calibrateValue+8*x && analogRead(input) <= calibrateValue+9*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: 10 to 20%"); start = 10; } if(analogRead(input) > calibrateValue+9*x && analogRead(input) <= calibrateValue+10*x) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Soil Moisture"); lcd.setCursor(0,1); lcd.print("Level: < 10%"); rescue = true; } if(start == threshold || rescue) { y = Time; digitalWrite(motor, HIGH); Time = Time*60; z = Time; for(i=0; i

Como calibrar este sistema de irrigação automática:

• Com o hardware completo, insira o eletrodo no chão, em algum lugar no caminho do fluxo de água.
• Agora altere os dois valores no programa 1) A quantidade de tempo que levará para regar todas as plantas (em minutos). 2) Nível limite abaixo do qual o arduino ativa a bomba. Você pode definir os valores percentuais 80, 70, 60, 50, 40, 30, 20 apenas.

int Tempo = 5; // Defina o tempo em minutos
limiar int = 30; // define o limite como uma porcentagem 80, 70, 60, 50, 40, 30, 20 apenas.

Mude os valores no programa.

• Carregue o código no arduino e ligue o circuito. Ele mostrará "despeje água e pressione calibrar". Agora você deve regar manualmente seu jardim a um nível suficiente.
• Depois de regar o jardim, pressione o botão de calibração. Isso determinará a condução da eletricidade em solos totalmente úmidos e acionará o valor de referência.
• Agora o sistema está pronto para servir o seu pequeno jardim. Tente adicionar um backup de energia para este projeto. Quando a energia falhar, o valor de referência calibrado será apagado da memória e você precisará calibrar o sistema novamente.

Protótipo do autor:

Imagem do protótipo de rega automática baseada em Arduino

Indicação do nível de umidade do solo:

[the_ad id="163886"]

Quando a bomba LIGAR, exibirá o tempo restante para desligar (em segundos).



FONTE

Nota: Este foi traduzido do Inglês para português (auto)

Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc...

Veja na FONTE até ser revisado o post.

Status (Não Revisado)

Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!


[the_ad id="163888"]

Veja mais

Axtudo
Axtudohttps://www.axtudo.com/
“Solidários, seremos união. Separados uns dos outros seremos pontos de vista. Juntos, alcançaremos a realização de nossos propósitos.” (Bezerra de Menezes)

Comentários

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

Captcha *Limite de tempo excedido. Por favor, complete o captcha mais uma vez.

Compartilhe


Últimos Posts

8 GADGETS PARA SUA COZINHA QUE FAZEM QUE COZINHAR...

Vídeo - Para questões relacionadas a direitos autorais, entre em contato conosco: [email protected] BRAIN TIME ► link➤https:goo.gl/1F9h4w 1. Cakewalk3d link➤https:youtu.be/efdKAEQ9vxA link➤https:www.youtube.com/channel/UCCbfGHsun3RTG89QDi4uOZg 2. EatFigo link➤https:youtu.be/b_1dxBaOIwE link➤https:www.youtube.com/channel/UC9g7mgqKX8jpNeCBzjR7eCA 3. iFlow link➤https:youtu.be/Cf__NvqbQIY link➤https:www.youtube.com/channel/UCVRpSghWljtCb4DkD5JWJxQ 4. Egg Shaper & Eggbears (Preview) link➤https:www.amazon.co.uk/Barbuzzo-Shaped-Shaper-Fryer-Black/dp/B017W5SACU link➤https:www.awesomeinventions.com/shop/gun-egg-fryer/ ...

10 MELHORES GATILHOS MENTAIS PARA VENDER TODO DIA e...

Gatilhos mentais são altamente poderosos para que você realize vendas na Internet. E hoje você vai descobrir os 10 principais gatilhos mentais para você...

Como ficar inteligente (mesmo se você nasceu burro) |...

Vídeo - Inteligência: link➤https:arata.se/inteligencia Não existe uma lista definitiva de quais atividades aumentam a sua inteligência. Mas existe uma regra clara que você pode...

6 Ideias para uma degustar omelete inesquecível | A...

Vídeo - 6 receitas criativas e originais de omelete. As omeletes parecem estar no universo paralelo da culinária. Por um lado, elas são consideradas uma...