Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Neste tutorial, vamos testar o sensor DHT11 usando o Arduino.
O DHT11 pode ser usado para medir temperatura e umidade.
Componentes necessários:
- Arduino Nano
- Sensor DHT11 de Temperatura e Umidade
- Mini USB
- Cabos jumper
Biblioteca necessária:
Biblioteca DHT
Etapa 1: Conecte o DHT11 ao Arduino
Conecte o DHT11 ao Arduino usando cabos jumper.
Veja a foto ou siga as instruções abaixo.
DHT11 para Arduino
+ => + 5V
out => D12
- => GND
Em seguida, conecte o arduino ao computador usando um mini USB
Etapa 2: Adicionar a Biblioteca DHT
A biblioteca DHT pode ser baixada aqui:
Biblioteca DHT11.
Para adicionar uma biblioteca veja a imagem acima ou siga as instruções abaixo:
Abra Sketch ==> Incluir Biblioteca ==> adicionar Biblioteca. Zip
Encontre o arquivo de biblioteca que você baixou.
Se for bem-sucedido, feche o Arduino e abra-o novamente.
Etapa 3: Escolha a placa Arduino
Vá para Ferramentas e ajuste a placa Arduino para a imagem acima.
Placa "Arduino Nano"
Proccesor "ATmega328P (Old Bootloader)"
Para um artigo mais completo, você pode ler "Como usar o Arduino Nano v.3" que fiz anteriormente.
Etapa 4: Programa
Inclua este código para ler o valor do sensor DHT11
// Sensor de temperatura e umidade DHT // Exemplo de biblioteca de sensor unificado // Escrito por Tony DiCola para a Adafruit Industries // Distribuído sob uma licença do MIT.
// REQUER as seguintes bibliotecas Arduino:
// - Biblioteca de sensores DHT: https://github.com/adafruit/DHT-sensor-library // - Biblioteca de sensores unificados Adafruit:
#incluir
#include #include
#define DHTPIN 2 // Pino digital conectado ao sensor DHT
// Feather HUZZAH ESP8266 nota: use os pinos 3, 4, 5, 12, 13 ou 14 - // O pino 15 pode funcionar, mas o DHT deve ser desconectado durante o upload do programa.
// Remova o comentário do tipo de sensor em uso:
// # define DHTTYPE DHT11 // DHT 11 # define DHTTYPE DHT22 // DHT 22 (AM2302) // # define DHTTYPE DHT21 // DHT 21 (AM2301)
// Consulte o guia para obter detalhes sobre a fiação e uso do sensor:
//
DHT_dht unificado (DHTPIN, DHTTYPE);
uint32_t delayMS;
void setup () {
Serial.begin (9600); // Inicializa o dispositivo. dht.begin (); Serial.println (F ("Exemplo de sensor unificado DHTxx")); // Imprime os detalhes do sensor de temperatura. sensor_t sensor; dht.temperature (). getSensor (& sensor); Serial.println (F ("------------------------------------")); Serial.println (F ("Sensor de temperatura")); Serial.print (F ("Tipo de sensor:")); Serial.println (sensor.name); Serial.print (F ("Driver Ver:")); Serial.println (sensor.version); Serial.print (F ("ID exclusivo:")); Serial.println (sensor.sensor_id); Serial.print (F ("Valor máximo:")); Serial.print (sensor.max_value); Serial.println (F ("° C")); Serial.print (F ("Valor mínimo:")); Serial.print (sensor.min_value); Serial.println (F ("° C")); Serial.print (F ("Resolução:")); Serial.print (sensor.resolution); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // Imprime os detalhes do sensor de umidade. dht.humidity (). getSensor (& sensor); Serial.println (F ("Sensor de umidade")); Serial.print (F ("Tipo de sensor:")); Serial.println (sensor.name); Serial.print (F ("Driver Ver:")); Serial.println (sensor.version); Serial.print (F ("ID exclusivo:")); Serial.println (sensor.sensor_id); Serial.print (F ("Valor máximo:")); Serial.print (sensor.max_value); Serial.println (F ("%")); Serial.print (F ("Valor mínimo:")); Serial.print (sensor.min_value); Serial.println (F ("%")); Serial.print (F ("Resolução:")); Serial.print (sensor.resolution); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // Defina o atraso entre as leituras do sensor com base nos detalhes do sensor. delayMS = sensor.min_delay / 1000; }
void loop () {
// Atraso entre medições. atraso (delayMS); // Obtenha o evento de temperatura e imprima seu valor. sensores_event_t event; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println (F ("Erro ao ler a temperatura!")); } else {Serial.print (F ("Temperatura:")); Serial.print (event.temperature); Serial.println (F ("° C")); } // Obtenha o evento de umidade e imprima seu valor. dht.humidity (). getEvent (& event); if (isnan (event.relative_humidity)) {Serial.println (F ("Erro ao ler a umidade!")); } else {Serial.print (F ("Umidade:")); Serial.print (event.relative_humidity); Serial.println (F ("%")); }}
Ou baixe o arquivo abaixo do Sketch que forneci abaixo.
Em seguida, clique em upload e aguarde a conclusão.
Etapa 5: Resultado
Para ver os resultados das medições de temperatura e umidade, clique em Monitor serial. Os resultados serão exibidos lá.
Se for bem-sucedido, os resultados serão semelhantes à Figura 1
se o sensor não estiver instalado, será semelhante à imagem 2
obrigado por ler, se houver dúvidas é só escrever na coluna de comentários