ESPTOP 10 DHTTOP 10 lecturas de temperatura y humedad en la pantalla OLED usando Arduino IDE

ESPTOP 10 DHTTOP 10 lecturas de temperatura y humedad en la pantalla OLED usando Arduino IDE

ESP32 es una placa de microcontrolador avanzada que puede ejecutar múltiples instrucciones para generar salidas. Se utiliza una pantalla OLED para mostrar diferentes tipos de datos. Usando ESP32 con el sensor DHT11 podemos tomar lecturas de temperatura y humedad. Todos estos datos se pueden representar a través de una pantalla OLED. Este tutorial cubre todos los pasos necesarios para interactuar estos sensores con ESP32.

Este tutorial cubre el siguiente contenido:

1: Introducción al sensor DHT11

2: DHT11 Sensor Pinout

2.Sensor DHT11 de 1: 3 pines

2.2: 4 pin sensor DHT11

3: Módulo de pantalla OLED con ESP32

4: Instalación de las bibliotecas requeridas

4.1: Biblioteca Arduino para el sensor DHT

4.2: Biblioteca Arduino para pantalla OLED

5: Interfaño ESP32 con sensor DHT11

5.1: esquema

5.2: código

5.3: salida

1: Introducción al sensor DHT11

DHT11 es uno de los sensores de monitoreo de temperatura y humedad utilizados en la comunidad electrónica. Es más preciso para dar temperatura y humedad relativa. Emite una señal digital calibrada que se escupe en dos lecturas diferentes de temperatura y humedad.

Utiliza la técnica de adquisición de señal digital que brinda confiabilidad y estabilidad. El sensor DHT11 contiene un componente de medición de humedad de tipo resistivo y presenta un componente de medición de temperatura NTC. Ambos se integran a un microcontrolador altamente eficiente de 8 bits que ofrece una respuesta rápida, capacidad anti-interferencia y rentabilidad.

Aquí hay algunas especificaciones técnicas principales de DHT11:

    • El sensor DHT11 funciona a un voltaje de 5V a 5.5V.
    • La corriente de funcionamiento mientras se mide es 0.3MA y durante el tiempo de espera es 60UA.
    • Emite datos en serie en señal digital.
    • La temperatura del sensor DHT11 varía de 0 ° C a 50 ° C.
    • Rango de humedad: 20% a 90%.
    • Precisión de ± 1 ° C para la medición de la temperatura y ± 1% para lecturas de humedad relativa.

Como hemos cubierto una introducción básica al sensor DHT11, ahora avancemos hacia el pinout de DHT11.

2: DHT11 Sensor Pinout

La mayoría de las veces el sensor DHT11 viene en dos configuraciones de pin diferentes. El sensor DHT11 que viene en la configuración de 4 pines tiene 3 pines que no funcionan o etiquetado como sin conexión.

El módulo del sensor DHT11 de 3 pin viene en tres pines que incluyen potencia, GND y pin de datos.

Sensor DHT11 de 1: 3 pines

La imagen dada muestra 3 configuraciones de pin del sensor DHT11.


Estos tres pines son:

1. Datos Temperatura de salida y humedad en datos en serie
2. VCC Potencia de entrada 3.5V a 5.5V
3. Gnd GND de circuito

2: 4 pin sensor DHT11

La siguiente imagen ilustra el módulo sensor de 4 pin DHT11:


Estos 4 pines incluyen:

1. VCC Potencia de entrada 3.5V a 5.5V
2. Datos Temperatura de salida y humedad en datos en serie
3. CAROLINA DEL NORTE Sin conexión o no se usa
4. Gnd GND de circuito

3: Módulo de pantalla OLED con ESP32

La pantalla OLED viene principalmente con dos protocolos de comunicación diferentes. Los dos protocolos son I2C y SPI. La interfaz periférica en serie (SPI) es generalmente más rápida que I2C, pero preferimos I2C sobre el protocolo SPI, ya que requirió un número menor de pines.

