Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Tutorial de Arduino: Domina la Temperatura y Humedad con Sensores DHT11 y DHT22

En este tutorial de Arduino aprenderemos a utilizar los sensores DHT11 o DHT22 para medir temperatura y humedad con una placa Arduino. Puedes ver el siguiente video o leer el tutorial escrito a continuación para más detalles.

Resumen

Estos sensores son muy populares entre los aficionados a la electrónica porque son muy económicos pero ofrecen un excelente rendimiento. A continuación se muestran las principales especificaciones y diferencias entre ambos sensores:

El DHT22 es la versión más cara y, obviamente, tiene mejores especificaciones. Su rango de medición de temperatura va de -40 a +125 °C con una precisión de ±0.5 °C, mientras que el DHT11 tiene un rango de 0 a 50 °C con una precisión de ±2 °C. Además, el DHT22 tiene un mejor rango de medición de humedad, de 0 a 100% con una precisión del 2-5%, mientras que el DHT11 mide de 20 a 80% con una precisión del 5%.

Tutorial de Arduino: Domina la Temperatura y Humedad con Sensores DHT11 y DHT22

Hay dos especificaciones donde el DHT11 supera al DHT22: la tasa de muestreo, que para el DHT11 es de 1 Hz (una lectura por segundo), mientras que el DHT22 es de 0.5 Hz (una lectura cada dos segundos); y el DHT11 tiene un tamaño de cuerpo más pequeño. El voltaje de operación de ambos sensores es de 3 a 5 voltios, con una corriente máxima de 2.5 mA durante la medición.

Puedes conseguir estos componentes en cualquiera de los siguientes sitios:

  • Sensor DHT11……………………………..
  • Sensor DHT22…………………………….
  • Placa Arduino ……………………………
  • Protoboard y cables jumpers ………

Principio de Funcionamiento del DHT11 / DHT22

Ahora veamos cómo funcionan realmente estos sensores. Están compuestos por un componente sensor de humedad, un sensor de temperatura NTC (termistor) y un circuito integrado en la parte posterior.

Tutorial de Arduino: Domina la Temperatura y Humedad con Sensores DHT11 y DHT22

Para medir la humedad utilizan el componente sensor de humedad, que tiene dos electrodos con un sustrato que retiene la humedad entre ellos. A medida que cambia la humedad, la conductividad del sustrato cambia, es decir, la resistencia entre estos electrodos varía. Este cambio de resistencia es medido y procesado por el IC, dejándolo listo para ser leído por un microcontrolador.

Tutorial de Arduino: Domina la Temperatura y Humedad con Sensores DHT11 y DHT22

Por otro lado, para medir la temperatura estos sensores usan un sensor de temperatura NTC o termistor.

Un termistor es en realidad una resistencia variable que cambia su resistencia con el cambio de temperatura. Estos sensores se fabrican mediante sinterizado de materiales semiconductores como cerámicas o polímeros para proporcionar grandes cambios en la resistencia con pequeños cambios de temperatura.

Tutorial de Arduino: Domina la Temperatura y Humedad con Sensores DHT11 y DHT22

El término "NTC" significa "Coeficiente de Temperatura Negativo", lo que indica que la resistencia disminuye al aumentar la temperatura.

Esquemas de Circuito

Los sensores DHTxx tienen cuatro pines: VCC, GND, pin de datos y un pin no conectado sin uso. Se requiere una resistencia pull-up de 5K a 10K Ohmios para mantener la línea de datos alta y permitir la comunicación entre el sensor y la placa Arduino. Existen versiones de estos sensores que vienen en placas breakout con resistencia pull-up integrada y solo tienen 3 pines.

Tutorial de Arduino: Domina la Temperatura y Humedad con Sensores DHT11 y DHT22

Los sensores DHTXX utilizan su propio protocolo de un solo hilo para la transferencia de datos. Este protocolo requiere un tiempo preciso y los diagramas de temporización para obtener los datos se encuentran en las hojas de datos de los sensores. Sin embargo, no tenemos que preocuparnos mucho por estos diagramas porque utilizaremos la librería DHT que se encarga de todo.

