Tutorial: como utilizar o Sensor de temperatura e umidade RHT03 com Arduino

Adquira estes componentes na Loja do Lab de Garagem

O sensor de temperatura e umidade RHT03 é um sensor de baixo custo e fácil utilização. A leitura é feita apenas por uma única saída do sensor. O sensor já está calibrado e não precisa de componentes extras para funcionamento. Exige apenas um Resistor de Pull-UP no pino de leitura.

Para utilizá-lo com Arduino é necessário a biblioteca dht.cpp e dht.h que pode ser adquirida aqui. Na página não tem nenhum link e sim o próprio código postado na página. Ainda na página da biblioteca, está escrito o dht.cpp e logo abaixo está o código da biblioteca. Copie e cole em um editor de texto, salve-o como dht.cpp e coloque em uma pasta própria (você pode chamá-la de DHT). Idem para o dht.h. Agora copie a pasta que você colocou os arquivos dht.cpp e dht.h e cole dentro da pasta "libraries" da IDE do Arduino.

Vendo o datasheet do RHT03, podemos ver a pinagem e assim fazer as ligações com Arduino:

Agora que sabemos sua pinagem, vamos para a ligação do sensor RHT03 com Arduino:

O sensor RHT03, funciona a partir de 3.3V a 6V, neste tutorial fizemos com a saída de 5V do Arduino, mas nada impede que você utilize o 3.3V do Arduino. O pino 2 do sensor vai para o pino digital 5 do Arduino com um resistor de 1Kohm de Pull-Up como é visto no datasheet pela imagem abaixo:

E o pino 3 fica em aberto (Not Connected). Agora que você já colocou a biblioteca na pasta "libraries" localizada na pasta da IDE do Arduino e já fez as ligações demonstradas, vamos para a programação exemplo modificada do site:

#include <dht.h>

dht DHT;


#define DHT22_PIN 5

void setup()
{
Serial.begin(115200);
Serial.println("DHT TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT_LIB_VERSION);
Serial.println();
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}

void loop()
{
// READ DATA
Serial.print("DHT22, \t");
int chk = DHT.read22(DHT22_PIN);
switch (chk)
{
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}
// DISPLAY DATA
Serial.print(DHT.humidity, 1);
Serial.print(",\t");
Serial.println(DHT.temperature, 1);

delay(1000);

}

Na programação exemplo, se as ligações estiverem certas, o sensor vai iniciar e mostrará a umidade e temperatura como mostrado na figura abaixo:

No Serial Monitor a umidade relativa do ar e a temperatura em graus Celsius!

E pronto! Simples e fácil! Esperamos que tenham gostado!! Se tiverem dúvidas, postem aqui mesmo no blog! Temos um post para sugestões de tutoriais clicando aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas,cliquem aqui e aqui, respectivamente!

Referências:

http://arduino.cc/playground/Main/DHTLib

http://www.labdegaragem.org/loja/index.php/34-sensores/sensor-de-te...

http://www.sparkfun.com/products/10167

Exibições: 31867

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Fredman Carlos de Moraes em 10 setembro 2012 às 1:53

Montei esse projeto e funcionou corretamente.Belo tutorial LDG.

Queria saber se tem como eu ter um relatorio com horarios e tambem como poderia acionar uma saida qdo eu setasse um valor para temperatura e uma saida para a umidade tambem.

Grato e abraços.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço