Maker Pro
Arduino

Controle de umidade em tempo real

October 15, 2021 by BRUNO SAMPAIO
Share
banner

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. 

Sensor_umidade.jpeg

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ódulo RTC DS3231


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. 

DS3231_RealTimeClock.jpeg

Protocolo de comunicação I2C ou Two Wire

 

Related Content

Categories

Comments


You May Also Like