Tutorial relacionado: Aprende a construir una estación meteorológica inalámbrica basada en Arduino.

Código Fuente

Primero necesitamos incluir la librería DHT, que se puede encontrar en el sitio web oficial de Arduino, luego definir el número de pin al que está conectado nuestro sensor y crear un objeto DHT. En la sección setup iniciamos la comunicación serial porque usaremos el monitor serial para imprimir los resultados. Usando la función read22() leeremos los datos del sensor y guardaremos los valores de temperatura y humedad en las variables t y h. Si usas el sensor DHT11 necesitarás usar la función read11(). Al final imprimiremos los valores de temperatura y humedad en el monitor serial.

/* Tutorial de Sensor de Temperatura y Humedad DHT11/ DHT22
 * Programa hecho por Dejan Nedelkovski,
 * www.HowToMechatronics.com */
 /*
 * Puedes encontrar la librería DHT en el sitio oficial de Arduino
 * https://playground.arduino.cc/Main/DHTLib */
#include <dht.h>
#define dataPin 8 // Define el número de pin al que está conectado el sensor
dht DHT; // Crea un objeto DHT
void setup() {
  Serial.begin(9600);
}
void loop() {
  int readData = DHT.read22(dataPin); // Lee los datos del sensor
  float t = DHT.temperature; // Obtiene el valor de temperatura
  float h = DHT.humidity; // Obtiene el valor de humedad
  // Imprime los resultados en el monitor serial
  Serial.print("Temperatura = ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(" Humedad = ");
  Serial.print(h);
  Serial.println(" % ");
  delay(2000); // Espera 2 segundos, ya que la tasa de muestreo del DHT22 es 0.5Hz
}Lenguaje: Arduino (arduino)

Después de subir este código a la placa Arduino, los resultados de temperatura y humedad del sensor se pueden ver en el Monitor Serial.

También hice un ejemplo donde muestro los resultados en una pantalla LCD. Aquí está el código fuente de ese ejemplo:

/* Tutorial de Sensor de Temperatura y Humedad DHT11/ DHT22
 * Programa hecho por Dejan Nedelkovski,
 * www.HowToMechatronics.com */
 /*
 * Puedes encontrar la librería DHT en el sitio oficial de Arduino
 * https://playground.arduino.cc/Main/DHTLib */
#include <LiquidCrystal.h> // incluye la librería LiquidCrystal
#include <dht.h>
#define dataPin 8
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Crea un objeto LCD. Parámetros: (rs, enable, d4, d5, d6, d7)
dht DHT;
void setup() {
  lcd.begin(16,2); // Inicializa la interfaz del LCD y especifica las dimensiones (ancho y alto)
}
void loop() {
  int readData = DHT.read22(dataPin);
  float t = DHT.temperature;
  float h = DHT.humidity;
  lcd.setCursor(0,0); // Establece la ubicación donde se escribirá el texto subsiguiente
  lcd.print("Temp.: "); // Imprime la cadena "Temp." en el LCD
  lcd.print(t); // Imprime el valor de temperatura del sensor
  lcd.print(" C");
  lcd.setCursor(0,1);
  lcd.print("Humi.: ");
  lcd.print(h);
  lcd.print(" %");
  delay(2000);
}Lenguaje: Arduino (arduino)

Siéntete libre de hacer cualquier pregunta en la sección de comentarios a continuación.


Proceso de manufactura

  1. Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
  2. Monitorización fluida de temperatura y humedad en Raspberry Pi con EzTemp
  3. Usar ADC MCP3008 para leer sensores analógicos con Raspberry Pi
  4. Mando universal Android con Arduino, 1Sheeld y control IR
  5. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  6. Registrador de Temperatura y Humedad con Arduino, DHT11 y Ethernet Shield
  7. Medición precisa de frecuencia y ciclo de trabajo con Arduino UNO
  8. Visualiza Temperatura, Humedad y Presión BME280 en Pantalla Táctil Nextion
  9. Control de brillo LED sin interrupciones con Bolt IoT y Arduino UNO
  10. Leer Temperatura y Humedad con DHT11 en Blynk – Tutorial Paso a Paso con Arduino
  11. Brazo Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil