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.
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.
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 :
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.
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?
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
Eu montei igual acima mas no meu display ele aparece Temp: nan º e Umid: nan . %
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
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.
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
bom dia. obrigado pela atenção e sim, os valores não se corrigem, ligaçoes estão ok.
Olá Rafael,
Então acredito que seja problema no sensor sim.
Abraço!
Vinícius – Equipe MakerHero
Good , 1 resistor en pin 2 o 15?
Olá Joe,
O display é feito para trabalhar com 5 V, não é necessário resistor.
Abraços!
Vinícius – Equipe MakerHero
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
Allan,
Verifique se as bibliotecas estão instaladas corretamente.
Abraços!
Diogo – Equipe MakerHerow
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.
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
valeu amigo vc é um amigo
REPORT de possível erro!
No void setup faltou ” dht.begin() ”
void setup()
{
Serial.begin(9600);
Serial.println(“DHTxx test!”);
* dht.begin(); *
}
Olá, Gustavo
Resolvido! Obrigado por reportar 🙂
Abraços!
Diogo – Equipe MakerHero
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,
Vale a pena rever as conexões, podem não estar bem certinhas.
Abraços!
Diogo – Equipe MakerHero
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.
Paulo,
Bem visto, já executei a correção!
Abraços!
Diogo – Equipe MakerHero
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);
}
}
Neste código esta faltando o
dht.begin()
Boa tarde vocês são nota dez, e me sinto aluno iniciante obrigado pelas dicas inperdivel. Paiva
Muito obrigado, Paiva!!
Ficamos muito felizes em ajudar 😉
Abraços, e cuide-se com o COVID-19!
Diogo – Equipe MakerHero
gostei muito, que não apareceu os caracteres, o d isplay eu aumento e diminou mais não vejo os numeros.
Paiva,
Verifique as conexões e se as soldas estão ok.
Abraços, e cuide-se com o COVID-19!
Diogo – Equipe MakerHero
Ótimo e muito obrigado por sua ajuda.
Paiva,
Nós que agradecemos pela sua visita!!
Abraços!
Diogo – Equipe MakerHero
Queria te uma condição financeira que daria minha ajuda. Paiva
Muito bom, gostei bastante. o senhor é muito bom, fico feliz em encontrar alguém que entenda bem esse assunto.
Jovánio,
Que bom que curtiu! Ficamos extremamente felizes 🙂
Abraços!
Diogo – Equipe MakerHero
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?
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”
Wilian,
Sua IDE está com algo corrompido provavelmente. Reinstale-a.
Abraços!
Diogo – Equipe MakerHero
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?
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
este codigo não esta mais funcionando, testei ele e da muitos erros, teria como arrumar?
Luis,
Quais erros acontecem?
Abraços!
Diogo – Equipe MakerHero
algumas vezes não aparece nada no LCD e quando aparece a umidade esta sempre acima de 100%
Olá, Luca,
Verifique se está tudo bem conectado, pois o mal contato pode acarretar nesses problemas.
Abraços!
Diogo – Equipe MakerHero
Eu posso usa esse sensor DHT11 junto com um sensor de umidade do solo
Olá, Marlucio
É possível sim.
Abraços!
Diogo – Equipe MakerHero
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.
Boa sorte, Carlos!
Abraços!
Diogo – Equipe MakerHero
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
Olá Lismael,
Excelente dica!
Abraço!
Rosana – Equipe MakerHero
é obrigado usar o potenciometro né?
Olá Hosana!
Você pode suibstituir por um resistor, mas tem que testar vários valores até achar o correto.
Abraços!
André – Equipe MakerHero
Bom dia. Boa tarde. Boa noite
Como adapto este programa para uso com o i2c?
preciso muito
isto salvará meu semestre
Olá Italo!
Dê uma olhada neste post:
https://www.makerhero.com/blog/medindo-corrente-e-tensao-modulo-ina219/
Abraços!
André – Equipe MakerHero
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
Olá Guta!
Você consegue colocar outros programas na placa ou só esse dá problema?
Abraços!
André – Equipe MakerHero
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”
Olá João!
Você instalou a biblioteca corretamente?
Você deve instalá-la antes de utilizar nesse código.
Abraços!
André – Equipe MakerHero
Olá, tudo bem?
To com o seguinte problema, o display acende mas não aparece as informaçoes de temp e umidade nele.
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
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
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
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
ese circuito me sirve para sensor de temperatura pero que que se se vea en pc y con la LCD
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
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
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?
No “Kit Arduino Advanced” que eu comprei não veio potenciômetro. Tem como fazer ele funcionar sem?
tem como mostrar a maior temperatura e a menor temperatura como seria o sketch.
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!
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/
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/
Perfeito a funcionar à primeira tentativa.
o meu em vez de aperecer os valores, aparece “nan” alguém pode mim ajudar?
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?
Alguém poderia me dizer se esse código é C ou C++?
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
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?
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
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
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.
Obrigado
estou com um problema no meu display nao aparecem os numeros aparece NAN
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!
Ola, eu quero q quando passe de 25 graus um rele seja acionado, qual a modificação deve ser feita no codigo?
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 🙂
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);
}
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.
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).
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.
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);
}
oque voce estava incluindo?
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 ?
Bom dia Danilo,
Que tipo de menu seria ? pode explicar melhor ?
Abraço
Adilson – Equipe MakerHero
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
gostaria de saber porque na hora de verificar aparece erro nessa parte DHT dht(DHTPIN, DHTTYPE); ?
Consigo ligar mais de um sensor e utilizando uma tela 16×4 exibir a informação desses dois sensores? Abraços.
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!!!!
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
Eu comprei o módulo I2C, mas agora o que eu altero no programa para funcionar o display com DHT11?
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.
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
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
Posso por exemplo : Se a temperatura for maior que determinada temperatura acender um LED na protoboard? É muito dificil?
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
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!
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
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!!!!
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.
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
Olá, gostaria de saber qual sensor de temperatura mostra os valores exatos… ex 35.5º. Obrigado
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
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?
Bom dia Gustavo,
Não entendi essa questão de desligar e ligar o Arduino, ele apresenta algum erro ?
Abraço.
Adilson – Equipe MakerHero
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?
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 /?
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.
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
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.
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
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!
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
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?
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
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
gostaria de saber no kit arduino beginning vem o sensor DHT11
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
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
Boa noite Josimar,
Funciona sim, sem problemas, você só precisa da programação adequada.
Abraço.
Adilson – Equipe MakerHero
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.
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.
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
Boa tarde,
Teoricamente sim, dependendo dos componentes que você for usar.
Abraço.
Adilson – Equipe MakerHero
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
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?
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.
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
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
Boa noite Anderson,
No módulo I2C você faz isso pelo próprio programa, pelo comando lcd.setBacklight(HIGH).
Adilson – Equipe MakerHero
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.
o meu tambem estava com o mesmo problema…fiz novamente o download da biblioteca e reinstalei…funcionou perfeito…
Boa noite,
Qual erro está apresentando ?
Adilson – Equipe MakerHero
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.
Boa tarde Bruno,
Pode sim, sem problemas.
Abraço.
Adilson – Equipe MakerHero
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.
Brother tenho um raspberry pi posso ter o mesmo sucesso com a Prototype Shield para Raspberry Pi + o Sensor DTH11 ?
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
Boa noite,
Conectei tudo conforme o post, mas não aparece simplesmente nada no meu lcd
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
Se usar um arduino mega2560 e um sensor DHT22, usando as mesmas configurações deste post, funciona?
Boa tarde Fernanda,
Ainda não testamos esse sensor com o Mega2560.
Abraço.
Adilson – Equipe MakerHero
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
Boa tarde Diego,
Essa mensagem parece ser alguma problema na instalação da biblioteca.
Grato.
Adilson – Equipe MakerHero
Diego, conseguiu resolver seu problema?
Troque o nome da pasta da Biblioteca pra apenas DHT.
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.
É só usar um resistor
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
Boa tarde Rafael,
Você consegue enviar as informações para o serial monitor e ver se o problema persiste ?
Grato.
Adilson – Equipe MakerHero
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.
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?
Boa tarde,
O ideal seria você testar com outro DHT11. Você comprou esse módulo aqui na MakerHero ?
Grato.
Adilson – Equipe MakerHero
Cara, estou com o mesmo problema.
Temperatura fica 0.0
umidade fica nan
Nao tenho outro sensor pra testar, tem alguma sugestao?
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
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?
Você precisa instalar a biblioteca DHT que se encontra disponivel no começo da postagem.
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!
Cara, você é um santo. To fazendo um projeto pro meu tecnólogo também e não tava conseguindo resolver esse erro. Valeu!
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
Boa noite,
Qual erro está apresentando ?
Abraços.
Adilson – Equipe MakerHero
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 -.-
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
//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
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
Boa noite Manoel,
Pode nos informar qual erro apresenta quando você compila o programa ?
Grato.
Adilson – Equipe MakerHero
Boa noite Manoel,
Pode nos passar o que está acontecendo ? o erro é do programa, na hora de compilar ?
Grato.
Adilson – Equipe MakerHero
Amigo qual software você utiliza para a montagem virtual e simulação deste circuito?
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
fritzing
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?
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