Lista de materiales:
¿Cómo conectar el DHT22 a un ESP32?
El sensor DHT22 tiene 4 pines, el pin de tierra o GND, señal o datos, null y alimentación VCC que va desde 3.3 V hasta 5V. Para conectarlo a la placa 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 y conectar una resistencia de 10k en modo Pull-up, entre el pin de Datos y VCC. En la siguiente imagen podrás ver como hacer la conexión.¿Como programar el DHT22 con el IDE de Arduino?
Para programar el sensor DHT22 con el IDE de Arduino necesitaras 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, utilizando el monitor serie, pero antes debes de tener las placas ESP32 instaladas en el IDE de Arduino, puedes consultar como hacerlo dando clic Aquí, ya que instalaste las placas de ESP32, 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 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); }