Sistema de monitoramento de plantas para irrigação com medição em tempo real e transmissão sem fio dos dados.
Sistema de monitoramento da umidade de plantas interiores com o uso da plataforma Arduino com transmissão dos dados sem fio.
Etapa 1
Sistema de aquisição dos dados de umidade
Para fazer o monitoramento da umidade da(s) planta(s), foram usados sensores de umidade (Hidrômetros) YL-100 com o uso de um módulo amplificador de sinais analógicos / digitais LM393. O sistema foi controlado usando um Arduino Uno.
Materiais
- Hidrômetro YL-100
- Módulo amplificador LM393
- Arduino Uno
Métodos
A fim de fazer o monitoramento da umidade de vasos de flores domésticos, fez-se necessário usar sensores de umidade compatíveis com Arduino. O melhor custo benefício de sensores para essa finalidade se deu com o sensor YL-68 ou YL-100 como mostrado na imagem a baixo.
Esse sensor possui duas pás que funcionam como eletrodos e ficam cravadas na terra, através da diferença de potencial entre os eletrodos, havendo uma condução elétrica entre as pás se dá a medição da umidade, uma vez que quanto mais umidade há na terra, maior é a condução elétrica entre os eletrodos. Se a terra estiver seca, essa condução é praticamente zero e com a terra completamente molhada, essa condução é máxima.
Através de um amplificador de sinais analógicos e digitais, o módulo YL-38 recebe os valores do sensor de umidade e os entrega ao Arduino Uno para o monitoramento.
O código responsável por essa etapa do projeto encontra-se abaixo:
// Definição dos pinos analógicos para os sensores de umidade
#define S_Umidade1 A1
#define S_Umidade2 A2
// Definição do intervalo de tempo para as medições ( em Segundos )
#define TEMPO 1
void setup(){
// Definição dos pinos sensores como Input de sinais
pinMode(S_Umidade1, INPUT);
pinMode(S_Umidade2, INPUT);
// Inicio da Serial para Printar os resultados
Serial.begin(9600);
}
void loop(){
// Leitura dos dados analógicos dos sensores
int umidade1 = analogRead( S_Umidade1 );
int umidade2 = analogRead( S_Umidade2 );
// Conversão dos dados em porcentagem de umidade com o map
int umidade1_conv = map( umidade1, 0, 1023, 0, 100);
int umidade2_conv = map( umidade2, 0, 1023, 0, 100);
// Print dos valores de leitura dos sensores
Serial.print("Planta 1 esta com ");
Serial.print(umidade1);
Serial.println("% de umidade.");
Serial.print("Planta 2 esta com ");
Serial.print(umidade2);
Serial.println("% de umidade.");
Serial.println();
// Delay para a nova medição
delay( TEMPO*1000 );
}
Etapa 2
Tempo Real com DS3231
Para fazer a aquisição dos dados em tempo real e/ou ao menos saber em que momento cada medição de umidade das plantas foi realizado, foi utilizado o uso de um módulo sensor de tempo real DS3231.
Materiais
Métodos
O DS3231 é um RealTimerClock (RTC) de medição de tempo muito preciso. Através dele, podemos monitorar as horas do dia com exatidão sem a necessidade de calibração constante, uma vez que sua medida de tempo é muito precisa, ao contrário do que o Arduino Uno poderia fazer.
O propósito do uso do RTC é o de se salvar os dados de dia e hora em que cada monitoramento aconteceu, a fim de posteriormente, podermos pegar esses dados para um supervisório e acompanhar em tempo real e com um histórico de dados, o que aconteceu com as plantas em cada momento.
Protocolo de comunicação I2C ou Two Wire