sensor de temperatura arduino

Monitorando Temperatura e Umidade com o sensor DHT11 136

Em um país tropical como o nosso o clima em boa parte do Brasil é quente e úmido. Logo creio que este projeto irá te ajudar a monitorar com apenas 1 sensor a temperatura e umidade de seu clima local com este Sensor DHT11.

Sensor DHT11 Umidade e Temperatura

Especificações:

– Modelo: DHT11 (Datasheet)
– Alimentação: 3,0 a 5,0 VDC (5,5 Vdc máximo)
– Corrente: 200uA a 500mA, em stand by de 100uA a 150 uA
– Faixa de medição de umidade: 20 a 90% UR
– Faixa de medição de temperatura: 0º a 50ºC
– Precisão de umidade de medição: ± 5,0% UR
– Precisão de medição de temperatura: ± 2.0 ºC
– Tempo de resposta: < 5s
– Dimensões: 23mm x 12mm x 5mm (incluindo terminais)

Este sensor inclui um componente medidor de umidade e um componente NTC para temperatura, ambos conectados a um controlador de 8-bits. O interessante neste componente é o protocolo usado para transferir dados entre o MCDU e DHT11, pois as leituras do sensor são enviadas usando apena um único fio de barramento.

Formato dos dados: 8bit integral RH data + 8bit decimal RH data + 8bit integral T data + 8bit decimal T data + 8bit check sum = 40 bits.

Pinagem DHT11
Pinagem DHT11

Componentes necessários:

01 – Arduino Uno
01 – Sensor DHT11
01 – Resistor 10k
01 – Protoboard 400 pontos
01 – Kit Jumpers Macho-Macho

Conectando o sensor de temperatura DHT11 ao Arduino

O DHT11 possui 4 terminais sendo que somente 3 são usados: GND, VCC e Dados. Se desejar, pode-se adicionar um resistor pull up de 10K entre o VCC e o pino de dados.

Fonte: Arduino&Cia

Conecte o pino de dados do DHT11 ao pino 2 do seu Arduino Uno como mostra o código exemplo abaixo, mas você poderá alterar por outro se desejar.

Comunicação Sensor de temperatura com Arduino

Para facilitar o seu trabalho já existe uma bilioteca que pode ser baixada neste link. Após o download descompacte o arquivo .zip e mova-o para a pasta arduinosketchfolder/libraries/ e reinicie a IDE do Arduino. Não retire o arquivo dht.cpp.  e não esqueça de renomear a pasta para “DHT”. Talvez será necessário criar uma sub-pasta da biblioteca caso não exista.

Agora acesse Examples->DHT->DHTtester em sua IDE Arduino.

#include "DHT.h"

#define DHTPIN A1 // pino que estamos conectado
#define DHTTYPE DHT11 // DHT 11

// Conecte pino 1 do sensor (esquerda) ao +5V
// Conecte pino 2 do sensor ao pino de dados definido em seu Arduino
// Conecte pino 4 do sensor ao GND
// Conecte o resistor de 10K entre pin 2 (dados) 
// e ao pino 1 (VCC) do sensor
DHT dht(DHTPIN, DHTTYPE);

void setup() 
{
  Serial.begin(9600);
  Serial.println("DHTxx test!");
  dht.begin();
}

void loop() 
{
  // A leitura da temperatura e umidade pode levar 250ms!
  // O atraso do sensor pode chegar a 2 segundos.
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  // testa se retorno é valido, caso contrário algo está errado.
  if (isnan(t) || isnan(h)) 
  {
    Serial.println("Failed to read from DHT");
  } 
  else 
  {
    Serial.print("Umidade: ");
    Serial.print(h);
    Serial.print(" %t");
    Serial.print("Temperatura: ");
    Serial.print(t);
    Serial.println(" *C");
  }
}

DHT11 Serial Monitor

Se você quiser mostrar estas informações em um display, veja como é fácil seguindo este post com sensor DHT11 e mostrando as informações em um Display LCD 16×2 com Arduino.

 Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

