Cómo interactuar LCD con Esptop 10 usando Arduino IDE

Cómo interactuar LCD con Esptop 10 usando Arduino IDE

ESP32 es un microcontrolador basado en IoT que puede procesar múltiples instrucciones al igual que Arduino, pero se produce de forma predeterminada con Bluetooth y WiFi. ESP32 es un tablero independiente que puede ayudar a otro sistema a reducir su carga porque puede actuar como maestro o dispositivo de esclavos. Al igual que Arduino, también podemos interactuar una pantalla LCD con ESP32. Discutamos cómo hacer esto en detalle.

Interfactar LCD con ESP32 usando Arduino IDE

I2C LCD puede mostrar procesos de datos durante la programación en una pantalla. Proporciona una representación visual de los datos recibidos de sensores, módulos o microcontroladores. LCD se puede integrar sin usar el módulo I2C, pero el beneficio de usar I2C es que solo usa dos cables SDA y SCL Para comunicar los datos que dan como resultado varios E/S gratuitos en ESP32 que se pueden utilizar para integrar otros dispositivos.

Además, tiene un potenciómetro a bordo que puede controlar el brillo de la pantalla LCD simplemente ajustando la perilla del potenciómetro.

Cableado el LCD al ESP32 con I2C

Conecte el módulo I2C con ESP32 usando PIN Digital PIN 21 y 22 de ESP32. A continuación, la imagen dada representa conexiones de I2C con la pantalla ESP32 y LCD. El pin SDA de I2C está conectado con el pin 21 de GPIO de ESP32 y de manera similar, el pin SCL de I2C se une con el PIN 22 de GPIO.

La tabla a continuación representa la conexión de ESP32 con I2C.

I2C LCD ESP32
Gnd Gnd
VCC Empuje
SDA GPIO 21
SCL GPIO 22

Instalación de la biblioteca LiquidCrystal_i2c en Arduino IDE

Una vez que se completa el circuito, conecte la placa ESP32 con PC. Ahora abra el ideal y ve a Gerente de biblioteca buscar Cristal líquido I2C biblioteca. Instale la biblioteca dada por Frank de Brabander.

Una vez que haga clic en los archivos de la biblioteca de instalación, comenzará a descargar, tras la instalación exitosa, recibirá un mensaje instalado de biblioteca en la ventana de salida.

Obtener la dirección LCD

Antes de conectar cualquier dispositivo I2C con ESP32, es importante tener en cuenta en qué dirección está conectado ese dispositivo específico. Algunos módulos tienen las direcciones I2C predeterminadas escritas en mientras que algunos de ellos no tienen instrucciones para verificar las direcciones I2C.

Para resolver este problema, tenemos un cable Código de biblioteca que verifica todos los dispositivos I2C conectados y en qué dirección están conectados a ESP32. Esto ayudará a depurar y mejorar el circuito ESP32.

#Include /*Incluya alambre.H Biblioteca*/
Configuración vacía ()

Cable.comenzar(); /*Inicio de comunicación de cable I2C*/
De serie.comenzar (115200); /*BAUD TASA SET para la comunicación en serie*/
mientras (!De serie); /*Esperando la salida en serie en el monitor serial*/
De serie.println ("\ Ni2c Scanner");

bucle vacío ()

byte err, adr; /*El error variable se define con la dirección de i2c*/
int number_of_devices;
De serie.println ("escaneo.");
número_of_devices = 0;
para (ADR = 1; ADR < 127; adr++ )

Cable.beginTransmission (ADR);
err = cable.Endtransmission ();
if (err == 0)

De serie.imprimir ("dispositivo I2C en la dirección 0x");
if (ADR < 16)
De serie.imprimir ("0");
De serie.imprimir (ADR, hex);
De serie.println (" !");
Number_of_devices ++;

más if (err == 4)

De serie.imprimir ("Error desconocido en la dirección 0x");
if (ADR < 16)
De serie.imprimir ("0");
De serie.println (ADR, hex);


if (number_of_devices == 0)
De serie.println ("No i2c dispositivo conectado \ n");
demás
De serie.println ("hecho \ n");
retraso (5000); /*Espere 5 segundos para el siguiente escaneo I2C*/

