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...
Comentar
Boa tarde ,sou novo aki ,eu queria saber como eu posso acresentar um chave de liga e desliga no sistema e como eu posso determinar um padrão (temperatura e umidade ) para que seja ativado automaticamente (led) quando atingido o padão ??? presiço muito de uma ajuda para esse sistema ...preciso saber como acresentar o led no codigo... Obg. A guardando uma solução ...
Resolvi!
Utilizei um resistor de 10 kOhm.
Bom dia pessoal,
eu estou usando um DHT11, segui os passos, mas aparece valores malucos.
DHT TEST PROGRAM
LIBRARY VERSION: 0.1.09
Type, status, Humidity (%), Temperature (C)
DHT22, OK, 819.2, 691.2
Alguém tem ideia do que pode estar acontecendo?
Abraços.
O programa do arduino esta dando erro e não consigo rodar
sketch_dec13b:21: error: 'DHTLIB_OK' was not declared in this scope
sketch_dec13b:24: error: 'DHTLIB_ERROR_CHECKSUM' was not declared in this scope
sketch_dec13b:27: error: 'DHTLIB_ERROR_TIMEOUT' was not declared in this scope
Alguém pode me ajudar respondendo uma dúvida que tenho, preciso saber se é possível usar o data acquistion do LabView utilizando este sensor e o arduino. Obrigado
Fredman, no laddegaragem tem um projeto de nível intermediário em que um camarada acionou o relé shield usando o if, eu acho que é exatamente o que voce quer.
Alguém poderia, me dizer em que ponto do código apresentado no tutorial eu poderia fazer um if para acionar um led caso a umidade ultrapasse determinado valor?
Não consegui importar a biblioteca do DHT03 para o arduino, conforme o procedimento do tutorial. Alguem pode me ajudar.
Alguém poderia, me dizer em que ponto do código apresentado no tutorial eu poderia fazer um if para acionar um led caso a umidade ultrapasse determinado valor?
Fredman,
É possível sim mas você teria que colocar um RTC. Com o RTC você poderia por exemplo fazer uma programação que te retornasse a máxima e mínima do dia (toda vez que chegasse "X" hora ele gera este relátório).
Jovandir,
Você parece estar com dúvidas com relação ao shield Ethernet O que fizemos neste tutorial encaminha dos dados via serial. Veja os tutoriais com o shield Ethernet para aprender a como mandar os dados por ele.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
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)