PIC: DHT11 - Sensor de Umidade e Temperatura
DHT11 é um sensor de temperatura e umidade.
Ele utiliza um sensor capacitivo de umidade e um termistor para medir o ar circundante e, produz um sinal digital no pino de dados (Data).
É bastante simples de usar, mas requer cuidado na hora de ler os dados. A desvantagem deste sensor é que você só pode obter novos dados a cada 2 segundos. ( esse é o tempo ideal ).
A temperatura é dada em (°C) e a umidade relativa em %.
Sinal de saída de dados do DHT11
CÓDIGO
Microcontrolandos/DHT11
Teste feito com PIC18F4550 e Display Nokia 3310
Caso não funcione, retire o resistor de pull-up!!!
Ótimo post, sempre na frente com as novidades. Parabéns!!!
ResponderExcluiro codigo fonte foi escrito na plataforma ccs ou c18 ?
ResponderExcluirMikroC PRO PIC
Excluirsabe se existe alguma ferramenta que converta de um compilador para outro ?
ResponderExcluirvocê conectou o pino RB2 do display também no pino do DHT11. Está certo?
ResponderExcluirsbit LCD_D6 at RB2_bit;
sbit DHT11_Data at RB2_Bit;
Obrigado por avisar!!
ExcluirDigitei errado. o certo é conectar na PORTD.
Desculpa, a configuração está certa, eu que não prestei atenção.
ResponderExcluirFiz um vídeo, mas, o valores não estão alterando. Tem algo de errado.
http://www.youtube.com/watch?v=fod2GoBvsZo&feature=youtu.be
Eu ainda nao cheguei a testar o codigo, fiquei de compra o componente no MercaoLivre, mas acabei esquecendo, ai postei o codigo mesmo assim...e o DHT11 é chatinho de programar, por nao seguir um padrao do sinal da saida, o tempo pode variar de um dispositivo pra outro.
ExcluirOlá, seu blog está de parabéns, sempre gosto de ficar brincando com seus projetos.... e aqui esse não deu certo (os valores permanecem estáticos), eu gostaria muito de ter um projetinho desse pendurado aqui na planta da sala, você tem previsão de quando irá arrumar o código? Ou o seu código já está testado e fui eu que fez algo de errado?
ResponderExcluirRefiz o código. Não testei na prática. Fiz o teste com o Proteus. Mas funcionou.
Excluireu fiz um codigo pra esse sensor para o microcontrolador 18f4550, usando c18 funcionou perfeitamente
ExcluirOlá! Você adaptou do código acima ou utilizou outro? Queria saber se meu código funciona na pratica.
Excluireu não usei seu codigo por que nao sei utilizar o mikroC pro , utilizei o datasheet do sensor mesmo.
Excluiro que da + trabalho são os tempos, tentei modificar o tempo utilizando a frequência de oscilação e não dava certo , então utilizei osciloscópio mensurei o tempo do start sinal ( o degrau de 1 pra 0 ) vi que estava em 43ms fiz regra de 3 para todos os outros tempos ! e bingo funcionou perfeitamente
Cara, você poderia me passar esses tempos que você encontrou, já tentei aqui pelo osciloscópio e não estou conseguindo fazer ele encontrar os dados do meu 18f4550
ExcluirTiago henrique como voce modelou o sensor dht11 para o proteus ?
ResponderExcluirTa na biblioteca do Proteus 8.
Excluirvlw ! ... eu jurava que meu proteus era o 8.1.. na verdade era o 7.7 , vo instalar aqui !
ExcluirTiago Henrique... tem como postar aquela pasta com os arquivos para simulação... eu compilei aqui no mikroc pro o código e juntei os componentes no proteus só que hora que simulo o display fica em branco.. não acontece nada... ficaria muito agradecido, os componentes são baratos compensa executar esse projeto que me parece muito legal. Obrigado pelo código.
ResponderExcluirOpa, não precisou não... achei meu erro aqui... era um errinho trivial, simulou aqui também.. obrigado.
ExcluirAmigo qual foi esse errinho trivial?
Excluirola Tiago Henrique, me supreende muito a forma de como desenvolves os teus projectos. gostaria tanto de aprender com voce a comunicação RF no compilador MICRO PRO PIC. sem usar biblhoteca.
ResponderExcluirola você dispõe desse código em assemble?????
ResponderExcluiro sensor nao esta pegando no proteus 7 ela da esta mensagem cannot find model file "DHTXX.MDF"
ResponderExcluiro que eu faço?????????/
Acho que so funciona mesmo no proteus 8...
ExcluirEstou utilizando a versão 8 mas tenho o mesmo problema! Alguém sabe a solução?
ExcluirGalera alguém aí achou os tempos para um clock de 48Mhz???
ResponderExcluirSei que modificando esse código seria possível fazer com o DHT22, adicionei os bytes decimais da temperatura e umidade, somei os dois e dividi por 10, e mesmo assim não funcionou... você saberia qual parte precisa ser modificada?
ResponderExcluirBoa noite tiago.
ResponderExcluirestou tentando fazer esse programa fucional mais esta dando um erro no codigo da biblioteca
nesta linha do progama
while( !DHT11_Data ).
mais como tenho visto ninguem falo nada, sera que estou fazendo de errado,
para da erro no codigo da biblioteca
inclui o codigo na programa como
#include "DHT11.C" que é a biblioteca
e depois copiei o exemplo que voce tem disponivel.
abraço
Att Rafael
Cara, esse código não está funcionando, testei para diferentes PIC's, os números ficam congelados, não variam.
ResponderExcluirtente retirar o resistor de pull-up ou "O DHT11 made in China não envia checksum. Tentem compilar o código sem a rotina." ( Ezequiel ).
ExcluirPessoal,
ResponderExcluirResolvi o problema do PROTEUS fechando sozinho!!
Apenas copiem a pasta MODELS do crack para os dois diretórios seguintes:
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional
C:\ProgramData\Labcenter Electronics\Proteus 8 Professional
O primeiro diretório é padrão e todos já sabem!!
O segundo é o que eu descobri!! =)
Comentem!!
Como faço para controlar uma resistência de aquecimento em função da temperatura , e uma ventoinha em função da umidade. Não estou entendendo como manipular o valor da temperatura e da umidade. Seria preciso "quebrar" a sequencia dos bits enviados pelo sensor?? tem como exemplificar?
ResponderExcluirParabéns Thiago,obrigado pelo incentivo,gostaria de saber se é possível o uso no pic16f628a,pois nao tem conversor AD e se é possível usar o sensor: DS18B20 pois seria
ResponderExcluiruma aplicação muito bacana com este microcontrolador,agradeço por compartilhar,
Parabéns pelo blog como sempre muito completo.
rapaz eu quero muito fazer esse projeto, se possivel compacte os arquivos dele. e deie disponivel, fico muito grato se vc fizer isso.
ResponderExcluirBom noite pessoal, tudo bem?
ResponderExcluirAlguém possui a lista de componentes necessários para desenvolver esse projeto? muito obrigado
Opa tudo bem e que eu estou tentando colocar o dht11 no mikroc e não consigo se tem alguma explicação de como fazer isso
ResponderExcluirBoa tarde! Estou tentando desenvolver um mini projeto escolar que use o sensor de temperatura DHT11. Estou pesquisando e vendo como fazer um sensor que messa a temperatura de uma pessoa pelo celular.
ResponderExcluirGostaria de uma ajuda, se alguem souber os componentes que terei de usar, pois nõ estou conseguindo sabe por onde começar.
Cara, eu não utilizaria o DHT11 se fosse vc... o encapsulamento dele não é apropriado para medir temperatura do corpo humano... Ele se aplica mais para medição de temperatura ambiente, pois até umidade ele mede. Eu sugiro utilizar o LM35, cujo encapsulamento se adaptaria melhor para medição no corpo. Em relação ao envio da temperatura para o celular, dê uma olhada na shield Bluetooth (HC-06). Para desenvolvimento do aplicativo, sugiro o APP Inventor 2. É um site para desenvolvimento de aplicações voltado para iniciantes, é super fácil e tem tudo no youtube e google.
ExcluirAlguém poderia me ajudar pretendo usar o DHT11, mas não sei por onde começar, digo como colocar esses tempos. Eu programo em mikroC
ResponderExcluir