CONTENIDO ►
La mayoría de los proyectos de Arduino para principiantes implican la adquisición de datos ambientales, como las estaciones meteorológicas. Suelen utilizar el módulo sensor de temperatura DHT11, barato e inexacto, que normalmente sólo mide la temperatura, y la humedad sólo depende indirectamente del entorno. Por lo tanto, si se desea una medición realmente precisa, es mejor utilizar un sensor de temperatura y humedad DHT22.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- sensor DHT22 / AM2302;
- pantalla OLED 128×64;
- LEDs y resistencias de 220 Ohm;
- protoboard y cables de conexion;
- librerias DHT.h y OLED_I2C.h
Sensor DHT22 Arduino datasheet, pinout

Características DHT22 / AM2302:
- voltaje de operación: 3V – 6V DC
- rango de medición de temperatura: -40°C a 80 °C
- precisión de medición de temperatura: <±0.5 °C
- resolución temperatura: 0.1°C
- rango de medición de humedad: De 0 a 100% RH
- precisión de medición de humedad: 2% RH
- resolución Humedad: 0.1%RH
- tiempo de sensado: 2s
El sensor AM2302 puede alimentarse de 3,3 a 6 V, lo que significa que puede utilizarse con todo tipo de Arduino. Utiliza un protocolo de un solo cable para la comunicación, que no es compatible con el DHT11. Los rangos de medición van de -40°C a 80°C, y la humedad relativa de 0 a 100%. Errores típicos de ±2% de humedad y menos de 0,5°C de temperatura. Este sensor de temperatura Arduino ofrece la mayor precisión de cualquier sensor.
Cómo conectar el sensor DHT22 Arduino

El diagrama de cableado para el DHT22 no es diferente del ejemplo del sensor DHT11 y el programa en sí difiere sólo por una línea donde especificamos el tipo de sensor – DHT22 Arduino, en lugar de DHT11. Una vez que hayas montado el circuito con los LEDs y el DHT22 como se muestra en la imagen de arriba – carga el siguiente programa de ejemplo simple con la biblioteca universal DHT.h, que es adecuada para ambos módulos.
Programa Arduino para el sensor DHT22 y LEDs
#include "DHT.h" DHT dht(2, DHT11); #define ORANGE 12 #define GREEN 10 void setup() { dht.begin(); Serial.begin(9600); pinMode(ORANGE, OUTPUT); pinMode(GREEN, OUTPUT); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); Serial.print("Humidity: "); Serial.println(h); Serial.print("Temperature: "); Serial.println(t); if (t < 24) {digitalWrite(ORANGE, LOW); digitalWrite(GREEN, HIGH);} if (t > 24) {digitalWrite(ORANGE, HIGH); digitalWrite(GREEN, LOW);} }
Explicación del código del sensor DHT22 Arduino y LEDs:
- si desea obtener los valores de temperatura y humedad sin decimales, utilice el tipo de datos int, en lugar de float;
- las condiciones de encendido y apagado de los LEDs se pueden modificar.

| OLED i2c 0,96 | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| VDD | 5V | 5V | 5V |
| SDA | A4 | A4 | 20 |
| SCL | A5 | A5 | 21 |
Tenga en cuenta que la distribución de pines puede variar de un fabricante a otro. Si la fuente de alimentación no está conectada correctamente, el sensor de temperatura y humedad puede funcionar mal. La pantalla OLED se conecta al Arduino a través del bus i2c situado en los pines SDA (A4) y SCL (A5) de las placas Uno / Nano. Cuando se trabaja con la placa Arduino Mega 2560, la pantalla se conecta a la i2c en los pines SDA (20) y SCL (21).
Programa Arduino para el sensor DHT22 y OLED
#include "DHT.h" DHT dht(2, DHT11); #include "OLED_I2C.h" OLED myOLED(SDA, SCL, 8); extern uint8_t BigNumbers[]; void setup() { dht.begin(); myOLED.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); myOLED.setFont(MediumNumbers); myOLED.print(String(t), LEFT, 5); myOLED.update(); myOLED.setFont(MediumNumbers); myOLED.print(String(h), LEFT, 25); myOLED.update(); delay(1000); }
Explicación del código del sensor DHT22 Arduino y OLED 0,96:
- la biblioteca OLED.h utiliza mucha memoria del microcontrolador para cargar las fuentes;
- переменные отображаются OLED 0.96 с помощью объекта String.
Conclusión. En este resumen hemos visto cómo conectar el DHT22 al Arduino. Hemos presentado algunos programas de ejemplo para transmitir la información del sensor digital al monitor de hardware del puerto IDE de Arduino y a la pantalla OLED 128×64 i2c. Hay muchos proyectos de estaciones meteorológicas Arduino con el módulo de sensor DHT22 que puedes hacer tú mismo leyendo la información de esta página.

Deja una respuesta