De início pensei nas variáveis que preciso monitorar, ex: temperatura, umidade, nível de água ... Porem decidi partir para a prática e por logo algo para funcionar e depois incrementar o projeto de acordo com as necessidades. Pensando dessa forma criei um código para o Arduino que lê um sinal pela porta analógica A0, sinal esse que varia entre 0 e 5V, utilizando "sensores", (fios de cobre fincados no solo), consegui monitorar a umidade presente no vazo da planta, sendo que, níveis de tensão próximos a 0V indicam que a planta necessita de água, logicamente níveis próximos a 5V indicam que o solo está molhado. Utilizei 2 LEDs, um vermelho que indica o estado "solo seco", e o verde indica o estado "solo molhado". Utilizei também a comunicação serial para um melhor monitoramento do estado do solo.
Logo abaixo o esquema elétrico do projeto feito com o Fritzing.
os fios cinza e roxo são os sensores que ficam fincados no solo dentro do vazo da planta.
Código utilizado para as primeiras experiências:
int sensorUmidade = 0;
int led1 = 2 ;
int led2 = 3;
int valor = 0; // Essa variável armazenará a leitura do sensor
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
void loop() {
valor = analogRead(sensorUmidade); //Armazena os valores obtidos pelo sensor na variável "valor"
Serial.println(valor); //Escreve na serial as leituras obtidas que vão de 0 a 1023
if(valor <= 500){ // Compara as leitura, se for menor ou igual a 500, faz o que se pedo no bloco abaixo ...
Serial.println("Solo seco");
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
}
else if(valor >= 501){ // compara as leitura, se for maior ou igual a 501, faz o que se pedo no bloco abaixo...
Serial.println("Solo molhado");
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
}
else{
digitalWrite(led1, LOW); //caso contrario, mantem os leds apagados.
digitalWrite(led2, LOW);
}
delay(500);
}
O código é relativamente simples, e com ele pude observar o monitoramento da variável umidade pelo Arduino.
Utilizei como "cobaia" um pezinho de alecrim que cultivo aqui em casa e tudo funcionou como esperado.
Monitor serial do Arduino exibindo os valores das leituras.
Bom, por enquanto é isso. Agora vou estudar como ampliar a leitura das variáveis e como de fato irrigar de uma maneira eficiente e segura para que ela não morra por falta d'água e para que não aja desperdícios.
Até o próximo post.
Referencias:
http://playground.arduino.cc/Portugues/LearningAnalogInput
http://arduinobymyself.blogspot.com.br/2013/09/sistema-de-irrigacao.html
Nenhum comentário:
Postar um comentário