ESP32 - Sensor de temperatura - LCD

Este tutorial explica cómo usar el ESP32 para leer la temperatura del sensor DS18B20 y mostrarla en una pantalla LCD I2C 16x2.

Hardware Requerido

1×Módulo de Desarrollo ESP32 ESP-WROOM-32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×LCD I2C
1×Sensor de Temperatura DS18B20 (con Adaptador)
1×Sensor de Temperatura DS18B20 (sin Adaptador)
1×Protoboard
1×Cables Puente
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentación para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Buy Note: Many DS18B20 sensors available in the market are unreliable. We strongly recommend buying the sensor from the DIYables brand using the link provided above. We tested it, and it worked reliably.

Acerca del sensor de temperatura y de la pantalla LCD

Tenemos tutoriales específicos sobre el sensor de temperatura y la pantalla LCD. Cada tutorial contiene información detallada e instrucciones paso a paso sobre la disposición de pines de hardware, el principio de funcionamiento, la conexión de cableado al ESP32 y el código para ESP32... Obtén más información sobre ellos en los siguientes enlaces:

Diagrama de Cableado

  • Cómo conectar ESP32 con sensor de temperatura y LCD usando breadboard
Diagrama de cableado de LCD para sensor de temperatura ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

Cómo conectar el ESP32 con un sensor de temperatura y una pantalla LCD

This image is created using Fritzing. Click to enlarge image

Código ESP32

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp32/esp32-temperature-sensor-lcd */ #include <OneWire.h> #include <DallasTemperature.h> #include <LiquidCrystal_I2C.h> #define SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DS18B20 sensor's DQ pin OneWire oneWire(SENSOR_PIN); DallasTemperature DS18B20(&oneWire); LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows float tempC; // temperature in Celsius float tempF; // temperature in Fahrenheit void setup() { DS18B20.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { DS18B20.requestTemperatures(); // send the command to get temperatures tempC = DS18B20.getTempCByIndex(0); // read temperature in Celsius tempF = tempC * 9 / 5 + 32; // convert Celsius to Fahrenheit lcd.clear(); lcd.setCursor(0, 0); // display position lcd.print(tempC); // display the temperature in Celsius lcd.print((char)223); // display ° character lcd.print("C"); lcd.setCursor(0, 1); // display position lcd.print(tempF); // display the temperature in Fahrenheit lcd.print((char)223); // display ° character lcd.print("F"); delay(500); }

※ Nota:

La dirección I2C del LCD puede variar según el fabricante. En el código, usamos la dirección 0x27, que especifica el fabricante DIYables.

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Realiza el cableado como en la imagen de arriba.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB.
  • Abre Arduino IDE en tu PC.
  • Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
  • Haz clic en el icono de Bibliotecas en la barra izquierda del Arduino IDE.
  • Busca “DallasTemperature” en la caja de búsqueda, luego busca la librería DallasTemperature de Miles Burton.
  • Haz clic en el botón Instalar para instalar la librería DallasTemperature.
Biblioteca Dallas Temperature para ESP32
  • Se le pedirá que instale la dependencia. Haga clic en el botón Instalar Todo para instalar la biblioteca OneWire.
Biblioteca OneWire para ESP32
  • Escribe “LiquidCrystal I2C” en el cuadro de búsqueda, luego busca la biblioteca LiquidCrystal_I2C de Frank de Brabander
  • Haz clic en el botón Instalar para instalar la biblioteca LiquidCrystal_I2C.
Biblioteca LiquidCrystal I2C para ESP32
  • Copia el código anterior y pégalo en el IDE de Arduino.
  • Compila y sube el código a la placa ESP32 haciendo clic en el botón Upload en el IDE de Arduino.
Cargar código en el IDE de Arduino
  • Haz que el sensor se caliente o se enfríe sosteniéndolo con la mano, o sumergiéndolo en agua caliente y fría.
  • Mira el resultado en la pantalla LCD.

Si la pantalla LCD no muestra nada, consulte Solución de problemas en LCD I2C

Explicación del código línea por línea

El código ESP32 anterior contiene una explicación línea por línea. ¡Por favor, lea los comentarios del código!

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!