Regador automático de plantas com Arduino
Aprenda neste artigo, como automatizar a rega de suas plantas, utilizando o Arduino NANO. Este projeto, além do baixo custo, pode ser montado em menos de uma hora e irá garantir que as suas plantas sempre tenham água disponível, garantido um crescimento adequado e saudável. Além disto o projeto conta com um sensor de luz, para que as regas sejam feitas apenas durante o dia.
Princípio de funcionamento
Para regar a planta, sem desperdiçar água é preciso determinar se há água no solo ou não. Para tanto, podemos nos valer de uma propriedade básica da água, que é a condutividade elétrica. Observe que a condutividade elétrica da água depende da concentração de íons. Se não houver íons presentes na água ela perde, fortemente, a capacidade de conduzir eletricidade. A água de torneira possuí uma pequena quantidade saís em solução o que a torna um eletrólito fraco.
Com isto, podemos correlacionar o teor de umidade do solo com a sua condutividade elétrica, ou seja, quanto maior for a concentração de água no solo, maior será a condutividade elétrica.
Agora, vamos fazer uma analogia, suponha que o solo se comporta como um resistor variável, onde a variação de resistência é uma função da quantidade de água no solo. Sendo assim, podemos utilizar uma porta analógica do Arduino para determinar, aproximadamente, o teor de umidade no solo.
Lista de materiais
- Arduino NANO V3
- Protoboard 830 furos
- Jumpers MxM
- Modulo Relé
- Fonte 12V (qualquer uma com capacidade maior que 1A)
- Bomba da água 12V com reservatório
- Sensor de umidade no solo
- LDR
- 1 x resistor de 10k
- Caixa plástica patola.
Diagrama de montagem
Separe os materiais necessários para iniciar a montagem, o sensor de luz (LDR) deve ficar posicionado de forma que possa captar, de maneira parcial, a luz solar. Já o Arduino, protoboard e fonte devem ficar protegidos da água, uma ideia consiste em montar somente a parte de controle em uma caixa plástica Patola, esse tipo de caixa pode ser encontrado na nossa loja virtual. Observe a figura 1 e 2 com o diagrama de montagem do circuito, e também a montagem física na protoboard.
Lógica de funcionamento
A lógica de funcionamento do nosso programa consiste em, inicialmente checar se é dia ou noite, caso seja noite o programa nada faz. Já se for dia, o programa irá checar a umidade do solo.
Caso o valor de umidade do solo esteja abaixo do valor pré-estabelecido, o programa aciona a bomba d’água por 10 segundos e então, mede a umidade do solo. Caso a umidade não atinja o valor pré-estabelecido de umidade ideal, o programa irá continuar pulsando a bomba por 10 segundos a cada 3 minutos, até que a condição de umidade ideal seja satisfeita. Esse intervalo de 10 minutos é necessário para que a água seja absorvida pelo solo e a próxima leitura de umidade tenha um resultado mais uniforme.
A rega ideal, cada planta possuí uma necessidade diferente
O valor ideal de umidade é experimental e deve ser levado em consideração o tipo de planta. Por exemplo, plantas aromáticas como a hortelã, manjericão são conhecidas, popularmente, por gostarem de uma rega generosa. Já os cactos, gostam de água também, no entanto o solo não pode permanecer constantemente úmido uma vez que isso irá, inevitavelmente, apodrecer o sistema de raizes da planta. No caso dos cactos, recomenda-se que regue a planta quando a umidade do solo for bem baixa. Deste modo, asseguramos períodos de baixa umidade no solo, condição necessária para o bom desenvolvimento de cetáceas em geral.
Observe que, como visto anteriormente, cada tipo de planta possuí uma necessidade de água diferente, fica a cargo do leitor determinar a necessidade de sua planta através de literaturas que podem ser encontradas na internet.
Calibrando os sensores
Com o auxílio do monitor serial, presente na IDE do Arduino, observe os valores de umidade e luz. Então com o sensor de umidade instalado em seu vaso ou jardim, verifique a umidade do solo quando ele estiver seco. No nosso caso o valor lido com a terra seca é de 20%, logo definimos a que a variável limUmidade deve ser igual a 20. Isto é, toda a vez que a umidade do solo for menor ou igual a 20 a bomba será acionada.
Já o LDR, responsável por mensurar a luminosidade do sol, encontramos que a os valores ideias estão entre 350 e 500. Você deve alterar esse valor conforme o comportamento do seu circuito, pois existem diversos tipos de LDR que, por consequência, respondem de maneira diferente a luz. A variável responsável pelo limiar de acionamento do sistema pela luz é limSolar.
Código Fonte
int limSolar = 300; //limiar de luz necessario para regar a planta. 0 a 1023, recomenda-se valores entre 350 a 600. int limUmidade = 20; //limiar de umidade necessaria para regar a planta. 0 a 100, recomenda-se valores de 20 a 30. unsigned long period = 18000; //modifique aqui o intervalo entre medidas (ms). unsigned long time_now = 0; // nao modifique este valor. void setup() { // put your setup code here, to run once: pinMode(4, OUTPUT); //saida para acionar bomba da agua, Serial.begin(9600); } void loop() { int valSolar = analogRead(A0); int umidade = analogRead(A1); int umidadeCor = map(umidade, 0, 1023, 100, 0); //caso os valores de umidade aparecem invertidos, altere a ordem dos dois ultimos numeros. Serial.print("Luz:"); Serial.print(valSolar); Serial.print(" Umidade:"); Serial.print(umidadeCor); Serial.println(); if(valSolar>=limSolar) { if (millis() >= time_now + period) { time_now += period; if(umidadeCor<=limUmidade){ digitalWrite(4,HIGH); Serial.println("REGANDO, BOMBA LIGADA!"); delay(10000); digitalWrite(4,LOW); } } } }
Não deixem de seguir a modulo eletrônica no Instagram para acompanhar não só os posts novos como também as diversas promoções de produtos. Gostaríamos também de conhecer as montagens feitas por você leitor, marque a modulo eletrônica nos seus posts do Instagram @moduloeletronica relacionados a robótica, Arduino e eletrônica
Rafael Valsani Leme Passos
Sobre o autor: Rafael Valsani Leme Passos é técnico em eletrônica pela ETEC Bento Quirino e graduando em Engenharia de Alimentos pela Universidade Estadual de Campinas.
VEJA TAMBÉM
Datalogger com cartão SD. Registre: temperatura, umidade, luminosidade e tensão)
Neste post, vamos aprender a como montar datalogger, para registrar em um cartão SD, temperatura, umidade relativa, tensão e nível de luminosidade. Esse tipo de dispositivo é extremamente útil para fazer análises de fenômenos que dependem do tempo. Por exemplo,...
Fita de LEDs RGB endereçáveis WS2812B e a biblioteca fastLED
No post de hoje, vamos conhecer a fita de LEDs WS2812B endereçáveis e como utilizá-la com o Arduino UNO. Essa fita de LEDs se destaca, em relação as outras do mercado, pelo fato de que seus LEDs podem ser controlados de maneira individual, permitindo que o...
Display de 7 segmentos no Arduino com multiplexação
No post de hoje, vamos aprender a trabalhar com os displays de 7 segmentos, esse tipo de display é muito comum é uma vasta gama de equipamentos eletrônicos. As vantagens desse display são o seu baixo custo, simplicidade de implementação, excelente resistência...
NEWSLETTER
Assine nossa newsletter e receba as novidades.
0 comentários