136 Comentários

  1. Boa noite!

    O sensor DHT11 é analógico ou digital? Pergunto pois já encontrei circuitos conectados em portas digitais e outros em portas analógicas do Arduino Uno.

    1. Ola!

      O sensor é digital.

      Os pinos analógicos do Arduino Uno tem a capacidade de operar das duas formas, tanto analógico quanto digital.

      Abraços!
      Vinícius – Equipe MakerHero

  2. boa noite!
    A biblioteca declarada não é encontrada no momento da compilação do código, mesmo eu criando subpasta. Pode haver algo relacionado com versão do Arduino?

    1. Matheus, verifique se ela está realmente na pasta certa.

      Abraços!
      Diogo – Equipe MakerHero

  3. Boa noite.
    Baixei a biblioteca, renomeei para DHT, colei na pasta libraries e copiei o código acima.
    Quando fui verificar o código, apareceu a mensagem Erro ao compilar.
    Aparece também essas mensagens:
    C:\Users\User\Desktop\Douglas\Softwares\Arduino\arduino-1.0.5-windows\arduino-1.0.5\libraries\DHT\DHT.cpp: In member function ‘bool DHT::read(bool)’:
    C:\Users\User\Desktop\Douglas\Softwares\Arduino\arduino-1.0.5-windows\arduino-1.0.5\libraries\DHT\DHT.cpp:285: error: ‘UINT32_MAX’ was not declared in this scope
    C:\Users\User\Desktop\Douglas\Softwares\Arduino\arduino-1.0.5-windows\arduino-1.0.5\libraries\DHT\DHT.cpp:290: error: ‘UINT32_MAX’ was not declared in this scope
    C:\Users\User\Desktop\Douglas\Softwares\Arduino\arduino-1.0.5-windows\arduino-1.0.5\libraries\DHT\DHT.cpp:315: error: ‘UINT32_MAX’ was not declared in this scope
    C:\Users\User\Desktop\Douglas\Softwares\Arduino\arduino-1.0.5-windows\arduino-1.0.5\libraries\DHT\DHT.cpp: In member function ‘uint32_t DHT::expectPulse(bool)’:
    C:\Users\User\Desktop\Douglas\Softwares\Arduino\arduino-1.0.5-windows\arduino-1.0.5\libraries\DHT\DHT.cpp:374: error: ‘UINT32_MAX’ was not declared in this scope

    Douglas Roberto Nervo da Cruz
  4. BOM DIA! NO EXPERIMENTO APARECE A FALHA: READ FAIL UMIDADE= ERRO DE LEITURA. O QUE PODE SER?

  5. Olá, acredito que houve um equívoco no esquemático pois falta o resistor de 10k que é comentado no código.

  6. caro amigo, estou montando um sistema de controle e umidade de 2 ambientes em uma distribuidora, que dando certo, acredito implementar em outras 13 que me procuraram com o mesmo problema. gostaria de seu numero de zap, para tratarmos melhor sobre o investimento, pois tenho um investidor que pode nos ajudar em um produto em série.

  7. Olá, boa noite. Diversos colegas aqui relataram que a leitura das variáveis só tem a parte inteira, com as casas decimais zeradas. De fato, o meu também está assim, mas não vi ninguém postando uma resposta definitiva. Vi um comentário dizendo que é mesmo uma limitação do DHT11, para casas decimais teria que usar o DHT22. É isso mesmo? Grato.

    1. Vertão,

      Tente acrescentar o pino RW no GND, e em seguida, troque o resistor de 10k por um de 3k (ou dois de 1,5k em série). Este mesmo resistor, ligue-o no GND também.

      Abraços!
      Diogo – Equipe MakerHero

  8. Olá!
    Este post é de Agosto de 2013 e tenho visto que esta biblioteca tem sido atualizada. Não tenho conhecimentos PROFUNDOS de programação (por falta de dedicação mesmo, pois por enquanto ainda permaneço não sendo específico no ato de programar / estudar a fundo sobre o assunto), mas na biblioteca atual parece que fizeram uma biblioteca específica para temperatura e outra para umidade, pois nela aparece isso: “DHT-h” e “DHT_U.h” o que sugere ser a que apresenta a letra ‘U’ referente à umidade, e a outra, obviamente referente à temperatura. Pois bem, a minha pergunta é: no Sketch acima aparece a linha
    “DHT dht(DHTPIN, DHTTYPE);”, mas agora com a atualização será que devemos acrescentar outra linha abaixo? tipo assim:

    DHT dht(DHTPIN, DHTTYPE); /* referente a temperatura */
    DHT_U dhtu(DHTPIN, DHTTYPE); /* referente a umidade */

    Obrigado.

    1. Olá, Wagner,

      Analisei aqui e, a princípio, o header DHT_U é uma parte da biblioteca que salva valores nas classes, não tendo um método para ler temperatura e umidade (esses dois métodos ficam na DHT.h).
      Então você pode continuar usando apenas um objeto dht com a biblioteca DHT.h mesmo.

      Abraços!
      Diogo – Equipe MakerHero

  9. Boa noite. Poderiam postar um tutorial para uso do sensor e envio dos dados via SNMP. Obrigado!

    1. Olá Denilly,

      Ainda não temos um tutorial sobre SNMP. Mas a dica está anotada 😉

      Abraço!
      Rosana – Equipe MakerHero

  10. Olá Adilson. Muito bom o Post.
    Você não teria um post de como coletar esses dados de temperatura via SNMP ?
    Abraço

    1. Olá Luciano,

      Ainda não temos nenhum post sobre o assunto :/
      Mas obrigada pela sugestão!

      Abraço!
      Rosana – Equipe MakerHero

  11. quando se da a obtenção dos dados do DHT11 logo apos o pulso de input, para o recebimento desses 40 bits?

    1. Olá Arthur,

      No datasheet você verificar essa informação.

      Abraço!
      Rosana – Equipe MakerHero

  12. Boa noite esse sensor posso colocar em contato com o solo?

    pois tenho q fazer um trabalho com leitura de umidade e temperatura de 6 pontos no solo

    muito obrigado

    1. Olá Heitor,

      O sensor DHT11 não é a prova d’água. No seu caso você pode usar o seguinte sensor: https://www.makerhero.com/produto/sensor-de-umidade-do-solo-grove/

      Abraços!
      Rosana – Equipe MakerHero

  13. por favor! você pode me ajudar?
    pra mim fala que deu um erro compilado para a placa, sendo que a porta e a placa estão selecionadas corretamente!
    obs: estou usando o arduino uno

    1. Olá Arthur!

      Qual erro que aparece? Você pode colocar esse problema com mais detalhes no nosso fórum? Lá o pessoal pode te ajudar melhor nisso.

      https://www.makerhero.com/forum/

      Abraços!

      André – Equipe MakerHero

  14. Oi!

    Conectei meu Dht11 só arduino e leu os dados tranquilo.

    Mas ao conectar o Dht11 ao NodeMCU a leitura não ocorreu. Apareceu, ao invés dos dados, um monte de “NON NON NON NON”.

    Fiz todo o procedimento de programação e montagem do circuito corretos.

    É não há defeito nem no Dht11 nem no NODEMCU.

    O que poderia ser?

    1. Olá Gilberto!

      Você tentou usar o sensor com outra placa? Funcionou?

      Abraços!

      André – Equipe MakerHero

  15. Olá!

    Caso eu queira fazer a medição de mais de um sensor, utilizando outros pinos como faria?

    obrigado

    1. Olá Christofer!

      Seria um pino analógico para cada DHT11

      Ali no começo do código você teria que definir vários DHT
      Ex:
      DHT1 dht(DHTPIN1, DHTTYPE);
      DHT2 dht(DHTPIN2, DHTTYPE);

      E aí por diante. Cada um em um pino diferente.

      Abraços!

      André – Equipe MakerHero

  16. Gostaria de verificar se tem como utilizar dois sensores dht11 no mesmo projeto, tipo no mesmo arruíno.
    Tentei alterar o código para fazer a leitura de dois sensores, mas foi sem sucesso.

    1. Olá Rafael!

      Ali no começo do código você teria que definir vários DHT
      Ex:
      DHT1 dht(DHTPIN1, DHTTYPE);
      DHT2 dht(DHTPIN2, DHTTYPE);

      E aí por diante. Cada um em um pino diferente.

      Abraços!

      André – Equipe MakerHero

  17. Olá tudo bem? Estou com um projeto na faculdade que usa esse dht11 com o msp430, porém, estou com dificuldade de usar esse sensor no msp430. Teria um exemplo de projeto desse sensor usando um msp430?

  18. Eu conseguiria utilizar seis sensores desses em uma única placa?! Meu objetivo e montar uma rede de sensores para uma sala cofre e visualizar pela rede.

    1. Olá Renan!

      Consegue sim, cada sensor teria que ter sua própria entrada analógica.

      Abraços!

      André – Equipe MakerHero

      1. como faz isso tentei modificar o programa para isso mas não consegui vc tem algum exemplo ????

        1. Olá Rafael!

          Ali no começo do código você teria que definir vários DHT
          Ex:
          DHT1 dht(DHTPIN1, DHTTYPE);
          DHT2 dht(DHTPIN2, DHTTYPE);

          E aí por diante. Cada um em um pino diferente.

          Abraços!

          André – Equipe MakerHero

  19. Boa tarde Sr. Adilson.
    Onde posso comprar os componentes para montar o sensor?
    Minha intenção é montar um sensor para umidade de areia e temperatura do ambiente ( Laboratório de Insumos e areias de fundição).
    Desde já agradeço.

    Att;

    1. Olá Tulio!

      Nós vendemos aqui na loja esse sensor:
      https://www.makerhero.com/produto/sensor-de-umidade-e-temperatura-dht11/

      Abraços!

      André – Equipe MakerHero

  20. Qual a relação entre os dados que o sensor entrega por milivolts?

    1. Olá Lohayne!

      Não existe uma relação direta. O valor do dado é passada de forma digital.

      Abraços

  21. O CODIGO DA ERRO Arduino: 1.0.6 (Windows NT (unknown)), Board: “Arduino Uno”
    C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=106 -IC:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\variants\standard -IC:\Users\arkan\OneDrive\Documentos\Arduino\libraries\DHT C:\Users\arkan\AppData\Local\Temp\build6752390761572213567.tmp\sketch_may23a.cpp -o C:\Users\arkan\AppData\Local\Temp\build6752390761572213567.tmp\sketch_may23a.cpp.o

    JA COLEI A BIBLIOTECA NA LIBRARI DO ARDUINO DESCOPACTADA MAIS CONTINUA O ERRO

  22. Adilson, no programa você fala em resistor de 10K mas ele não esta representado no fritzing.

    Fiquei em duvida. Ele existe ou não? O que esta incorreto? Os comentários no programa ou o desenho?

    aguardo.

    Paulo Sérgio Rangel Garcia
  23. Boa tarde !
    Da pra usar um desse interno e outro externo ?
    Quero medir a temperatura interna e externa, e se as duas derem menos de 1 ou 2 graus de diferença desliga um ar condicionado que tenho em uma sala, tambem quero medir voltagem de entrada da rua, entrada de energia em um nobreak e saida de energia no nobreak, e as baterias do nobreak, é possivel fazer tudo isso com apenas um arduino, e se possivel ainda enviar ou algum servidor ler esses dados ?

    Se sim qual arduino seria recomendado, o 2560 ? visto que ele tem muitas entradas/saidas ?

    Obrigado

  24. Boa Tarde,

    Gostaria de saber se é possível montar o mesmo esquema utilizado neste tutorial utilizando a placa Wemos D1 R2 Wifi ESP8266.

    Agradeço a atenção e parabéns pelos posts sempre muito didáticos.

  25. Bom dia, estou tentado seguir o exemplo acima, porém aparece o seguinte erro:
    libraries\DHT-sensor-library-master/DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    Teria alguma indicação para solucionar este erro?

  26. Com esse sensor DHT11 pode ser colocado no solo para saber a umidade do solo?

  27. In file included from C:Program Files (x86)ArduinolibrariesDHTDHT_U.cpp:22:0:

    C:Program Files (x86)ArduinolibrariesDHTDHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    Gostaria de saber como posso resolver este erro,
    obrigado.

    1. Va na pasta C:Usersklaha(essa parte é o nome do seu usuário)OneDriveDocumentsArduinolibraries
      renomeie a pasta DHT-sensor-library-master para DHT. Depois dentro dessa pasta apague os arquivos DHT_U.cpp e DHT_U.h.

  28. só gostaria de dizer que tenho aprendido muito com o blog, este é muito legal e os projetos que tem aqui funciona mesmo.

  29. Boa noite.
    Estou tentando montar esse projeto com o Dht11.
    Existe alguma diferença muito significativa entre os sensores, a biblioteca não responde quando tento usar o dht11.
    Alguma sugestão ou projeto semelhante a esse??

    https://www.youtube.com/watch?v=FjzbC6k5LL0

    Atenciosamente.

    Felipe Andrews

  30. Olá,

    tenho uma duvida, como que faço para essas informacoes dos sensores ser postada no twitter?

  31. Opa meu amigo, primeiramente boa tarde!

    Comecei agora neste mundo, e tenho algumas dúvidas, que podem ser muito simples.

    Fiz o que pediu, o zip foi extraído e a pasta renomeada para DHT.

    Na minha pasta de documentos, uso Mac Osx, possui a pasta Arduino, dentro dela Libraries.

    Coloquei a pasta renomeada DHT, dentro de Librarie, e reiniciei a IDE. ( /Users/PHMC/Documents/Arduino/libraries/DHT)

    Abrindo o programa, no menu exemples, não tem nada, somente na parte Sketchbook, enfim.

    Ao compilar, tenho esse erro de retorno:

    DHTtester.ino:4:17: error: DHT.h: No such file or directory
    DHTtester:24: error: ‘DHT’ does not name a type
    DHTtester.ino: In function ‘void setup()’:
    DHTtester:30: error: ‘dht’ was not declared in this scope
    DHTtester.ino: In function ‘void loop()’:
    DHTtester:39: error: ‘dht’ was not declared in this scope

    Poderia me ajudar?

  32. Bom dia, a biblioteca esta com problemas, a variável de leitura da umidade não esta funcionando e da problema ao copilar, aconteceu com mais alguém? Alguém sabe onde conseguir um biblioteca completa ou editar esta?

  33. Boa tarde, gostaria de saber se o sensor aguentaria em uma estufa, preciso fazer o monitoramento de uma estufa que possui valores como Umidade 92% ;40°C no inicio e 60°C; 40% no final, ou qual seriam os sensores recomendados.

    1. Olá, neste caso o recomendado para você é o DHT22, ele é mais preciso e tem melhor resolução.
      Breve resumo:
      DHT11 vs DHT22
      umidade: 20-80% vs 0,1-99,9%
      temperatura: 0-50ºC vs (-40) até 80ºC
      Datasheet do DHT22: https://www.makerhero.com/img/files/download/Datasheet_DHT22_AM2302.pdf
      Espero ter ajudado!

  34. Boa noite, estou com um problema o sensor na umidade só registra 1.00%, não muda, o que posso fazer para verificar o que esta acontecendo. Ja a temperatura esta correta comparando com outro termometro diferença menor de 0.5 graus.
    Obrigado

  35. amigo copiei o seu programa pra fazer uns testes mas o mesmo não compilou deu esse erro na biblioteca.
    DHT dht(DHTPIN, DHTTYPEd);

  36. Olá! Quando vou carregar o programa deste projeto para a placa aparece a seguinte mensagem:

    collect2.exe: error: ld returned 5 exit status

    exit status 1
    Erro compilando para a placa Arduino/Genuino Uno

    As bibiliotecas estão o.k.
    Já rodei a net em busca de uma solução, porém sem sucesso.
    Alguém tem alguma dica?

    Grato.

  37. Olá a todos,
    Montei conforme explicação, porém as indicações ficam em formato inteiro, sem a casa decimal. Exemplo 27.00°C , 28.00;°C. Eu gostaria de apresentar a informação com a casa decimal, Exemplo 27.30° 28.10°C.

    1. Somente com o DHT22 da para fazer isso

      1. porque?
        tem diferença entre ligar o dht11 no pino analogico e digital?
        utilizei a porta digital 2 e neste exemplo o Adilson conectou no pino A2.

        na imagem de exemplo de output do Adilson vemos variações na primeira casa decimal.

  38. quando eu ligo o sensor sozinho fica tudo beleza, agora quando eu uso ele junto com qualquer outra implementação , tipo joga resultado no lcd, ele mostra temperatura acima de 700 graus.

  39. Olá, boa tarde.

    Fiz um teste com o DHT11 e o BMP180 no mesmo circuito, e o BMP é muito mais preciso na temperatura. Até aí, tudo bem. Porém, existem algumas variáveis que tem margens de erro muito grande… Como faço para corrigir isso? Eu posso até identificar um padrão na margem de erro, mas, como faço para que a leitura seja manipulada por uma operação matemática…?
    Pode me ajudar com isso? Sou cliente de vocês e parabenizo vosso trabalho! 😀

  40. olá bom dia
    tem como ligar 2 ou 3 sensores de temp e umidade a uma mesma placa arduino e pegar as medidas de diferentes lugares?

  41. Olá! Gostaria de saber se tenho como usar o sensor dht11 de forma que quando a umidade estivesse em 60% ou mais ligasse uma lâmpada, e que essa mesma lâmpada se apagasse quando a umidade estivesse em 30% ou menos. Queria algo bem simples mesmo, os valores de 60% e 30 % nem precisam ser muito exatos, e se tiver sugestão de uso de outros sensores/materiais agradeceria muito pela ajuda.

  42. Olá! é possível usar a comunicação IC2 junto com este sensor dht11?

  43. Gostaria de saber como faço para implementar os valores obtidos, em painel digital.

  44. Pessoal espero que ainda estejam respondendo as duvidas.

    Bem vamos la:

    Tudo certinho ate aqui, estou lendo a umidade e temperatura atualizada no monitor serial; o que preciso agora é saber se posso setar uma temperatura (por exemplo) 35°C e quando ler essa temperatura de 35°C, ativar uma porta digital qualquer.
    Posso fazer isso via IDE do arduino?

    1. Boa tarde Jonas,

      Pode sim, você pode testar o valor da variável t (temperatura), e de acordo com o valor, acionar a porta que você precisa. É relativamente simples de fazer.

      Abraço!

      Adilson – Equipe MakerHero

  45. Olá agradeço ajuda
    pegando no seu projecto, como fica o código para anexar dois relé um que será para ligar e desligar a 35ºc e outro para ligar e desligar a humidade a 45%.
    Pode indicar código.

  46. Olá, gostaria de saber se é possível utilizar esse sensor no PIC 18F4550 e se necessita de alguma biblioteca adicional.
    Obrigado!

  47. Olá, alguém pode me dizer como faz para aparecer aquele ‘display’ do java onde aparece a umidade e a temperatura?

    1. Control Shift M

  48. Olá, tenho um projeto e nele tenho que controlar a temperatura e umidade, porém eu tenho dois sensores separados, um para cada função, queria saber se da para usar o mesmo código, obrigado.

    1. Não, os sinis desse sensor dão enviados juntos pela A1, se os dois são separados cada um tem um sibal, porém o código pode ser adaptado se quiser. Ok?
      Att. Marcio Reyes

  49. Ola. Gostaria de saber qual é a área de cobertura desse sensor.

  50. Boa noite,

    estou tentando ler 2 sensores onewire e 1 sensor dht, comprado no MakerHero. Mesmo com resistor de 10k está dando leituras estranhas o dht.

    Pode me ajudar ?

  51. Estou querendo utilizar o DHT11 para medição de umidade, apenas, porém o sistema estará em 70º C. Isso chega a danificar ou comprometer a precisão do aparelho, ou impede apenas a medida da temperatura?

    1. Bom dia Carlos,

      O DHT11 lê a umidade na faixa de 20 à 90%, assim deve funcionar sem problemas no seu projeto.

      Abraço.

      Adilson – Equipe MakerHero

  52. Prezado, boa tarde, gostaria de saber se existe o MIB deste sensor.

  53. Bom dia, posso ligar o sensor dht11 sem resistor, diretamente na placa sem protoboard?

    att

    1. Boa tarde Pedro,

      Pode ligar, mas eventualmente ele pode produzir algumas leituras estranhas.

      Abraço.

      Adilson – Equipe MakerHero

  54. Estou usando o mesmo codigo, mas ele diz que dht não foi declarada dentro da void loop, como proceder?

  55. Galera, meu DHT11 não ta registrando valores quebrados.. E estou utilizando float na programação, algm pode dar um help?

    1. O meu também. Mas lendo o datasheet, o sensor DHT11 tem resolução de um grau, então ele não registra diferença menor que isso. Creio que seja esse o problema. Provavelmente com o DHT22 funcionaria com precisão melhor.

  56. Olá, fiz o projeto conforme exemplo e com sensor DHT11 que adquiri recentemente porém os valores mostrados estão fora da realidade, acredito que seja problema no sensor.

    DHTxx test!
    Humidity: 1536.00 % Temperature: 640.00 *C
    Humidity: 1536.00 % Temperature: 640.00 *C
    Humidity: 1536.00 % Temperature: 640.00 *C

    Alguma ideia?

    1. Então eu fiz alguns teste com esse sensor e obtive esses mesmo valores, o meu erro estava na definição do tipo do sensor que eu estava utilizando. Para isso na parte que ele colocou no código de:
      #define DHTTYPE DHT11 // DHT 11
      Verfique se invés de ser essa linha do código é alguma destas duas, pois o seu DHT pode ser do tipo 22 ou 21:

      #define DHTTYPE DHT22 // DHT 22 (AM2302)
      #define DHTTYPE DHT21 // DHT 21 (AM2301)

      Abraços !

      1. Tive o mesmo problema e trocar a versão para a DHT 11 resolveu ! Obrigado.

  57. Ola, sou novato no assunto e gostaria de saber o que quer dizer esta msg:

    Binary sketch size: 5.854 bytes (of a 32.256 byte maximum)

    ATT.

    Hércules

    1. Boa tarde Hércules,

      Essa mensagem informa o tamanho do programa (5.854 bytes), e o total de memória disponível no Arduino que você está usando (32.256 bytes).

      Abraço.

      Adilson – Equipe MakerHero

  58. Amigos, boa noite !
    Poderia me explicar o por que do resistor.
    Fiz o teste sem o mesmo e funcionou.
    Mas quero aprender mais sobre o assunto.
    Obrigado

    1. Boa noite Pedro,

      Realmente o resistor não é obrigatório, mas em alguns circuitos mais complexos, ou dependendo da qualidade do sensor, podem ocorrer alguns problemas de leitura/precisão. Eu particularmente não tive problemas em usar esse sensor sem o resistor.

      Abraço

      Adilson – Equipe MakerHero

  59. Estou utilizando o mesmo código e o mesmo sensor, porém o meu não mostra o valor em ponto flutuante, apenas a parte inteira da temperatura e da umidade.

    Será que tem a ver com a resolução do sensor ?

    1. Boa tarde,

      Pode ser uma característica do sensor que você tem em mãos.

      Abraço.

      Adilson – Equipe MakerHero

  60. Olá
    Como eu posso usar esse sensor em um PIC?
    Usando linguagem C e PIC 18F
    Ele passa o sinal em valor digital?
    Teria que ser usado o PWM?

    1. Boa tarde Kenny,

      No momento não temos exemplo de programação desse sensor com o PIC. Com relação à porta, utilize portas analógicas.

      Adilson – Equipe MakerHero

  61. Funciona no raspberry pi ?

    1. Boa tarde Adriano,

      Funciona sim.

      Abraço.

      Adilson – Equipe MakerHero

  62. Ola Felipe Tudo Susa!!!!

    Cara fiz esse projeto só que não compila da erro!!!

    segue o erro

    essa linha fica selecionada

    DHT dht(DHTPIN, DHTTYPE);

    Arduino: 1.5.5 (Windows 7), Placa:”Arduino Uno”

    Temperatura.ino:1:17: error: DHT.h: No such file or directory
    Temperatura:11: error: ‘DHT’ does not name a type
    Temperatura.ino: In function ‘void setup()’:
    Temperatura:17: error: ‘dht’ was not declared in this scope
    Temperatura.ino: In function ‘void loop()’:
    Temperatura:23: error: ‘dht’ was not declared in this scope

    Este relatório deveria ter mais informações
    “Mostrar saída verbosa durante a compilação”
    habilitado em Arquivo > Preferências.

    Voce pode dar uma ajuda meu compilador e o 1.5.5

    tanto no mac como no pc da esse erro

    1. Isso parece ser problema da biblioteca. Pode ter esquecido de definir o sensor DHTTYPE DHT11. Só copiou o codigo e colou?

    2. Boa noite. Eu testei usando a IDE 1.0.5 e deu o mesmo problema. Eu resolvi baixando esta biblioteca direto da Adafruit :

      https://github.com/adafruit/DHT-sensor-library

      Não esqueça de renomear a pasta para “DHT”

      Depois nos informe se funcionou para você, por favor.

      Abraço.

      Adilson – Equipe MakerHero

  63. Ola Felipe Tudo Susa!!!!

    Cara fiz esse projeto só que não compila da erro!!!

    segue o erro

    essa linha fica selecionada

    DHT dht(DHTPIN, DHTTYPE);

    Arduino: 1.5.5 (Windows 7), Placa:”Arduino Uno”

    Temperatura.ino:1:17: error: DHT.h: No such file or directory
    Temperatura:11: error: ‘DHT’ does not name a type
    Temperatura.ino: In function ‘void setup()’:
    Temperatura:17: error: ‘dht’ was not declared in this scope
    Temperatura.ino: In function ‘void loop()’:
    Temperatura:23: error: ‘dht’ was not declared in this scope

    Este relatório deveria ter mais informações
    “Mostrar saída verbosa durante a compilação”
    habilitado em Arquivo > Preferências.

    Voce pode dar uma ajuda meu compilador e o 1.5.5

    tanto no mac como no pc da esse erro

    1. Isso parece ser problema da biblioteca. Pode ter esquecido de definir o sensor DHTTYPE DHT11. Só copiou o codigo e colou?

    2. Boa noite. Eu testei usando a IDE 1.0.5 e deu o mesmo problema. Eu resolvi baixando esta biblioteca direto da Adafruit :

      https://github.com/adafruit/DHT-sensor-library

      Não esqueça de renomear a pasta para “DHT”

      Depois nos informe se funcionou para você, por favor.

      Abraço.

      Adilson – Equipe MakerHero

  64. meu arduino é o mega 2560 e as ligações estao corretas e baixei e atualizei o software de novo v.1.05 arduino

  65. meu arduino é o mega 2560 e as ligações estao corretas e baixei e atualizei o software de novo v.1.05 arduino

  66. ajudar como se nao foi nem sanado meu problema amigo pois descompactei o o arquivo baixado e enviei pra biblioteca arduino e junto com o codigo que ja existe no blog do sensor de temperatura e umidade mesmo assim nao foi possivel rodar pois o mesmo agora esta dando um erro ao ser verificado se há algum erro no codigo ( o erro é “DHT” does not name a type.) Issso acontece quando mando verificar se tem algum errro é como se tivesse pedindo pra definir algum nome pra o sensor acho que é algo assim. Voce tem como me dar uma sugestao ?

    1. Olá Maxwell. Iremos ver novamente, contudo você chegou a testar o projeto neste link: http://www.arduinoecia.com.br/2013/05/sensor-de-umidade-e-temperatura-dht11.html ?
      Abraço!

  67. ajudar como se nao foi nem sanado meu problema amigo pois descompactei o o arquivo baixado e enviei pra biblioteca arduino e junto com o codigo que ja existe no blog do sensor de temperatura e umidade mesmo assim nao foi possivel rodar pois o mesmo agora esta dando um erro ao ser verificado se há algum erro no codigo ( o erro é “DHT” does not name a type.) Issso acontece quando mando verificar se tem algum errro é como se tivesse pedindo pra definir algum nome pra o sensor acho que é algo assim. Voce tem como me dar uma sugestao ?

    1. Olá Maxwell. Iremos ver novamente, contudo você chegou a testar o projeto neste link: http://www.arduinoecia.com.br/2013/05/sensor-de-umidade-e-temperatura-dht11.html ?
      Abraço!

  68. Outra coisa é que para mim a umidade relativa que o leitor mostra possui um erro um tanto grande em relação ao psicrômetro , quando vendem os sensores todos dizem q tem uma precisao boa, mesmo tendo +/-5% de erro. Quando está cerca d 60 a UR do ar eu consigo medir cerca d 40

  69. Outra coisa é que para mim a umidade relativa que o leitor mostra possui um erro um tanto grande em relação ao psicrômetro , quando vendem os sensores todos dizem q tem uma precisao boa, mesmo tendo +/-5% de erro. Quando está cerca d 60 a UR do ar eu consigo medir cerca d 40

  70. existem alguns dispositivos que estao deixando a desejar pois as ligações estao certas mas quando seguimos tudo que é passado em relação a biblioteca passo a passo mesmo assim nao funciona ou seja parece que compro algo mas nao tenho como testar se realmente esta bom pois os outros produtos que comprei funcionou normal e segui tudo certo

    1. Olá Maxwell. Este post foi testado na época e o sensor usado é o mesmo. Como a Arduino atuliza sua IDE e algumas bibliotecas podem ser modificadas com o tempo, este tipo de problema pode acontecer mas em si nao compromete a funcionalidade do componente.
      Caso tenha outro produto que montou e nao funcionou por favor entre em contato, ficaremos felizes em ajudar.
      Grato!

  71. existem alguns dispositivos que estao deixando a desejar pois as ligações estao certas mas quando seguimos tudo que é passado em relação a biblioteca passo a passo mesmo assim nao funciona ou seja parece que compro algo mas nao tenho como testar se realmente esta bom pois os outros produtos que comprei funcionou normal e segui tudo certo

    1. Olá Maxwell. Este post foi testado na época e o sensor usado é o mesmo. Como a Arduino atuliza sua IDE e algumas bibliotecas podem ser modificadas com o tempo, este tipo de problema pode acontecer mas em si nao compromete a funcionalidade do componente.
      Caso tenha outro produto que montou e nao funcionou por favor entre em contato, ficaremos felizes em ajudar.
      Grato!

  72. Eu tinha feito por este site, agora quando vi no seu mostrando valores em decimais resolvi tentar… mas achei estranho nao conseguir casas decimais, utilizei outro sensor com o resistor e aconteceu a mesma coisa. Por acaso voce fez alguma alteraçao na biblioteca?

  73. Eu tinha feito por este site, agora quando vi no seu mostrando valores em decimais resolvi tentar… mas achei estranho nao conseguir casas decimais, utilizei outro sensor com o resistor e aconteceu a mesma coisa. Por acaso voce fez alguma alteraçao na biblioteca?

  74. Na figura mostra os valores com decimais, todos q eu fiz aqui ( com diversos programas) sempre aparece .00. Tem algo diferente para aparecer os numeros decimais?

    1. Olá Renan. Você testou o código acima e não apareceu decimais diferentes de .00?
      Abraço!

      1. Isso. Não sei se talvez a biblioteca que eu tenha esteja errada e não está pegando esta… porque o nome é o mesmo, mas consegui inserir esta biblioteca na pasta do arduino, a outra tinha inserido pelo proprio programa e nao acho onde excluir agora. Obrigado pela atençao 😀

      2. Consegui apagar as outras bibliotecas e coloquei somente esta mas nao funcionou, meu sensor veio com o módulo e portanto ja vem com o resistor… será que pode ser esse o problema?

        1. Confira este link: http://www.arduinoecia.com.br/2013/05/sensor-de-umidade-e-temperatura-dht11.html
          É um blog parceiro nosso e talvez possa ajudar, contudo nas imagens aparece apenas casas decimais em ,00. Logo creio que deva ser algo da biblioteca.
          Abraço!

      3. Gostaria de saber se esse sensor funciona para medir umidade e temperatura de grãos, ou se souber outro circuito. Por favor entre em contato comigo.
        Whatsapp 66 99719-2939

        1. Guto,

          Acredito que se você deixar ele imerso nos grãos ele deva medir a temperatura e a umidade naquele ambiente.

          Abraços!
          Diogo – Equipe MakerHero

  75. Eu gostaria de fazer esse projetinho só que quero mandar os dados via WiFi você pode me ajudar, o que vou precisar para mandar os dados via WiFi na rede e no caso gostaria de fazer a medição de duas salas?

    Se possível me de uma ajuda.

    1. Boa noite,

      Recomendamos a leitura do post utilizando módulo RF para transmissão e recepção de dados :

      https://www.makerhero.com/blog/modulo-rf-transmissor-receptor-433mhz-am/

      Grato.

      Adilson – Equipe MakerHero

  76. Minhas ligações estão corretas, mas continua mostrando 0 nas leituras… o que pode ser ?

    1. Olá. O problema ainda continua? Recomendo testar com outro sensor se tiver para verificar se o problema é no hardware.
      Abraço!

    2. troque o vcc pela leitura de dados que resolve, o meu sensor veio invertido fis isso e resolveu

Trackbacks and Pingbacks

  1. […] Você pode utilizar o que aprendeu nesse post para para substituir um display no seu projeto com Arduino. Um bom exemplo de projeto onde essa técnica pode ser aplicada é “Controlando temperatura e pressão com o BMP180” e “Monitorando Temperatura e Umidade com o sensor DHT11”. […]