Este código ayudará a encontrar el número de dispositivos I2C y su dirección en la que están conectados. Este código se conoce comúnmente como código de escáner I2C.

Primero, incluimos un "Cable.H " biblioteca. Luego, en la parte de configuración del código, hemos comenzado esta biblioteca. Después de eso inicializamos la comunicación en serie definiendo la tasa de baudios 9600. Esto ayudará a ver la salida sobre el monitor en serie.

En la sección del bucle, definimos dos variables "errar" y "ADR". Entonces definimos otra variable "Dispositivos" y establecerlo en cero. Después de eso a para El bucle se inicializa con valores entre 0 y 127.

A continuación, ingresamos la dirección al cable usando cable.beginTransmission (), El escáner I2C buscará el reconocimiento de dispositivos y su dirección. El valor leído se almacenará en la variable "error". El valor de retorno será igual a 0 si el dispositivo reconoce la dirección de lo contrario el valor se convertirá en 4. A continuación, hemos utilizado una condición IF que imprima la dirección del dispositivo I2C si el valor es <16. Final address of the device is printed in Hexadecimal form.

La salida de dispositivos conectados a ESP32 sobre protocolos I2C se verá como como se muestra en el diagrama a continuación. Aquí 0x3c es la dirección del I2C LCD mientras 0x27 es la dirección del OLED pantalla.

Mostrar texto en la pantalla LCD

Mostrar texto en un LCD usando ESP32 es muy simple. Todo lo que necesitamos es seleccionar la fila y la columna de LCD donde queremos mostrar caracteres. A continuación se muestra un programa muy simple que se muestra "Linuxhint ESP32".

#incluir
/* Inicializar columnas y filas LCD*/
int lcd_columns = 16;
int lcd_rows = 2;
/* Establecer dirección LCD, número de columnas y filas*/
/* Para saber sobre la dirección I2C (0x27), ejecute un boceto de escáner I2C*/
LiquidCrystal_i2c LCD (0x27, LCD_COLUMNS, LCD_ROWS);
setup () void
/* Inicializar LCD*/
lcd.en eso();
/* Encienda la luz de fondo LCD*/
lcd.iluminar desde el fondo();

bucle void ()
/*Establecer el cursor en la primera columna, primera fila*/
lcd.setCursor (0, 0);
/* Mensaje de impresión*/
lcd.imprimir ("Linuxhint ESP32");
retraso (1000);
/*borra la pantalla para imprimir un nuevo mensaje*/
lcd.claro();

Al escribir código, lo primero que necesitamos es llamar a la biblioteca de cristal líquido que instalamos.

#incluir

Las siguientes dos líneas representan las filas y columnas de la pantalla LCD donde necesitamos texto para mostrar. Si está utilizando una pantalla de otro tamaño, cambie la fila y la columna en consecuencia.

int lcd_columns = 16;
int lcd_rows = 2;

Luego mostraremos la dirección I2C en la que está conectado el módulo LCD I2C. En nuestro caso es 0x27. Si está utilizando una versión similar de LCD, puede ser lo mismo que el nuestro, de otro modo ejecuta el código de verificación de dirección dado anteriormente.

LiquidCrystal_i2c LCD (0x27, LCD_COLUMNS, LCD_ROWS);

A continuación, inicializamos la pantalla y la luz de fondo de la LCD usando los siguientes comandos.

lcd.en eso();
lcd.iluminar desde el fondo();

Para mostrar texto, el comando LCD cursor se usa 0 corresponde a la primera columna y fila.

lcd.setCursor (0, 0);

Después de eso, el LCD.La función print () se usa para mostrar texto, luego borrosamos la pantalla usando lcd.claro().

lcd.imprimir ("Linuxhint ESP32");
lcd.claro();

Producción

La salida del código representa caracteres definidos en el programa en la pantalla LCD.

Conclusión

Cubrimos todos los pasos para conectar una pantalla LCD con ESP32 usando el módulo I2C. Para conectar la pantalla LCD, primero debemos instalar la biblioteca utilizando el administrador de la biblioteca. Luego, utilizando la dirección I2C correcta, podemos enviar cualquier datos que deseemos a la pantalla LCD.