La siguiente imagen ilustra el diagrama de conexión ESP32 con 128 × 64 píxeles (0.96 ") Pantalla OLED.


A continuación se muestra la tabla de conexión:


Una vez que ESP32 está interactuado con una pantalla OLED, el siguiente paso en la lista es instalar todas las bibliotecas requeridas para la programación ESP32 utilizando Arduino IDE.

4: Instalación de las bibliotecas requeridas

Aquí vamos a interactuar dos sensores diferentes con ESP32, por lo que ambos requieren bibliotecas separadas para operar. Ahora instalaremos bibliotecas para la pantalla DHT11 y OLED.

1: Biblioteca Arduino para el sensor DHT

Abra Arduino IDE, ve a: Sketch> incluir biblioteca> Administrar bibliotecas

Alternativamente, también podemos abrir el Administrador de la biblioteca desde el botón lateral en la interfaz Arduino IDE.

Busque la biblioteca DHT e instale la última versión actualizada. La biblioteca DHT ayudará a leer los datos del sensor.


Después de instalar la biblioteca DHT a continuación, tenemos que instalar un biblioteca de sensores unificados por Adafruit.

2: Biblioteca Arduino para pantalla OLED

Múltiples bibliotecas están disponibles en Arduino IDE para programar ESP32 con una pantalla OLED. Aquí usaremos dos bibliotecas de AdaFruit: SSD1306 y GFX Library.

Abra IDE y haga clic en Biblioteca Manager y busque la biblioteca OLED SSD1306. Instale la biblioteca SSD1306 por Adafruit desde la barra de búsqueda.

Alternativamente, uno también puede ir a: Sketch> incluir biblioteca> Administrar bibliotecas


La próxima biblioteca que necesitamos instalar es el Gfx Biblioteca de Adafruit.


Hemos instalado bibliotecas tanto para la pantalla OLED como para el sensor DHT11. Ahora podemos interactuar fácilmente con ESP32.

5: Interfaño ESP32 con sensor DHT11 y OLED

Para la interfaz de ESP32 con el sensor DHT11 necesitamos un PIN digital para leer datos del sensor y para alimentar el sensor DHT11 podemos usar el pin 3V3 o el pin de Vin de ESP32.

Para Pins I2C Pins I2C OLED SDA y SCL se utilizarán. Para alimentar podemos usar VIN o un pin 3V3 de ESP32.

1: esquema

En la imagen dada podemos ver el diagrama esquemático de ESP32 con DHT11 y para la salida se utiliza una pantalla OLED. Esta imagen representa el módulo de sensor de 3 pines que interface con ESP32. Recuerde conectar una resistencia de extracción de 10kΩ.


Del mismo modo, 4 pin DHT11 también se puede conectar, la única diferencia aquí es el 3 pin que no sirve o no se llama conexión. El pin de datos está en el pin 2 del sensor.

La pantalla OLED está conectada con los pines I2C SDA y SCL en D21 y D22 respectivamente.

2: código

Conecte ESP32 con PC y abra Arduino IDE. Cargue el código dado a la placa ESP32.

#Include /*Incluya la biblioteca de comunicación de cables* /
#incluir
#Include /*OLED Display Library* /
#incluir
#InClude /*Biblioteca de sensores de temperatura y humedad* /
#define screen_width 128 /*OLED PANTAL ANCHO 128 PIXELS* /
#define screen_height 64 /*OLED PANTAL SUTIGHT 64 PIXELS* /
AdaFruit_SSD1306 Display (Screen_Width, Screen_height, & Wire, -1); /*SSD1306 I2C Inicialización de visualización*/
#define el pin de señal Dhtpin 4 /*para el sensor DHT11* /
#Define DHTTYPE DHT11
Dht dht (dhtpin, dhttype);
setup () void
De serie.comenzar (115200);
DHT.comenzar();
si(!mostrar.begin (SSD1306_SWITCHCAPVCC, 0x3c)) /*I2C Dirección en la que OLED está conectado* /
De serie.println (f ("fallado de asignación SSD1306"));
para(;;);

retraso (2000);
mostrar.ClearDisplay ();
mostrar.setTextColor (blanco); / *Color de texto de salida White */

bucle void ()
retraso (5000);
flotante t = dht.readTemperature (); /*Leer temperatura*/
flotante h = dht.readHumidity (); /*leer humedad*/
if (isnan (h) || isnan (t))
De serie.println ("No se pudo leer del sensor DHT!");

mostrar.ClearDisplay (); /*Clare la pantalla OLED antes de mostrar la lectura*/
mostrar.setTextSize (1); /*Tamaño de fuente de texto OLED*/
mostrar.setCursor (0,0);
mostrar.imprimir ("temperatura:");
mostrar.setTextSize (2);
mostrar.setCursor (0,10);
mostrar.imprimir (t); /*Temperatura de impresión en Celsius*/
mostrar.imprimir(" ");
mostrar.setTextSize (1);
mostrar.CP437 (verdadero);
mostrar.escribir (167);
mostrar.setTextSize (2);
mostrar.imprimir ("C");
mostrar.setTextSize (1);
mostrar.setCursor (0, 35);
mostrar.imprimir ("Humedad:");
mostrar.setTextSize (2);
mostrar.setCursor (0, 45);
mostrar.imprimir (h); /*Imprime porcentaje de humedad*/
mostrar.imprimir(" %");
mostrar.mostrar();


Código iniciado al incluir las bibliotecas necesarias para los sensores OLED y DHT11. Después de que se definen las dimensiones de la pantalla OLED. A continuación, el tipo de sensor DHT se define en caso de que esté utilizando DHT22, reemplácelo en consecuencia.

En la parte de configuración, se inicializa el sensor DHT y la pantalla OLED. La pantalla OLED está conectada a una dirección I2C de 0x3c. En caso de que uno desee verificar la dirección I2C, cargue el código dado en este artículo.

Los valores de temperatura y humedad se almacenan dentro de la variable flotante T y H respectivamente. Después de eso, ambos valores se imprimen en una pantalla OLED.

3: salida

En la salida podemos ver la temperatura y humedad medidas en tiempo real que se muestran en la pantalla OLED.



Hemos completado con éxito la interfaz de ESP32 con el sensor DHT11 y la pantalla OLED.

Conclusión

Las pantallas OLED con ESP32 pueden mostrar múltiples datos que se leen utilizando los sensores externos. Aquí este artículo cubre todos los pasos para interactuar ESP32 con el sensor DHT11 para medir la temperatura y la humedad de una habitación. Después de eso, todos los datos de lectura se muestran en el módulo de pantalla OLED I2C.