Monitore sua planta usando Arduino
Não seria ótimo se a sua planta pudesse avisar você quando está precisando de água ? Com o sensor de umidade do solo higrômetro e um Arduino, isso é possível. Monte um sistema para monitorar sua planta usando Arduino com as instruções deste post, que utiliza poucos componentes para criar um indicador visual de nível de umidade do solo e saúde da sua plantinha.
Neste projeto, temos três leds que acendem conforme o nível detectado pelo sensor de umidade: vermelho para solo seco, amarelo para umidade moderada e verde para solo úmido.
O sensor de umidade do solo higrômetro
O sensor de umidade do solo consiste em 2 partes: uma sonda que entra em contato com o solo, e um pequeno módulo contendo um chip comparador LM393 (datasheet), que vai ler os dados que vêm do sensor e enviá-los para o microcontrolador, no nosso caso, um Arduino Uno. Como saída, temos um pino D0, que fica em nível 0 ou 1 dependendo da umidade, e um pino de saída analógica (A0), que possibilita monitorar com maior precisão usando uma porta analógica do microcontrolador.
O módulo tem um led que indica quando a placa está sendo alimentada corretamente, e outro que acende quando a saída digital for acionada. A sensibilidade do módulo é ajustada por meio do potenciômetro existente na placa.
Conexão do sensor ao Arduino
No nosso exemplo vamos usar a porta analógica A0 do Arduino para ler os valores do pino A0 do módulo. Os leds serão ligados às portas digitais 5, 6 e 7.
Usamos resistores de 10K nos leds, mas você pode utilizar outros valores de resistores no circuito.
Programa de monitoração de planta usando Arduino
O programa abaixo faz a leitura da porta analógica a cada 2 segundos, e de acordo com o valor lido acende o led correspondente à solo seco (led vermelho), solo com umidade moderada (led amarelo), ou solo úmido (led verde). O valor da porta analógica e a condição de umidade também são mostrados no serial monitor.
//Programa: Monitoracao de planta usando Arduino //Autor: FILIPEFLOP #define pino_sinal_analogico A0 #define pino_led_vermelho 5 #define pino_led_amarelo 6 #define pino_led_verde 7 int valor_analogico; void setup() { Serial.begin(9600); pinMode(pino_sinal_analogico, INPUT); pinMode(pino_led_vermelho, OUTPUT); pinMode(pino_led_amarelo, OUTPUT); pinMode(pino_led_verde, OUTPUT); } void loop() { //Le o valor do pino A0 do sensor valor_analogico = analogRead(pino_sinal_analogico); //Mostra o valor da porta analogica no serial monitor Serial.print("Porta analogica: "); Serial.print(valor_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); } delay(100); } void apagaleds() { digitalWrite(pino_led_vermelho, LOW); digitalWrite(pino_led_amarelo, LOW); digitalWrite(pino_led_verde, LOW); }
Uma boa sugestão de “upgrade” nesse circuito é a utilização do NodeMCU, enviando os avisos para o seu celular ou tablet ou mostrando esses valores em uma página web. Você também pode usar esse sensor como base para montar um sistema de irrigação com Arduino.
Gostou ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!
Site: Blog FILIPEFLOP