En el siguiente tutorial aprenderás a programar el módulo DHT22 usando el IDE de Arduino utilizando la placa de desarrollo ESP32 para mostrar datos de temperatura y humedad mediante el monitor serie de Arduino.
Lista de materiales:
¿Cómo conectar el DHT22 a un ESP32?
El sensor DHT22 tiene 3 pines, el pin de tierra o GND, el de señal o datos y alimentación VCC que va de 3.3 V hasta 5V. Para conectarlo al modulo ESP32 solo debes conectar el pin de VCC a la salida de 3.3v del ESP32, de igual manera conectar los pines de GND a GND y el pin datos “OUT” conectar a un pin digital del ESP32, para este caso lo conectaremos al pin D4. En la siguiente imagen podrás ver como hacer la conexión.
¿Cómo programar el DHT22 con el IDE de Arduino?
Para programar el sensor DHT22 con el IDE de Arduino necesitarás descargar la siguiente librería que nos proporciona Adafruit. Esta librería es muy sencilla de utilizar y funciona para los dos modelos, DHT, con PCB y sin PCB. En el siguiente link podrás descargar la librería.
Ya que descargaste la librería, abre el IDE de Arduino dirigirte a la pestaña programa y da un clic en “Incluir Librería” y se desplegara una ventana, selecciona la opción de “Añadir biblioteca .ZIP”, después selecciona la librería que descargaste anteriormente.
Para este tutorial usaremos la placa ESP32 para leer los datos de temperatura y humedad cada 2 segundos, pero debes tener las placas de ESP32 instaladas en el IDE de Arduino, puedes consultar como hacerlo dando clic Aquí, ya que instalaste las placas de ESP32, copia y pega el siguiente código, recuerda seleccionar la placa NodeMCU-32S, verificar el puerto COM y después compilar y cargar el código a tu ESP32.
#include <DHT.h> //Cargamos la librería DHT #define DHTTYPE DHT22 //Definimos el modelo del sensor DHT22 #define DHTPIN 4 // Se define el pin D4 del ESP32 para conectar el sensor DHT22 DHT dht(DHTPIN, DHTTYPE, 22); void setup() { Serial.begin(115200); //Se inicia la comunicación serial dht.begin(); } void loop() { float h = dht.readHumidity(); //Se lee la humedad y se asigna el valor a "h" float t = dht.readTemperature(); //Se lee la temperatura y se asigna el valor a "t" //Se imprimen las variables Serial.println("Humedad: "); Serial.println(h); Serial.println("Temperatura: "); Serial.println(t); delay(2000); }