Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Tutorial Arduino: Domine Temperatura e Umidade com Sensores DHT11 e DHT22

Neste tutorial Arduino, aprenderemos como usar o sensor DHT11 ou DHT22 para medir temperatura e umidade com a placa Arduino. Você pode assistir ao vídeo a seguir ou ler o tutorial escrito abaixo para mais detalhes.

Visão Geral

Esses sensores são muito populares entre entusiastas de eletrônica porque são muito baratos, mas ainda oferecem excelente desempenho. Aqui estão as principais especificações e diferenças entre os dois sensores:

O DHT22 é a versão mais cara, obviamente com melhores especificações. Sua faixa de medição de temperatura vai de -40 a +125 graus Celsius com precisão de ±0,5 graus, enquanto a faixa do DHT11 é de 0 a 50 graus Celsius com precisão de ±2 graus. Além disso, o sensor DHT22 tem melhor faixa de medição de umidade, de 0 a 100% com precisão de 2-5%, enquanto a faixa do DHT11 é de 20 a 80% com precisão de 5%.

Tutorial Arduino: Domine Temperatura e Umidade com Sensores DHT11 e DHT22

Existem duas especificações onde o DHT11 é melhor que o DHT22. A taxa de amostragem: o DHT11 faz 1Hz (uma leitura por segundo), enquanto o DHT22 faz 0,5Hz (uma leitura a cada dois segundos). Também o DHT11 tem tamanho corporal menor. A tensão de operação de ambos os sensores varia de 3 a 5 volts, enquanto a corrente máxima usada durante a medição é de 2,5mA.

Você pode obter esses componentes em qualquer um dos sites abaixo:

  • Sensor DHT11……………………………..
  • Sensor DHT22…………………………….
  • Placa Arduino ……………………………
  • Protoboard e Jumpers ………

Princípio de Funcionamento do DHT11 / DHT22

Agora vamos ver como esses sensores realmente funcionam. Eles consistem em um componente sensor de umidade, um sensor de temperatura NTC (ou termistor) e um CI no verso do sensor.

Tutorial Arduino: Domine Temperatura e Umidade com Sensores DHT11 e DHT22

Para medir a umidade, eles usam o componente sensor de umidade que possui dois eletrodos com substrato retentor de umidade entre eles. À medida que a umidade muda, a condutividade do substrato muda ou a resistência entre esses eletrodos muda. Essa mudança de resistência é medida e processada pelo CI, tornando-a pronta para ser lida por um microcontrolador.

Tutorial Arduino: Domine Temperatura e Umidade com Sensores DHT11 e DHT22

Por outro lado, para medir a temperatura, esses sensores usam um sensor de temperatura NTC ou um termistor.

Um termistor é na verdade um resistor variável que altera sua resistência com a mudança de temperatura. Esses sensores são feitos pela sinterização de materiais semicondutores, como cerâmicas ou polímeros, para fornecer maiores mudanças na resistência com apenas pequenas mudanças de temperatura.

Tutorial Arduino: Domine Temperatura e Umidade com Sensores DHT11 e DHT22

O termo "NTC" significa "Coeficiente de Temperatura Negativo", o que significa que a resistência diminui com o aumento da temperatura.

Esquemático do Circuito

Os sensores DHTxx têm quatro pinos: VCC, GND, pino de dados e um pino não conectado sem uso. Um resistor pull-up de 5K a 10K Ohms é necessário para manter a linha de dados alta e permitir a comunicação entre o sensor e a placa Arduino. Existem versões desses sensores que vêm com placas breakout com resistor pull-up embutido e têm apenas 3 pinos.

Tutorial Arduino: Domine Temperatura e Umidade com Sensores DHT11 e DHT22

Os sensores DHTXX possuem seu próprio protocolo de fio único usado para transferir dados. Este protocolo requer temporização precisa e os diagramas de temporização para obter os dados dos sensores podem ser encontrados nas folhas de dados dos sensores. No entanto, não precisamos nos preocupar muito com esses diagramas porque usaremos a biblioteca DHT que cuida de tudo.

Tutorial relacionado: Aprenda como construir uma Estação Meteorológica Sem Fio baseada em Arduino

Código Fonte

Primeiro, precisamos incluir a biblioteca DHT, que pode ser encontrada no site oficial do Arduino, depois definir o número do pino ao qual nosso sensor está conectado e criar um objeto DHT. Na seção setup, precisamos iniciar a comunicação serial porque usaremos o monitor serial para imprimir os resultados. Usando a função read22(), leremos os dados do sensor e colocaremos os valores de temperatura e umidade nas variáveis t e h. Se você usar o sensor DHT11, precisará usar a função read11(). No final, imprimiremos os valores de temperatura e umidade no monitor serial.

/* DHT11/ DHT22 Sensor Temperature and Humidity Tutorial * Program made by Dejan Nedelkovski, * www.HowToMechatronics.com */ /* * You can find the DHT Library from Arduino official website * https://playground.arduino.cc/Main/DHTLib */ #include <dht.h> #define dataPin 8 // Defines pin number to which the sensor is connected dht DHT; // Creats a DHT object void setup() { Serial.begin(9600); } void loop() { int readData = DHT.read22(dataPin); // Reads the data from the sensor float t = DHT.temperature; // Gets the values of the temperature float h = DHT.humidity; // Gets the values of the humidity // Printing the results on the serial monitor Serial.print("Temperature = "); Serial.print(t); Serial.print(" *C "); Serial.print(" Humidity = "); Serial.print(h); Serial.println(" % "); delay(2000); // Delays 2 secods, as the DHT22 sampling rate is 0.5Hz }Code language: Arduino (arduino)

Após carregar este código na placa Arduino, os resultados de temperatura e umidade do sensor podem ser vistos no Monitor Serial.

Também fiz um exemplo onde mostro os resultados em um LCD. Aqui está o código fonte desse exemplo:

/* DHT11/ DHT22 Sensor Temperature and Humidity Tutorial * Program made by Dejan Nedelkovski, * www.HowToMechatronics.com */ /* * You can find the DHT Library from Arduino official website * https://playground.arduino.cc/Main/DHTLib */ #include <LiquidCrystal.h> // includes the LiquidCrystal Library #include <dht.h> #define dataPin 8 LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) dht DHT; void setup() { lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } void loop() { int readData = DHT.read22(dataPin); float t = DHT.temperature; float h = DHT.humidity; lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed lcd.print("Temp.: "); // Prints string "Temp." on the LCD lcd.print(t); // Prints the temperature value from the sensor lcd.print(" C"); lcd.setCursor(0,1); lcd.print("Humi.: "); lcd.print(h); lcd.print(" %"); delay(2000); }Code language: Arduino (arduino)

Sinta-se à vontade para fazer qualquer pergunta na seção de comentários abaixo.


Processo de manufatura

  1. Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
  2. Monitoramento Contínuo de Temperatura e Umidade no Raspberry Pi com EzTemp
  3. Usando ADC MCP3008 para Ler Sensores Analógicos com Raspberry Pi
  4. Controle Remoto Universal Android com Arduino, 1Sheeld e IR
  5. Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
  6. Registrador de Temperatura e Umidade com Arduino, DHT11 e Ethernet Shield
  7. Medição Precisa de Frequência e Ciclo de Trabalho com Arduino UNO
  8. Exibir Temperatura, Umidade e Pressão do BME280 em Touchscreen Nextion
  9. Controle Suave de Brilho de LED com Bolt IoT e Arduino UNO
  10. Leitura de Temperatura e Umidade com DHT11 no Blynk – Tutorial Arduino Passo a Passo