Mostrando a temperatura no LCD 16×2 com o sensor DHT11 177

No nosso primeiro artigo sobre o sensor de temperatura e umidade DHT11 aqui no blog MakerHero, mostramos como acompanhar as informações de temperatura e umidade no monitor serial, método ideal para quem ainda não tem um display LCD. Para quem já tem um LCD 16×2 e quer melhorar o projeto, vamos mostrar como ligar o sensor DHT11 juntamente com o display e mostrar nele as informações que precisamos.

 

DHT11

 

Utilizando o sensor DHT11

Para este circuito, você pode utilizar o módulo DHT11 ou apenas o sensor DHT11. A ligação dos dois é idêntica e utiliza apenas um pino para ligação ao Arduino.

Sensor DHT11

Uma característica do sensor DHT11 é que ele não fornece informações “quebradas” de temperatura. Isso significa que o sensor vai mostrar as informações de, por exemplo, 18, 20, 25 graus, mas não as casas decimais de 18,2 ou 25,6 graus.

O display LCD 16×2 que vamos utilizar, baseado no controlador HD44780, é um display com backlight azul e caracteres na cor branca, com os pinos de conexão na parte superior numerados de 1 a 16. A conexão básica ao Arduino usa 6 pinos :

  • Pino 4 (RS) ligado ao pino 12 do Arduino
  • Pino 6 (E) ligado ao pino 11 do Arduino
  • Pino 11 (D4) ligado ao pino 5 do Arduino
  • Pino 12 (D5) ligado ao pino 4 do Arduino
  • Pino 13 (D6) ligado ao pino 3 do Arduino
  • Pino 14 (D7) ligado ao pino 2 do Arduino

O pino 3 do display será ligado ao pino central de um potenciômetro de 10K, que tem a função de regular o contraste. As demais ligações são feitas ao GND (pinos 1, 5 e 16) e aos 5v do Arduino (pinos 2 e 15) , e qualquer inversão pode impedir a exibição dos caracteres :

Circuito DHT11 e LCD HD44780

No programa, vamos utilizar a biblioteca LiquidCrystal para controle do LCD (esta biblioteca já vêm instalada na IDE), e também a biblioteca DHT, que pode ser baixada neste link.

Para mostrar o símbolo do grau (º), podemos utilizar um dos caracteres especiais disponíveis nesse display, usando o comando

lcd.print((char)223);

Ou criar um caractere customizado, com a forma mais arredondada. Para isso, criamos um array e desenhamos nosso próprio símbolo, e para utilizá-lo no programa, usamos o comando

lcd.createChar(valor, data);

onde valor se refere ao nome que daremos ao caractere especial, podendo ser um número de 0 a 7, e data se refere ao array criado para formar o símbolo do grau.

O comando delay no final do programa não deve ter um valor abaixo de 2000 (2 segundos), que é o valor mínimo para que o sensor possa fornecer os dados corretamente.

//Programa : Temperatura e umidade com o DHT11 e LCD 16x2
//Autor : MakerHero

#include <LiquidCrystal.h> //Carrega a biblioteca LCD
#include <DHT.h> //Carrega a biblioteca DHT

//Define a ligação ao pino de dados do sensor
#define DHTPIN A5

//Define o tipo de sensor DHT utilizado
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

//Define os pinos que serão ligados ao LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//Array simbolo grau
byte grau[8] ={ B00001100,
                B00010010,
                B00010010,
                B00001100,
                B00000000,
                B00000000,
                B00000000,
                B00000000,};

void setup()
{
Serial.begin(9600); //Inicializa a serial
lcd.begin(16,2); //Inicializa LCD
lcd.clear(); //Limpa o LCD
//Cria o caractere customizado com o simbolo do grau
lcd.createChar(0, grau);
dht.begin();
}

void loop()
{
float h = dht.readHumidity(); //Le o valor da umidade
float t = dht.readTemperature(); //Le o valor da temperatura
lcd.setCursor(0,0);
lcd.print("Temp : ");
lcd.print(" ");
lcd.setCursor(7,0);
lcd.print(t,1);
lcd.setCursor(12,0);

//Mostra o simbolo do grau formado pelo array
lcd.write((byte)0);

//Mostra o simbolo do grau quadrado
//lcd.print((char)223);

lcd.setCursor(0,1);
lcd.print("Umid : ");
lcd.print(" ");
lcd.setCursor(7,1);
lcd.print(h,1);
lcd.setCursor(12,1);
lcd.print("%");

//Intervalo recomendado para leitura do sensor
delay(2000);
}

 Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

