Sensor de Umidade (Moisture Sensor)



Ontem recebi do SeeedStudio o Sensor de umidade (Grove – Moisture sensor), trata-se de um sensor de umidade do solo de baixo custo, desenvolvido para utilização em jardins. O sensor tem o tamanho de 2x6cm, conforme figura abaixo, tensão de funcionamento entre 3.3 e 5v e uma corrente de funcionamento entre 0 e 35mA.




O sensor já vem com conexão analógica padrão da base Shield Grove da Seeed, conforme figura abaixo:


Teste do sensor de umidade no Arduino UNO


Para efetuar os primeiros testes do sensor de umidade utilizei os seguintes componentes:




Arduino UNO




Base Shield Grove




Cabo Shield Grove






Sensor de Umidade


Para o teste conectei 3 sensores nas portas analogicas 0,1 e 2 da base shield, que estava conectada no Arduino Uno, conforme figura abaixo:






Desenvolvi um programa demonstração, onde ele lê o valor mensurado pelo sensor e envia via serial os três dados lidos, a repetição é efetuada através de um loop “infinito” com um delay de 1 segundo entre uma medição e outra, segue abaixo o código fonte:

void setup() {
  // Inicializa a porta serial com velocidade de 9600bps
   Serial.begin(9600);  
}

//Funcao que recebe por parametro o numero do Pino Analogico do tipo inteiro
// Retorna um numero inteiro referente a humidade lida, variando entre 0 e 1028
int Ler_Humidade_Solo(int Pino_Sensor)
{
  return analogRead(Pino_Sensor);  // Le o valor analogico do pino recebido por paramentro e retorna.
}

void loop() {
  // Variavel auxiliar utilizada na estrutura de repeticao FOR
  int Pino_Sensor;  

  // Variavel auxiliar utilizada para efetuar a operacao
  //com os dados antes de enviar pela porta serial
  String Saida;

  //Estrutura de repeticao utilizada para ler e enviar os dados de todos sensores
  for ( Pino_Sensor=0 ; Pino_Sensor<3 ; Pino_Sensor++)
  {
    //Le e armazena os dados dos sensores com seu determinado indice
    Saida = "Sensor " + String(Pino_Sensor) + " = " + String(Ler_Humidade_Solo(Pino_Sensor));

    //Envia via porta serial os dados armazenados na variavel Saida
    Serial.println(Saida);   
  }

  //Tempo de espera de 1 segundo entre uma leitura e outra
  delay(1000);    
}



Com o codigo devidamente upado para o Arduino Uno o mesmo vai ficar enviando os valores lidos pelo conversor analógico-digital através da porta serial, para ver este dado enviado abra a função Serial Monitor do Arduino IDE, para efeito de testes deixei um sensor em um vaso de planta com solo encharcado, outro dentro d’agua e o terceiro solto encima da mesa, conforme observado na foto abaixo:



O sensor 0 estar ligado na porta A0 e solto encima da mesa, o sensor 1 estar ligado a porta A1 e emerso em água enquanto o sensor 2 estar ligado na porta A2 e dentro de um solo encharcado, os dados obtidos mostra uma pequena diferença entre o sensor 1 e 2:


Conclusão


Apos os primeiros teste ficou claro as limitações do sensor, uma vez que não foi desenvolvido para o mercado profissional atende bem projetos com pouca demanda de precisão, onde se precisa apenas saber por exemplo se estar seco ou molhado e não um valor absoluto da umidade do solo. Quanto a facilidade de programação do Arduino deixa claro a fácil implementação de qualquer aplicação mesmo sem ter um grande conhecimento de microcontroladores, programação ou eletrônica.

- See more at: http://www.thalisantunes.com.br/2012/02/19/programando-arduino-sensor-de-humidade-moisture/#sthash.8m4wy4YE.dpuf

Fonte: http://www.thalisantunes.com.br/2012/02/19/programando-arduino-sensor-de-humidade-moisture/

Nenhum comentário:

Postar um comentário

Copyright © Mechatronics & Robotics |
Design by Mechatronicrobotics | Tecnologia do Blogger
    YouTube Google + Facebook