Icono del sitio CiberTips

DHT con NodeMCU Esp8266 + IDE Arduino

DHT

El DHT es un sensor digital de temperatura y humedad relativa de bajo costo y fácil uso. Integra un sensor capacitivo de humedad y un termistor para medir el aire circundante, y muestra los datos mediante una señal digital en el pin de datos.

¿Cómo conectar el DHT?

Para conectar el DHT11 al Esp8266 necesitaremos:

Como podrás observar el sensor tiene 3 pin (VCC, DATA, GND) a los cual le pondremos un conector a cada uno. El conector que esta en VCC la otra punta la ponemos en VCC del Node que sería 3.3V, el que está conectado Data lo colocamos en D4 ya que por ese pin el sensor estará enviando la información y por último GND del sensor a GND del Node.

¿Qué más necesitamos?

Para hacer que nuestro programa reconozca el sensor debemos de incluir dos librerías en nuestro programa, las cuales son DHT-sensor y adafruit_sensor. Los links de descarga son los siguientes.

DHT-Sensor: http://www.arduinolibraries.info/libraries/dht-sensor-library

Adafruit_Sensor: http://forum.arduino.cc/index.php?topic=413067.0

¿Cómo incluir las librerías?

Para incluir las librerías abrimos el IDE Arduino y vamos a Programa/ Incluir Librería/ Añadir biblioteca .ZIP…

Buscamos la ubicación del archivo y aceptamos. Vale aclarar que una vez incluidas la librerias no es necesario volverlo a hacer para un nuevo proyecto.

¿Cómo hacer que funcione?

En el código lo primero que tenemos que hacer es incluir la biblioteca del DHT, luego definimos que tipo de DHT es en este caso es DHT11.

Ahora configuraremos el pin al cual va a estar conectado el sensor donde uint8_t es lo mismo que un byte o sea un tipo de entero sin signo de longitud 8 bits, seguido de esto el nombre del pin al cual está conectado el DHT que yo nombre como DHTPin igualado a 2 que es el GPIO de D4.

Declaramos las variables con las cuales vamos a representar más adelante los parámetros en el monitor serie.

En el setup comenzamos iniciando el monitor serie en 9600 baud como lo indica el Node. Pasamos a declarar la función del pin al cual está conectado el sensor, en este caso es entrada INPUT ya que por ahí estaremos recibiendo los datos e iniciamos el sensor.

En el loop le damos paso a la lectura de los parámetros igualando las variables que declaramos.

Estos parámetros los visualizaremos en el monitor serie por tanto debemos de escribir estos parámetros en el monitor serie con el comando Serial.print y Serial.println.

Subimos el programa y una vez que lo hemos subido abrimos el monitor serie para observar si está funcionando.

#include "DHT.h"
#define DHTTYPE DHT11
//Pin del sensor
uint8_t DHTPin=2;
DHT dht(DHTPin, DHTTYPE);
float Temp;
float Hum;
void setup() {
Serial.begin(9600);
//Configuración del pin DHT
pinMode(DHTPin, INPUT);
dht.begin();
}
Void loop() {
//Lectura del DHT
    Temp = dht.readTemperature();
    Hum = dht.readHumidity();
Serial.println(“La temperatura es de: ”);
Serial.print(Temp);
Serial.println(“La humedad es de: ”);
Serial.print(Hum);
}

Para ver nuestro tutorial anterior: https://ciber-tips.com/efectos-con-leds-ide-arduino/

Salir de la versión móvil