segunda-feira, 21 de julho de 2014

Utilizando o DHT11

Olá pessoal,

Dando à continuidade ao projeto tinha que aprender a utilizar o sensor de temperatura DHT11. No projeto o sensor  vai monitorar a temperatura em tempo real e mostrar no display LCD. 

 Optei por adquirir o DHT11:



O esquema de ligação é este:


Utilize a biblioteca dht11 disponível em: http://www.seucurso.com.br/downloads/DHT11.zip .  Este código faz a leitura de temperatura e umidade:


#include<dht11.h>
#include <Wire.h>
 

dht11 sensor; //objeto do tipo dht11
 

void setup() {
     Serial.begin(9600);

}
 

void loop() {
       Serial.print("Lendo sensor: ");
       int chk = sensor.read(2); // sensor faz a leitura no pino 2

       // Testa se a leitura foi bem sucedida 
       switch(chk) {
             case DHTLIB_OK:
                    Serial.println("OK");
                    break;
            case DHTLIB_ERROR_CHECKSUM:
                   Serial.println("Erro no checksum");
                   break;
            case DHTLIB_ERROR_TIMEOUT:
                   Serial.println("Tempo esgotado");
                   break;
            default:
                   Serial.println("Erro desconhecido");
      } 

  
     // Se a leitura foi bem sucedida, mostra a umidade e temperatura na Serial
     Serial.print("Umidade (%): ");
     Serial.println((float)sensor.humidity, 2);
     Serial.print("Temperatura (graus Celsius): ");
     Serial.println((float)sensor.temperature, 2);

 }


O Monitor Serial é bastante útil para verificar como o software está rodando e permite fazer alguns diagnósticos e mostrar valores de sensores.
No próximo post vamos integrar o display LCD com o DHT11, fazendo com que a temperatura seja visualizada no display e também na Serial.

2 comentários:

  1. Esse programa não está funcionando, ele cai na opção " case DHTLIB_ERROR_TIMEOUT: ". Seria interessante também colocar um "delay(1000)" no final do código.

    ResponderExcluir
  2. Na biblioteca do DHT11, diz que as leituras são feitas apenas em int.
    As suas leituras estão sendo feitas em float mesmo?

    ResponderExcluir