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