177 Comentários

  1. Eu compilei na ide do arduino e deu o erro
    “Compilando para a placa esp32 dev module” e ja baixei a biblioteca dht11 alguém ajuda?

    1. Olá Thierry,

      Qual versão do gerenciador de placas você está utilizando?
      Aqui testei com a 1.0.6 do esp32 e a versão 1.4.2 by Adafruit da biblioteca do DHT e compilou sem erros.

      Abraços!
      Vinícius – Equipe MakerHero

  2. Eu montei igual acima mas no meu display ele aparece Temp: nan º e Umid: nan . %

    1. Olá Rodrigo,

      nan significa Not A Number, ou seja, há algum problema na leitura do sensor e ele não está reconhecendo como um número.

      A biblioteca DHT está atualizada?

      Verifique as conexões.

      Nas fotos do circuito real está sendo utilizado o módulo, que tem apenas 3 pinos. Certifique-se de que a conexão está de acordo com o diagrama e verifique se todas estão bem conectadas, por gentileza.

      Abraço!
      Vinícius – Equipe MakerHero

  3. boa, noite tudo bem? o circuito e a programação funcionaram, porem, imprimiu valores errados do tipo, 150% de umidade e 14ºC enquanto estava 26 a 30 na verdade. Problemas com o sensor? Obrigado.

    1. Olá Rafael,

      Primeiro recomendaria verificar se todas as conexões estão ok.

      Esses valores são constantemente errados? Ou acontecem esporadicamente?

      Abraços!
      Vinícius – Equipe MakerHero

      1. bom dia. obrigado pela atenção e sim, os valores não se corrigem, ligaçoes estão ok.

        1. Olá Rafael,

          Então acredito que seja problema no sensor sim.

          Abraço!

          Vinícius – Equipe MakerHero

  4. Good , 1 resistor en pin 2 o 15?

    1. Olá Joe,

      O display é feito para trabalhar com 5 V, não é necessário resistor.

      Abraços!
      Vinícius – Equipe MakerHero

  5. Olá, não consigo rodar no Arduino IDE, dá o seguinte erro:

    Foram encontradas múltiplas bibliotecas para “DHT.h”
    Usado: C:\Users\user\Documents\Arduino\libraries\DHT-sensor-library-master
    Não usado: C:\Users\user\Documents\Arduino\libraries\DHT_sensor_library
    In file included from C:\Users\user\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:15:0:

    C:\Users\user\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:36:10: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^~~~~~~~~~~~~~~~~~~

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino Uno

    1. Allan,

      Verifique se as bibliotecas estão instaladas corretamente.

      Abraços!
      Diogo – Equipe MakerHerow

  6. Boa tarde eu comprei um Sensor De Temperatura Mlx90614 e quero mostrar a temperatura no lcd 16×2 uso o mesmo processo?……..Que se temperatura estiver abaixo de 38 graus roda o servo motor….se estiver 38 ou acima acende um led vermelho.

    1. Arthur,

      O processo de disponibilização dos valores no display é o mesmo. O que difere é a utilização de outra biblioteca e o processo de aquisição dos dados.

      Abraços!
      Diogo – Equipe MakerHero

  7. valeu amigo vc é um amigo

  8. REPORT de possível erro!

    No void setup faltou ” dht.begin() ”

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

    GUSTAVO HENRIQUE SILVA ZANETTI
    1. Olá, Gustavo

      Resolvido! Obrigado por reportar 🙂

      Abraços!
      Diogo – Equipe MakerHero

  9. Boa tarde,
    Estou programando com o sensor DHT22, porém aparece essa mansagem:
    Temperatura: nanc Humidade: nan%
    Temperatura: nanc Humidade: nan%
    Temperatura: nanc Humidade: nan%

    O que pode ser?

    Giane Fernanda Schneider Gross
    1. Giane,

      Vale a pena rever as conexões, podem não estar bem certinhas.

      Abraços!
      Diogo – Equipe MakerHero

    2. No código do post está faltando uma pequena função dentro do void setup()

      Adiciona dht.begin() para ele iniciar o leitor DHT, isto deve normalizar a leitura do sensor.

      1. Paulo,

        Bem visto, já executei a correção!

        Abraços!
        Diogo – Equipe MakerHero

  10. Saudações Adilson. Gostaria de uma ajuda sua, por gentileza: gostaria de unir esse código de detecção de gás com display LCD ao seu código para, digamos, enquanto não houver detecção de gás, mostrar a Temperatura e Umidade no LCD 16×2.
    Se for possível, lhe agradeço muito!

    #include
    LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

    #define buzzerPin 10

    #define gasPin A0

    void setup() {
    Serial.begin(9600);
    lcd.begin(16, 2);

    pinMode(buzzerPin,OUTPUT);

    lcd.setCursor(0, 0);
    lcd.print(“Calibragem”);
    for(int i = 0; i 350)
    {
    digitalWrite(buzzerPin,HIGH);
    lcd.setCursor(0, 0);
    lcd.print(“Valor : “);
    lcd.print(gasSensor);
    Serial.print(gasSensor);
    Serial.print(“\t”);
    lcd.setCursor(0, 1);
    Serial.println(“Gas Detectado”);
    lcd.print(“Gas Detectado”);
    delay(300);
    lcd.clear();
    }
    else if (gasSensor < 350)
    {
    digitalWrite(buzzerPin,LOW);
    lcd.setCursor(0, 0);
    lcd.print("Valor : ");
    lcd.print(gasSensor);
    Serial.print(gasSensor);
    Serial.print("\t");
    lcd.setCursor(0, 1);
    Serial.println("Sem Gas");
    lcd.print("Sem Gas");
    delay(300);
    }

    }

  11. Neste código esta faltando o

    dht.begin()

  12. Boa tarde vocês são nota dez, e me sinto aluno iniciante obrigado pelas dicas inperdivel. Paiva

    1. Muito obrigado, Paiva!!

      Ficamos muito felizes em ajudar 😉

      Abraços, e cuide-se com o COVID-19!
      Diogo – Equipe MakerHero

  13. gostei muito, que não apareceu os caracteres, o d isplay eu aumento e diminou mais não vejo os numeros.

    1. Paiva,

      Verifique as conexões e se as soldas estão ok.

      Abraços, e cuide-se com o COVID-19!
      Diogo – Equipe MakerHero

  14. Ótimo e muito obrigado por sua ajuda.

    1. Paiva,

      Nós que agradecemos pela sua visita!!

      Abraços!
      Diogo – Equipe MakerHero

      1. Queria te uma condição financeira que daria minha ajuda. Paiva

  15. Muito bom, gostei bastante. o senhor é muito bom, fico feliz em encontrar alguém que entenda bem esse assunto.

    1. Jovánio,

      Que bom que curtiu! Ficamos extremamente felizes 🙂

      Abraços!
      Diogo – Equipe MakerHero

  16. Eu copie o programa e baixei a biblioteca mas na hora de fazer a compilação não compila e aparece erro compilando para a placa o que pode ter acontecido?

  17. boa tarde amigo fiz tudo como vcs descreveram mais da erro sempre

    Arduino: 1.8.10 (Windows 10), Placa:”Arduino/Genuino Uno”

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal 0xc0000005 code=0x0 addr=0x0 pc=0x7855fb]

    goroutine 1 [running]:
    github.com/arduino/arduino-cli/legacy/builder.ResolveLibrary(0x130d85a0, 0x1316206f, 0x5, 0x1316206f)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/resolve_library.go:64 +0x14b
    github.com/arduino/arduino-cli/legacy/builder.findIncludesUntilDone(0x130d85a0, 0x130c22e0, 0x88ed00, 0x131c8780, 0x133738f0, 0x13341b00, 0x0)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_find_includes.go:358 +0x3b6
    github.com/arduino/arduino-cli/legacy/builder.(*ContainerFindIncludes).Run(0xdebc68, 0x130d85a0, 0xdebc68, 0x0)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_find_includes.go:152 +0x3e5
    github.com/arduino/arduino-cli/legacy/builder.runCommands(0x130d85a0, 0x13065e1c, 0x20, 0x20, 0x1, 0x2c3ffff, 0x800)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:210 +0xbd
    github.com/arduino/arduino-cli/legacy/builder.(*Builder).Run(0x13071f40, 0x130d85a0, 0xdebbb4, 0x13042c80)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:117 +0xb9c
    github.com/arduino/arduino-cli/legacy/builder.RunBuilder(…)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:226
    main.main()
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:398 +0x6d2
    C:\Program Files (x86)\Arduino\arduino-builder retornou 2
    Erro compilando para a placa Arduino/Genuino Uno

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    1. Wilian,

      Sua IDE está com algo corrompido provavelmente. Reinstale-a.

      Abraços!
      Diogo – Equipe MakerHero

  18. Esta aparecendo o seguinte erro:
    Arduino: 1.8.10 (Windows 10), Placa:”Arduino/Genuino Uno”

    In file included from C:\Users\nadir\Documents\Arduino\sketchoct20aumidade\sketchoct20aumidade.ino:4:0:

    Foram encontradas múltiplas bibliotecas para “LiquidCrystal.h”
    C:\Users\nadir\Documents\Arduino\libraries\DHT-sensor-library-master/DHT_U.h:36:10: fatal error: Adafruit_Sensor.h: No such file or directory

    Usado: C:\Users\nadir\AppData\Local\Temp\Rar$EXa12348.28432\arduino-1.8.10\libraries\LiquidCrystal
    #include

    Foram encontradas múltiplas bibliotecas para “DHT.h”
    ^~~~~~~~~~~~~~~~~~~

    Usado: C:\Users\nadir\Documents\Arduino\libraries\DHT-sensor-library-master
    compilation terminated.

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

    poderia me ajudar?

    1. Nadir,

      Vá na pasta de bibliotecas do Arduino: C:\Users\nadir\Documents\Arduino\libraries\ e veja se existem duas bibliotecas DHT e LiquidCrystal. Exclua-as e deixe apenas uma de cada.

      Abraços!
      Diogo – Equipe MakerHero

  19. este codigo não esta mais funcionando, testei ele e da muitos erros, teria como arrumar?

    1. Luis,

      Quais erros acontecem?

      Abraços!
      Diogo – Equipe MakerHero

  20. algumas vezes não aparece nada no LCD e quando aparece a umidade esta sempre acima de 100%

    1. Olá, Luca,

      Verifique se está tudo bem conectado, pois o mal contato pode acarretar nesses problemas.

      Abraços!
      Diogo – Equipe MakerHero

  21. Eu posso usa esse sensor DHT11 junto com um sensor de umidade do solo

    1. Olá, Marlucio

      É possível sim.

      Abraços!
      Diogo – Equipe MakerHero

  22. Vou tentar desenvolver um projeto para uma estufa capaz de manter a temperatura em 40 ° C, necessário para fazer coalhada caseira. Quando estiver pronto envio o projeto ou se tiver dificuldades procuro ejuda.
    Abraços.

    1. Boa sorte, Carlos!

      Abraços!
      Diogo – Equipe MakerHero

  23. Dica: Se você estiver recebendo a mensagem de erro na biblioteca DHT.h, instale uma versão mais antiga da biblioteca no próprio gerenciador de bibliotecas da IDE do Arduino (Funcionou com a 1.0.0 aqui, foi a alternativa que testei, depois de baixar dezenas de outras bibliotecas e colocar direto na pasta do disco C).

    Depois de fazer essa alteração funcionou certinho aqui.

    Abraços

    1. Olá Lismael,

      Excelente dica!

      Abraço!
      Rosana – Equipe MakerHero

  24. é obrigado usar o potenciometro né?

    1. Olá Hosana!

      Você pode suibstituir por um resistor, mas tem que testar vários valores até achar o correto.

      Abraços!

      André – Equipe MakerHero

  25. Bom dia. Boa tarde. Boa noite

    Como adapto este programa para uso com o i2c?
    preciso muito
    isto salvará meu semestre

    1. Olá Italo!

      Dê uma olhada neste post:
      https://www.makerhero.com/blog/medindo-corrente-e-tensao-modulo-ina219/

      Abraços!

      André – Equipe MakerHero

  26. Olá tentei fazer o experimento de vocês (Mostrando a temperatura no LCD 16×2 com o sensor DHT11) não deu certo o programa não compila. Ele a seguinte mensagem : erro para compilação da placa. o que eu faço?
    Obrigada

    1. Olá Guta!

      Você consegue colocar outros programas na placa ou só esse dá problema?

      Abraços!

      André – Equipe MakerHero

  27. BOA TARDE!

    Na hora de compilar esta dando o seguinte erro: Arduino: 1.8.5 (Windows 7), Placa:”Arduino/Genuino Uno”

    In file included from C:\Users\Geraldo M Roberto\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:22:0:

    C:\Users\Geraldo M Roberto\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

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

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    1. Olá João!

      Você instalou a biblioteca corretamente?

      Você deve instalá-la antes de utilizar nesse código.

      Abraços!

      André – Equipe MakerHero

  28. Olá, tudo bem?

    To com o seguinte problema, o display acende mas não aparece as informaçoes de temp e umidade nele.

    1. Olá Felipe!

      Você tentou fazer o display mostrar outras coisas?

      Você consegue colocar as informações de temperatura e umidade pela serial?

      Tenta isolar os problemas que facilita na hora de resolvê-los 😉

      Abraços!

      André – Equipe MakerHero

  29. boa tarde,

     

    na hora que vou verificar o programa para carregar ele aparece o seguinte erro

    Erro compilando para a placa Arduino/Genuino Mega or Mega 2560,

    já tentei reistalar o arduino e a biblioteca mas mesmo assim continua dando o erro,

    alguem pode me ajudar por favor

    1. Olá Edson!

      Você possui outro Arduino para testar? Seria interessante tentar com outra placa e ver o resultado.

      Tente fazer o processo em outro computador, para ver o que acontece.

      Você pode ver no gerenciador de dispositivos se o sistema operacional reconhece a placa, pelo menos.

      Abraços!

      André – Equipe MakerHero

  30. In file included from C:\Users\Emanoel\arduino-1.8.5\libraries\DHT\DHT_U.cpp:22:0:

    C:\Users\Emanoel\arduino-1.8.5\libraries\DHT\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino Nano

    Tou com esse Erro

  31. ese circuito me sirve para sensor de temperatura pero que que se se vea en pc y con la LCD

    1. Hola Roberto!

      Para poner en su PC podrías utilizar el Arduino para enviarle las informaciones por la salida serial.

      Cuando el PC recibir puedes hacer lo que quieres con los datos.

      Saludos!

      André – Equipo MakerHero

  32. Realizei a montagem que nem no exemplo, porem fica mostrando
    Temp: nan º
    Umid: nan %

    O que posso fazer nesse caso??
    O programa esta sem erro de compilação

  33. ola!tenho um controlador de temperatura com o PIC16c55.o que me parece é que o pic perdeu a configuraçao.eu gostaria de poder reprograma-lo.pode me ajudar?

  34. No “Kit Arduino Advanced” que eu comprei não veio potenciômetro. Tem como fazer ele funcionar sem?

  35. tem como mostrar a maior temperatura e a menor temperatura como seria o sketch.

  36. OlÁ

    Estou usando o sensor DHT22 e estou com um problema.
    O valor da medição está mostrando corretamento no monitor serial, porém no lcd está
    mostrando um valor esquisito..

    programação:

    #include
    #include

    #define DHTPIN 11 // Pino conectado ao pino de dados do sensor

    LiquidCrystal lcd(4, 2, 1, 0, 5, 6, 7, 8, 9, 10); //Pinos utilizados pelo display LCD

    #define DHTTYPE DHT22 // Sensor DHT 22 (AM2302) // Utilize a linha de acordo com o modelo do sensor

    DHT dht(DHTPIN, DHTTYPE); // Definicoes do sensor : pino, tipo

    byte grau[8] ={ B00001100, // Array simbolo grau
    B00010010,
    B00010010,
    B00001100,
    B00000000,
    B00000000,
    B00000000,
    B00000000,};

    void setup()
    {
    lcd.begin(16,2); // Inicializa o display
    analogWrite(3,130); //Aqui utilizamos o pino 3 do Arduino para controlar o contraste do display

    lcd.createChar(0, grau); // Cria o caracter customizado com o simbolo do grau

    lcd.setCursor(0,0); // Informacoes iniciais no display
    lcd.print(“Temp: “);
    lcd.setCursor(14,0);

    lcd.write(byte(0)); // Mostra o simbolo do grau
    lcd.print(“C”);
    lcd.setCursor(0,1);
    lcd.print(“Umid: “);
    lcd.setCursor(14,1);
    lcd.print(“%”);

    Serial.begin(9600);
    Serial.println(“Aguardando dados…”);

    dht.begin(); // Inicializa o sensor DHT
    }
    void loop()
    {
    delay(2000); // Aguarda 2 segundos entre as medicoes

    float h = dht.readHumidity(); // Leitura da umidade
    float t = dht.readTemperature(); // Leitura da temperatura (Celsius)

    if (isnan(h) || isnan(t)) // Verifica se o sensor esta respondendo
    {
    Serial.println(“Falha ao ler dados do sensor DHT !!!”);
    lcd.setCursor(0,0);
    lcd.print(“Falha ao ler”);
    return;
    }
    Serial.print(“Temp: “); // Mostra a temperatura no serial monitor e no display
    Serial.print(t,1);
    lcd.setCursor(7,0);
    lcd.print(t,1);
    Serial.print(” *C “);

    Serial.print(“Umid: “); // Mostra a umidade no serial monitor e no display
    Serial.print(h);
    lcd.setCursor(7,1);
    lcd.print(h,1);
    Serial.println(” %”);
    }

    Fico no aguardo pela ajuda!

  37. cartierbraceletlove Scary Folks. The same applies to most of these forums. the greater the outreach the greater the backlash.
    bracciali da uomo cartier falso https://www.bestcalove.ru/it/popular-aaa-replica-cartier-love-bracelet-pink-gold-mosaic-ten-diamonds-b6040616-p759/

  38. cartierbraceletlove Actually i take that back, my skeddy is jam packed, no room for her!
    van cleef perlee bangle knock off https://www.howtobuybangles.com/

  39. Perfeito a funcionar à primeira tentativa.

  40. o meu em vez de aperecer os valores, aparece “nan” alguém pode mim ajudar?

    1. Sim! O seu sensor deve estar lendo a entrada analógica errada, já verificou? Ligou os terminais certinho? Está corretamente aterrado? O Seu sensor é o DHT11 mesmo?

  41. Alguém poderia me dizer se esse código é C ou C++?

    1. o arduino funciona com uma linguagem própria, é parecido com c e c++, porém com algumas simplificações. Conhecimento em alguma delas pode ajudar bastante na hora de começar a programar

      LEONARDO CARPES DOS SANTOS
  42. Boa tarde. Percebi que no código foi colocado o .0 depois das medidas para que não haja problemas de exibição quando o sensor mostrar “nan” antes de medir pela primeira vez. Há alguma maneira de editar a library do DHT11 para que ele mostre algo como “na” e portanto não comprometa a exibição de temperatura sem a casa decimal?

  43. estou com um erro no programa que não consigo resolver que é este :
    In file included from C:Program FilesArduinolibrariesDHT-sensor-library-masterDHT_U.cpp:22:0:

    C:Program FilesArduinolibrariesDHT-sensor-library-masterDHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Erro compilando para a placa Arduino/Genuino Mega or Mega 2560
    Biblioteca inválida encontrada em C:Program FilesArduinolibraries__MACOSX: C:Program FilesArduinolibraries__MACOSX
    Biblioteca inválida encontrada em C:Program FilesArduinolibraries__MACOSX: C:Program FilesArduinolibraries__MACOSX

  44. O meu esta dando este erro… Alguém pode me ajudar?
    In file included from C:UsersMarco AntonioSketchBooklibrariesDHT-sensor-library-masterDHT_U.cpp:22:0:

    C:UsersMarco AntonioSketchBooklibrariesDHT-sensor-library-masterDHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

    #include

    ^

    compilation terminated.

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

    1. Yo me he metido a la libreria del Dht 11, ejemplo: C:UsersSantosDocumentsArduinolibrariesDHT_sensor_library
      y he elimado los archivos DHT_U.cpp y DHT_U.h,
      despues he compilado el programa y a funcionado muy bien!!!
      espero te sea de ayuda.

      1. estou com um problema no meu display nao aparecem os numeros aparece NAN

  45. Opa. Queria saber se tem como modificar esse codigo e mudar para usar em um Sensor de Gas ou MQ….
    Estou querendo montar um projeta, para que o arduino leia o Sensor e envie a porcentagem para o Display. Se estiver como, poderia me responder, caso tenha que mudar algo nesta biblioteca, me ajude, sou leigo no assunto, nao entendo muita coisa. Obrigado!

  46. Ola, eu quero q quando passe de 25 graus um rele seja acionado, qual a modificação deve ser feita no codigo?

    1. ola eu sou novo no mundo do arduino mas acho que posso te ajudar…
      coloque um if no codigo por exemplo:
      if(t >= 25){ //neste caso ele liga se a temp for igual ou maior que 25º
      digitalWrite(rele, HIGH);
      }
      espero ter ajudado 🙂

  47. Boa noite, obrigado pelas dicas ate agora, sempre acompanho o site!
    Estou precisando piscar um LED enquanto a temperatura estiver maior que 30°C, por exemplo. Porem, não quero que a programação se interrompa, preciso que o LED pisque simultaneamente com a leitura e impressão no display enquanto estiver acima de certo valor.

    Tentei usar um “if”, mas logo apos atingir a temperatura o LED começa a piscar e o display do LCD aparece uns caracteres estranhos. O “while”também não seria uma opção, pois irá parar toda a programação.

    Estou usando um senso de temperatura DS18B20 e um LCD 16×2

    #include
    #include
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    OneWire ds(10);

    void setup(void) {
    Serial.begin(9600);
    lcd.begin(16, 2);
    pinMode(52, OUTPUT);

    }

    void loop(void) {
    byte i;
    byte present = 0;
    byte type_s;
    byte data[12];
    byte addr[8];
    float celsius;

    if ( !ds.search(addr)) {
    Serial.println();
    ds.reset_search();
    delay(250);
    return;
    }

    ds.reset();
    ds.select(addr);
    ds.write(0x44,1);

    delay(1000);

    present = ds.reset();
    ds.select(addr);
    ds.write(0xBE);

    for ( i = 0; i < 9; i++) {
    data[i] = ds.read();

    }

    unsigned int raw = (data[1] << 8) | data[0];
    if (type_s) {
    raw = raw << 3;
    if (data[7] == 0x10) {

    raw = (raw & 0xFFF0) + 12 – data[6];
    }
    } else {
    byte cfg = (data[4] & 0x60);
    if (cfg == 0x00) raw = raw << 3;
    else if (cfg == 0x20) raw = raw << 2;
    else if (cfg == 0x40) raw = raw << 1;

    }
    celsius = (float)raw / 16.0;
    Serial.print("Temperatura = ");
    Serial.print(celsius);
    Serial.write(176);
    Serial.print("C");

    lcd.print("Temp. = ");
    lcd.print(celsius);
    lcd.print((char)223);
    lcd.print("C");
    delay(250);
    lcd.setCursor(0, 0);

    }

  48. Arduino: 1.6.6 (Windows 7), Placa:”Arduino/Genuino Uno”

    lcd_teste.ino:13: error: ‘DHT’ does not name a type

    DHT dht(DHTPIN, DHTTYPE);

    ^

    C:UsersfagnerDocumentsArduinolcd_testelcd_teste.inolcd_teste.ino.ino: In function ‘void loop()’:

    lcd_teste.ino:39: error: expected primary-expression before ‘.’ token

    float h = dht.readHumidity(); //Le o valor da umidade

    ^

    lcd_teste.ino:40: error: expected primary-expression before ‘.’ token

    float t = dht.readTemperature(); //Le o valor da temperatura

    ^

    olá, aparceu este erro de compilação!!!
    Foram encontradas múltiplas bibliotecas para “LiquidCrystal.h”
    Usado: C:UsersfagnerDocumentsArduinolibrariesLiquidCrystal
    Não usado: C:Program FilesArduinolibrariesLiquidCrystal
    exit status 1
    ‘DHT’ does not name a type

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

    1. Olá. Espero que já tenha resolvido seu problema, mas para quem está com o mesmo problema (e pelo que eu li a reincidência acontece na linha 13 do código postado pelo autor). O código está correto, como de costume desta página (PARABÉNS). A dica é rever se baixou a biblioteca do sensor DHT e se copiou correto na pasta “libraries” do arquivos de programas/arduino/libraries. Reforçando, se tiver com outro código do IDE do arduino aberto, é melhor fechar todas as janelas e começar do 0 o código desta página. Se ainda assim acontecer, feche o arquivo salvando e abra-o de novo (O DHT DA LINHA 13 DEVERÁ FICAR LARANJA).

  49. Boa noite

    Amigo eu sempre usei pic´s..e agora estou com um projeto para montar um rário FM com arduíno uno R3, e implementar nele um relógio e um termômetro….estou usando o ds1307, o dht11, o display nokia 5110, e um keypad para controle das funções….alguém pode me ajudar na programação?
    Eu tenho as bibliotecas mas eu não consigo fazer funcionar…se alguém puder me ajudar ou realizar a programação eu até estou disposto a pagar, porque eu faço projetos em casa mas não tenho familiaridade com o Arduíno, eu estou começando agora…quem puder me envia e-mail que eu passo meu contato telefônico.
    Obrigado a todos.

  50. Olá, estou com o seguinte problema, se eu rodar o seu código funciona normal, porém eu coloquei seu código junto de um algoritmo para salvar em uma base de dados, por algum motivo ele não exibe no display, porém salva no banco normalmente. Aparentemente não consigo encontrar nada de errado no algoritmo, saberia me dizer se estou esquecendo de alguma coisa? Obrigado.

    CÓDIGO ABAIXO

    #include
    #include
    #include
    #include

    #define DHTPIN A5
    #define DHTTYPE DHT11

    DHT dht(DHTPIN, DHTTYPE);
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    IPAddress server(192,168,1,6);
    EthernetClient client;

    byte grau[8] ={ B00001100,
    B00010010,
    B00010010,
    B00001100,
    B00000000,
    B00000000,
    B00000000,
    B00000000,};

    bool connected = false;

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

    lcd.begin(16,2);
    lcd.clear();
    lcd.createChar(0, grau);

    if (Ethernet.begin(mac) == 0) {
    Serial.println(“Failed to configure Ethernet using DHCP”);
    }
    }

    void loop() {
    float h = dht.readHumidity();
    float t = dht.readTemperature();

    lcd.setCursor(0,0);
    lcd.print(“Temp : “);
    lcd.print(” “);
    lcd.setCursor(7,0);
    lcd.print(t,1);
    lcd.setCursor(12,0);

    //Mostra o simbolo do grau formado pelo array
    lcd.write((byte)0);

    lcd.setCursor(0,1);
    lcd.print(“Umid : “);
    lcd.print(” “);
    lcd.setCursor(7,1);
    lcd.print(h,1);
    lcd.setCursor(12,1);
    lcd.print(“%”);

    if (!connected) {
    Serial.println(“Not connected”);

    if (client.connect(server, 80)) {
    Serial.println(“Connected”);
    connected = true;

    client.print(“GET /ethernet/mysql2.php?”);
    Serial.print(“GET /ethernet/mysql2.php?”);

    client.print(“t=”);
    Serial.print(“t=”);
    client.print(t);
    Serial.print(t);
    client.print(“&”);
    Serial.print(“&”);
    client.print(“h=”);
    Serial.print(“h=”);
    client.print(h);
    Serial.print(h);

    client.println(” HTTP/1.0″);
    Serial.println(” HTTP/1.0″);

    client.println();
    } else {
    Serial.println(“Cannot connect to server”);
    }
    } else {
    delay(500);

    while (client.connected() && client.available()) {
    char c = client.read();
    Serial.print(c);
    }

    Serial.println();

    client.stop();
    connected = false;
    }

    delay(5000);
    }

  51. Olá, gosto muito deste site e já tirei vários exemplos para projetos.No momento estou precisando de uma ajuda,criar um Menu com Botões pulsantes,está muito difícil encontrar exemplos.Alguém sabe de algum ?

    1. Bom dia Danilo,

      Que tipo de menu seria ? pode explicar melhor ?

      Abraço

      Adilson – Equipe MakerHero

      1. Navegar em um menu através de botões : Up, down, enter e Menu daí vai para a tela desejada
        Ex: Menu 1 = Monitorar Temperatura e umidade
        Menu 2 = Ligar e desligar uma lampada com rele
        Menu 3 = Controlar a umidade atraves de uma bomba d’agua, aí vc digita o valor min e o max. Min liga a bomba e max desliga a bomba (com rele )

        Valew , muito Obrigado

  52. gostaria de saber porque na hora de verificar aparece erro nessa parte DHT dht(DHTPIN, DHTTYPE); ?

  53. Consigo ligar mais de um sensor e utilizando uma tela 16×4 exibir a informação desses dois sensores? Abraços.

  54. Eu conseguiria conectar o sensor DHT 11, o display LCD, o módulo do cartao SD e o módulo RTC em somente um arduino? Como devo proceder?
    Desde já obrigado!!!!

    1. Bom dia Brendo,

      Consegue sim, dê uma olhada em nossos tutoriais para verificar a ligação de cada um desses dispositivos. Uma boa idéia talvez seja usar o módulo I2C para ligação do display, que é o item que mais vai ocupar as portas do Arduino. Com ele, você liga o display ao Arduino utilizando apenas 2 fios: https://www.makerhero.com/pd-179dbc-modulo-serial-i2c-para-display-lcd-arduino.html

      Abraço

      Adilson – Equipe MakerHero

      1. Eu comprei o módulo I2C, mas agora o que eu altero no programa para funcionar o display com DHT11?

        1. Olá Besko,

          Dê uma olhada no seguinte tutorial: https://www.arduinoecia.com.br/2014/12/modulo-i2c-display-16×2-arduino.html

          Lá você aprende como ligar um módulo I2C ao display LCD e também tem um exemplo de código para Arduino.

  55. Primeiramente parabéns pelo blog e pelos produtos!

    Estou tentado fazer um projeto para um terario para repteis, no entanto ele tem que ficar numa determinada temperatura no dia e uma outra durante a noite! para manter a temperatura utilizo lampadas especificas q esquenta para não ficar frio.
    Gostaria de por exemplo das 6 as 19h fica acesa a luz “dia” e o restante a luz “noite” controlando a temperatuna de por exemplo 25graus liga 30 graus desliga!

    Teria como me ajudar por favor!!

    Att

    1. Bom dia Gustavo,

      Você pode utilizar o DHT11 juntamente com módulos relé, dependendo do tipo de ligação que você tem hoje, seguindo as instruções deste artigo: https://www.makerhero.com/controle-modulo-rele-arduino/. Já para o controle do horário de funcionamento do circuito, você pode utilizar um módulo RTC DS1307, como esse: https://www.makerhero.com/relogio-rtc-ds1307-arduino/

      Abraço

      Adilson – Equipe MakerHero

  56. Posso por exemplo : Se a temperatura for maior que determinada temperatura acender um LED na protoboard? É muito dificil?

    1. Bom dia Brendo,

      É simples, faça um IF para testar o valor da variável t (temperatura). Fica mais ou menos assim:

      if (t >= 30) //se a temperatura for maior do que 30….
      {
      digitalWrite(7, HIGH); //acende o led da porta digital 7
      }

      Abraço

      Adilson – Equipe MakerHero

      1. Entendi, vou testar depois e conferir,obrigado. Tenho mais uma pergunta, tem alguma maneira de eu armazenar em algum lugar os dados da temperatura e da umidade que são lidos pelo sensor???
        Abraços!

        1. Boa tarde Brendo,

          Publicamos hoje um projeto de datalogger, que faz exatamente o que você precisa. Dê uma olhada, por favor: https://www.makerhero.com/arduino/datalogger-com-arduino-cartao-sd/

          Abraço

          Adilson – Equipe MakerHero

          1. Eu conseguiria conectar o sensor DHT 11, o display LCD, o módulo do cartao SD e o módulo RTC em somente um arduino? Como devo proceder?
            Desde já obrigado!!!!

  57. Bom dia, Filipe! Estou tentando unificar dois projetos seu, o de temperatura e umidade e o do relógio em tempo real num único display 20×4 e estou tendo algumas dificuldades. Tem como você me informar se há essa possibilidade e uma dica de que ponto posso partir? Obrigado.

    1. Boa tarde Gilberto,

      Temos tutoriais que utilizam o display 20×4, como esse: https://www.makerhero.com/modulos/rtc-ds1307-display-lcd-20×4-arduino/. Pode ser um ponto de partida para o seu projeto.

      Abraço

      Adilson – Equipe MakerHero

  58. Olá, gostaria de saber qual sensor de temperatura mostra os valores exatos… ex 35.5º. Obrigado

    1. Bom dia Gustavo,

      Você pode usar o DHT22: https://www.makerhero.com/pd-137442-sensor-de-umidade-e-temperatura-am2302-dht22.html

      Abraço.

      Adilson – Equipe MakerHero

      1. Vou comprar esse sensor amanha mesmo.
        poderia me informar porque que tenho que desligar e ligar o arduino para ele mostrar no lcd em tempo real a temperatura?
        o que esta errado no codigo?

        1. Bom dia Gustavo,

          Não entendi essa questão de desligar e ligar o Arduino, ele apresenta algum erro ?

          Abraço.

          Adilson – Equipe MakerHero

  59. Olá! Tentei implementar esse código, mas o meu DHT11 só envia 0ºC e 0 de umidade também. O problema deve estar no sensor, certo?

  60. eu to com um problema e nao consigo entender o por que , eu fiz refiz vaarias vezes as ligaçoes mais quando eu coloco o programa pra rodar , a tela fica inteira azul e nao escreve nada, alguem conseguil resolver esse problema /?

    1. Tenta alterar o contraste. Se não funcionar, testa primeiro só o LCD se esta funcionando. Se eu não me engane na IDE do arduino tem programa de teste do LCD.

    2. Bom dia Antonio,

      O problema pode estar no ajuste do contraste, feito pelo potenciômetro. Peço também que você reveja as ligações ao display.

      Grato.

      Adilson – Equipe MakerHero

  61. Boa tarde, Gostaria de saber sobre como utilizar um sistema de horário no arduino, só consigo com módulo RTC? Tenho um Display Lcd 1602 Modulo Shield Arduino C/ Botões e gostaria de saber se existe uma bilbioteca para isso.

    Obrigado.

    1. Boa tarde,

      A utilização de um módulo RTC seria o mais indicado. Quanto a biblioteca para o keypad, tente este link: https://forum.arduino.cc/t/new-library-for-lcd-keypad-shield/38157

      Abraço.

      Adilson – Equipe MakerHero

  62. Boa tarde!

    Gostaria de saber se existe limite para a extensão do cabo para ligar o sensor ao arduino?

    Explico: vou colocar o sensor dentro de um abrigo meteorológico, e colocar o arduino dentro de casa. Distância de uns 20 metros mais ou menos.

    Obrigado!

    1. Bom dia Henrique,

      Não temos essa informação, mas pode ser interessante pensar em alguma solução via wireless, como por exemplo o módulo NRF24L01 ou até mesmo o kit RF433 MHz.

      Abraço.

      Adilson – Equipe MakerHero

  63. Desejo monitorar temperatura e umidade no mesmo barramento serial, de varios sensores DTH11, visto que a comunicacao e I2C.
    Como posso diferenciar cada sensor???? Tem um ID?

    1. Boa noite Mario,

      O DHT11 não utiliza comunicação I2C. Você terá que ligar cada um em uma porta diferente e efetuar as alterações no programa.

      Abraço.

      Adilson – Equipe MakerHero

  64. Eu poderia ligar o display e o sensor diretamente no microcontrolador (protoboard). Pelo que eu entendi, as ligações mudariam um pouco (Sou novato no assunto).
    O pino de dados do sensor iria no pino 24 do micro
    Rs iria no 18 do micro.
    E iria no 17
    D4 no pino 6 do micro
    D5 no pino 11
    D6 no pino 12
    D7 no pino 13
    Está correto isso ?
    Me baseei nesta imagem: http://www.chicoree.fr/w/images/9/95/ATmega328P_vs_Arduino_pin_mapping.png

  65. gostaria de saber no kit arduino beginning vem o sensor DHT11

    1. Boa noite,

      Não vem. Se você precisar de um sensor de temperatura, o kit contém o LM35. O DHT11 deve ser adquirido à parte.

      Abraço.

      Adilson – Equipe MakerHero

  66. bom dia,
    este sensor só serve para arduino ,ou posso utilizalo em micro c,,estou com projeto de umidificador a facu ,queria utilizar este sensor,,o meu micro controlador vai ser um pic 18f4520.abs

    1. Boa noite Josimar,

      Funciona sim, sem problemas, você só precisa da programação adequada.

      Abraço.

      Adilson – Equipe MakerHero

  67. Testei o mesmo programa sou cliente do site, mas o codigo não funciona,
    DHT não lê a linha e fica dando erro.
    Já importei a biblioteca e mesmo assim persiste o erro.

  68. Estou fazendo um projeto de irrigação controlado por arduino e irei utilizar dois sensores adquiridos aqui, o dht11 e o sensor de umidade do solo, fiz algumas simulações em um software porém só consigo simular o sensor de umidade do solo cuja saída é analógica, porém o sensor de temperatura tem uma saída de dados que eu não consigo simular, existe alguma forma de simular os dados deste sensor utilizando este programa proposto, ou só conseguirei testar mesmo na bancada montando o circuito? Utilizo o proteus para simulação.

  69. Boa noite,

    Estou com um projeto na faculdade de sistemas distribuídos, e optei por fazer um medidor de temperatura e umidade com display, e que dê pra acessar as informações também via rede. Tem como colocar pra funcionar todas essas funções ? A barreira é só colocar em rede.

    Meu trabalho vai ser implementado no meu emprego, numa sala de servidor refrigerada de um cartório.

    Att,

    Iago Costa

    1. Boa tarde,

      Teoricamente sim, dependendo dos componentes que você for usar.

      Abraço.

      Adilson – Equipe MakerHero

      1. Boa tarde, dependendo dos componentes, seria o que eu devo comprar ?

        Fiz um orçamento na loja, acho que esta tudo que eu preciso. Você concorda ?
        https://scontent-gru.xx.fbcdn.net/hphotos-xpa1/t31.0-8/10986689_1003236443037696_636779563179702019_o.jpg

        Muito satisfeito por estar me ajudando. Como vou tirar tudo do meu trabalho aqui dos tutoriais, vou comprar esse projeto na loja de voces como incentivo a continuar o blog, que ja me ajudou muito.

        Att, Iago Costa

  70. Boa noite galera, comprei um kit já tem uns dois anos que está parado, tudo isso na esperança de conseguir fazer um servo motor acompanhar o movimento da pessoa tanto para os lados como para baixo e para cima. Alguém pode me dar essa forcinha?

  71. Boa noite, alguém pode me ajudar? Tenho um aquário com duas lampadas diferentes e gostaria que elas acendessem e apagassem em tempos diferentes simulando iluminação solar, e se possível um display pra indicar a temperatura da água.

    1. Boa tarde Anderson,

      Para medir a temperatura da água, existem sensores específicos para o Arduino, como o DS18B20 montado em um cabo isolado.

      Abraço.

      Adilson – Equipe MakerHero

  72. Bom dia,
    Editei esse programa a fim de deixar compatível com o meu LCD ligado com um modulo I2C, poré eu não tenho um controle do brilho do backlight.

    Teria um jeito de fazer isso vi programa ou só colocando um resistor mesmo?
    O meu modulo I2C e LCD são os mesmos que estes.
    http://www.arduinoecia.com.br/2014/12/modulo-i2c-display-16×2-arduino.html

    1. Boa noite Anderson,

      No módulo I2C você faz isso pelo próprio programa, pelo comando lcd.setBacklight(HIGH).

      Adilson – Equipe MakerHero

  73. Boa noite a todos, venho pedir uma ajuda referente ao codigo para ler temperatura e humidade e mostrar no LCD de 16×2 utilizando Arduino UNO e semsor DHT11.

    Bem a questao começa logo quase no inicio da leitura do codigo que me da erro assinalado em baixo entre ==========:

    //Programa : Temperatura e umidade com o DHT11 e LCD 16×2
    //Autor : MakerHero

    #include //Carrega a biblioteca LCD
    #include //Carrega a biblioteca DHT

    //Define a ligação ao pino de dados do sensor
    #define DHTPIN 7

    //Define o tipo de sensor DHT utilizado
    #define DHTTYPE DHT11

    ==============DHT dht(DHTPIN, DHTTYPE); ==========

    //Define os pinos que serão ligados ao LCD
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    //Array simbolo grau
    byte grau[8] ={ B00001100,
    B00010010,
    B00010010,
    B00001100,
    B00000000,
    B00000000,
    B00000000,
    B00000000,};

    void setup()
    {
    Serial.begin(9600); //Inicializa a serial
    lcd.begin(16,2); //Inicializa LCD
    lcd.clear(); //Limpa o LCD
    //Cria o caractere customizado com o simbolo do grau
    lcd.createChar(0, grau);
    }

    void loop()
    {
    float h = dht.readHumidity(); //Le o valor da umidade
    float t = dht.readTemperature(); //Le o valor da temperatura
    lcd.setCursor(0,0);
    lcd.print(“Temp : “);
    lcd.print(” “);
    lcd.setCursor(7,0);
    lcd.print(t,1);
    lcd.setCursor(12,0);

    //Mostra o simbolo do grau formado pelo array
    lcd.write((byte)0);

    //Mostra o simbolo do grau quadrado
    //lcd.print((char)223);

    lcd.setCursor(0,1);
    lcd.print(“Umid : “);
    lcd.print(” “);
    lcd.setCursor(7,1);
    lcd.print(h,1);
    lcd.setCursor(12,1);
    lcd.print(“%”);

    //Intervalo recomendado para leitura do sensor
    delay(2000);
    }

    Alguem pode dar uma ajuda???

    Obrigado a todos.

    1. o meu tambem estava com o mesmo problema…fiz novamente o download da biblioteca e reinstalei…funcionou perfeito…

    2. Boa noite,

      Qual erro está apresentando ?

      Adilson – Equipe MakerHero

  74. Olá, tudo bem? Ao invés de utilizar o potenciômetro que serve para regular o brilho da tela, eu não poderia utilizar um resistor diretamente? Obrigado.

    1. Boa tarde Bruno,

      Pode sim, sem problemas.

      Abraço.

      Adilson – Equipe MakerHero

  75. O projeto funcionou perfeitamente mas eu querei optimiza-lo.
    Estou a fazer um projecto que é basicamente uma maquete de uma estufa, e eu queria que quando a humidade chega-se a um determinado valor liga-se um motor de puxar agua (12v) e quando a temperatura desce-se uma um led acendesse e quando subisse umas ventoinhas começassem a trabalhar.

  76. Brother tenho um raspberry pi posso ter o mesmo sucesso com a Prototype Shield para Raspberry Pi + o Sensor DTH11 ?

    1. Boa tarde Anderson,

      É possível montar a mesma configuração no Raspberry, só não temos um exemplo ainda para mostrar.

      Abraço.

      Adilson – Equipe MakerHero

  77. Boa noite,
    Conectei tudo conforme o post, mas não aparece simplesmente nada no meu lcd

    1. Boa noite Fernanda,

      Por favor reveja as suas conexões, principalmente a parte do backlight (luz de fundo), e o potenciômetro que regula o contraste.

      Adilson – Equipe MakerHero

      1. Se usar um arduino mega2560 e um sensor DHT22, usando as mesmas configurações deste post, funciona?

        1. Boa tarde Fernanda,

          Ainda não testamos esse sensor com o Mega2560.

          Abraço.

          Adilson – Equipe MakerHero

  78. boa tarde,

    estou com problemas na hora de compilar ai apresenta o seguinte erro ;
    sketch_sep30a:10: error: ‘DHT’ does not name a type
    sketch_sep30a.ino: In function ‘void loop()’:
    sketch_sep30a:36: error: ‘dht’ was not declared in this scope

    1. Boa tarde Diego,

      Essa mensagem parece ser alguma problema na instalação da biblioteca.

      Grato.

      Adilson – Equipe MakerHero

    2. Diego, conseguiu resolver seu problema?
      Troque o nome da pasta da Biblioteca pra apenas DHT.

  79. Olá. gostaria de saber se é necessário ter o potenciômetro para que a tela lcd funcione no Arduíno, pois comprei o restante dos itens e quando montei não apareceu texto, porém a tela fica ligada.

    1. É só usar um resistor

  80. comprei o sensor DHT11 com vcs,e acabou de chegar,fui fazer o projeto e no display só marca como temperatura 0.0 e como umidade man% ,queria saber qual seria o problema

    1. Boa tarde Rafael,

      Você consegue enviar as informações para o serial monitor e ver se o problema persiste ?

      Grato.

      Adilson – Equipe MakerHero

  81. Olá Pessoal!!
    Comprei o material necessário para realizar esse projeto com vocês e estou aguardando a entrega.
    Enquanto isso, gostaria de tirar uma dúvida.
    Qual sensor eu poderia “acoplar” na parte externa de um objeto para monitorar sua temperatura dentro de um freezer?? Teria que ser um sensor que suportasse temperaturas baixas sem estragar… E outra dúvida: que material posso usar para prender esse sensor no objeto em questão de modo que isole a temperatura do freezer e mostre somente a temperatura do objeto que o sensor está acoplado?? Se vocês tiverem alguma sugestão, agradeço muito!!
    Muito obrigado pela atenção de vocês.
    Aguardo!!
    Abraços.

  82. Não estou obtendo sucesso, o meu DHT11 já veio com a plaquinha, com um resistor de 10k embarcado, mas acho que não mudaria nada, ele simplesmente não traz nenhum valor nas medidas, 0,0 Temperatura, e Umidade varia de uma sigla nan e 0,0 no vizor, o que pode ter acontecido, como eu tiro a prova do sensor se ele realmente esta funcionando, a alguma medição que eu possa fazer diretamente nele com multímetro para verificar sua integridade?

    1. Boa tarde,

      O ideal seria você testar com outro DHT11. Você comprou esse módulo aqui na MakerHero ?

      Grato.

      Adilson – Equipe MakerHero

      1. Cara, estou com o mesmo problema.

        Temperatura fica 0.0
        umidade fica nan

        Nao tenho outro sensor pra testar, tem alguma sugestao?

    2. O meu sensor também veio em uma plaquinha e como o do pessoal que reclamou, o meu também não funcionou de primeira.
      Então eu observei que o meu sensor possuía apenas três pernas e não quatro como a da figura apresentada. Então eu observei que a pinagem que o meu seguia era a seguinte: Com o sensor visto de frente(parte azul para frente): porta analógica, 5v, gnd

  83. a programação esta apresentando o seguinte erro:

    sketch_jul17a:13: error: ‘DHT’ does not name a type
    sketch_jul17a.ino: In function ‘void loop()’:
    sketch_jul17a:39: error: ‘dht’ was not declared in this scope

    como faço para solucionar esse problema?

    1. Você precisa instalar a biblioteca DHT que se encontra disponivel no começo da postagem.

    2. Eu sei que já faz um bom tempo, mas como tive que usar esse sensor num projeto do técnico e cai no mesmo problema, vou tentar ajudar. Ao utilizar esse sensor, vocês devem entrar no gerenciador de bibliotecas e baixar a biblioteca do dht. Até aí ok. Porém dá um erro no “Adafruit_sensor.h” ou algo assim. Então eu pesquisei bastante e achei um fórum da gringa explicando que você deve entrar no gerenciador de bibliotecas com o nome de “Unified”. E baixar a penúltima biblioteca encontrada “Adafruit Unified Sensor”. Aí compila tranquilo. VALEU!

      1. Cara, você é um santo. To fazendo um projeto pro meu tecnólogo também e não tava conseguindo resolver esse erro. Valeu!

  84. O meu sensor dht11 veio pronto na placa, porem creio que nao exista diferenca , pois segui conforme ah pinagem , mais mesmo assim não consegui =/ kkkk

    1. Boa noite,

      Qual erro está apresentando ?

      Abraços.

      Adilson – Equipe MakerHero

  85. Filipe, estou com uma duvida, e acho que você pode me ajudar.
    Estou exibindo um valor no display de 0-1023 (valor da leitura de um potenciometro)
    o problema é quando ele está lendo digamos 24 fica normal, quando lê 100 e volta pra 24 fica 240
    se ele lê os 1023 e volta pra 900 fica 9003 entende? o ultimo numero está ficando ‘preso’ sei lá, tentei com um lcd.clear(); mas fica piscando -.-

    1. Boa tarde Rodrigo,

      Realmente com o lcd.clear() o display fica piscando, e não fica uma coisa “apresentável”.

      O que eu costumo fazer é apagar apenas o espaço aonde vai o número. Por exemplo, digamos que o valor máximo de 1024 vai ser apresentado na linha 0, coluna 0. Antes de apresentar o valor, eu preencho esse espaço com caracteres em branco. Fica mais ou menos assim :

      lcd.setCursor(0,0);
      lcd.print(” “); //4 caracteres em branco
      lcd.setCursor(0,0);
      lcd.print(“1234”); //Imprimo o valor ou variável no mesmo espaço

      São algumas linhas de comando a mais, mas o resultado compensa. Espero ter ajudado. Abraço !

      Adilson – Equipe MakerHero

  86. //Programa : Temperatura e umidade com o DHT11 e LCD 16×2
    //Autor : MakerHero

    #include //Carrega a biblioteca LCD
    #include //Carrega a biblioteca DHT

    //Define a ligação ao pino de dados do sensor
    #define DHTPIN A5

    //Define o tipo de sensor DHT utilizado
    #define DHTTYPE DHT11

    DHT dht(DHTPIN, DHTTYPE);

    //Define os pinos que serão ligados ao LCD
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    //Array simbolo grau
    byte grau[8] ={ B00001100,
    B00010010,
    B00010010,
    B00001100,
    B00000000,
    B00000000,
    B00000000,
    B00000000,};

    void setup()
    {
    Serial.begin(9600); //Inicializa a serial
    lcd.begin(16,2); //Inicializa LCD
    lcd.clear(); //Limpa o LCD
    //Cria o caractere customizado com o simbolo do grau
    lcd.createChar(0, grau);
    }

    void loop()
    {
    float h = dht.readHumidity(); //Le o valor da umidade
    float t = dht.readTemperature(); //Le o valor da temperatura
    lcd.setCursor(0,0);
    lcd.print(“Temp : “);
    lcd.print(” “);
    lcd.setCursor(7,0);
    lcd.print(t,1);
    lcd.setCursor(12,0);

    //Mostra o simbolo do grau formado pelo array
    lcd.write((byte)0);

    //Mostra o simbolo do grau quadrado
    //lcd.print((char)223);

    lcd.setCursor(0,1);
    lcd.print(“Umid : “);
    lcd.print(” “);
    lcd.setCursor(7,1);
    lcd.print(h,1);
    lcd.setCursor(12,1);
    lcd.print(“%”);

    //Intervalo recomendado para leitura do sensor
    delay(2000);

    porem nao consigo programa ele da erro

  87. comprei um sensor de temperatura
    mas eu não consigo roda o programa da erro o
    sensor de chuva que eu comprei funcionou legal peguei o programa aqui
    e deu certo mas esse não e eu não sei porque eu to tentando aprender ja comprei alguns
    componente de sua
    loja inclusive os sensores e o Arduino queria um programa pra eu usa aqui com o sensor de temperatura DHT11

    1. Boa noite Manoel,

      Pode nos informar qual erro apresenta quando você compila o programa ?

      Grato.

      Adilson – Equipe MakerHero

    2. Boa noite Manoel,

      Pode nos passar o que está acontecendo ? o erro é do programa, na hora de compilar ?

      Grato.

      Adilson – Equipe MakerHero

  88. Amigo qual software você utiliza para a montagem virtual e simulação deste circuito?

    1. Boa noite Felipe,

      Para montagem virtual utilizamos o Fritzing. Os circuitos são todos montados e testados na bancada, para garantir o funcionamento dos posts apresentados.

      Abraço.

      Adilson – Equipe MakerHero

  89. Achei muito interessante e totalmente ao nível de qualquer pessoa fazer esse projeto, graças ao código simples e bem elaborado por vocês. Preciso fazer um projeto pra medir a temperatura da água, esse sensor pode ser colocado na água?

    Christian Raimundo Afonso Barbosa
    1. Boa noite Christian,

      Esse sensor não é indicado para ser colocado na água. Uma alternativa seria o uso, com vedação adequada, do LM35 ou do DS18B20, que são sensores exclusivos para medir temperatura.

      Um abraço e obrigado por visitar o blog MakerHero !

      Adilson – Equipe MakerHero