I2C LCD con Esptop 10 usando Micrypthon y Thonny IDE

I2C LCD con Esptop 10 usando Micrypthon y Thonny IDE

ESP32 es una placa de microcontrolador que puede interactuar múltiples hardware y sensores. LCD y OLED son excelentes formas de mostrar y dar una representación gráfica a la salida requerida. Este tutorial cubre la interfaz de pantalla LCD con tableros ESP32 usando Micrypthon en Thonny ide.

¿Qué es Micopython?

Micrypthon está escrito en C y es una implementación de software para Python 3, principalmente se dirige a aplicaciones de sistemas integrados. Sin embargo, no puede ejecutar completamente las bibliotecas estándar de Python 3. Micrypthon es una variante de Python y diseñada específicamente para sistemas integrados. Hoy implementaremos Micrypthon en una placa ESP32 usando Thonny IDE.

Antes de avanzar, asegúrese de instalar Thonny IDE para programar la placa ESP32. Descargar Thonny ide haga clic aquí.

¿Qué es la pantalla de cristal líquido (LCD)?

La pantalla LCD o de cristal líquido es un dispositivo que funciona aplicando un voltaje variable a una capa de cristal líquido que induce cambios en las propiedades ópticas de LCD.

Hoy cubriremos una pantalla LCD de 16 × 2 con tablero ESP32, sin embargo, otros tamaños de LCD también deberían funcionar. LCD que tienen un tamaño de 16 Cross 2 pueden mostrar 16 caracteres dentro de una sola línea y hay un total de dos líneas en este modelo específico. LCD contiene una pantalla de matriz de puntos alfanuméricos que puede mostrar un total de 224 caracteres.

También podemos usar esta LCD directamente con ESP32 como lo hicimos con Arduino, sin embargo, requiere una cantidad tensa de trabajo duro y uno debe lidiar con un montón de cables. Para evitar esto, usaremos un módulo I2C con LCD que solo requiere dos cables para operar que son SDA y SCL.

Además, I2C LCD viene con un potenciómetro que puede ajustar el brillo de la pantalla LCD sin necesidad de resistencia variable externa para controlar el brillo LCD.

Pin i2c Función
Gnd Alfiler
VCC Alfiler
SDA Pin utilizado para el intercambio de datos
SCL Pin utilizado para el reloj sincrónico

Piezas necesarias para interactuar LCD con ESP32

Antes de avanzar, le recomendamos que recopile las siguientes partes para este tutorial:

  • Esp32 doit Devkit Wreom
  • LCD 16x2
  • Interfaz serie I2C
  • Tablero de circuitos
  • Cables de jersey

Cableado el LCD al ESP32

El cableado de un LCD con ESP32 es simple, solo conecte el pin SDA y SCL en el pin 21 y 22 de GPIO respectivamente.

La siguiente es la configuración de PIN para referencia:

Preparación de Thonny IDE para ESP32

Como el hardware está listo para tomar el código, ahora abra Thonny IDE y cargue el código. Antes de interfactar cualquier dispositivo I2C, debemos conocer la dirección I2C de ese dispositivo respectivo. Los dispositivos I2C cuentan con una dirección única para ellos. Para muchos dispositivos, la dirección predeterminada para I2C es 0x27 donde 0x muestra el maleficio formato del número.

Se recomienda obtener la dirección I2C cada vez mientras interactúa un nuevo dispositivo.

Obtener la dirección LCD

Conecte la placa ESP32 con PC y abra Thonny IDE. Escriba el siguiente código dado en el editor de Thonny IDE. Cargue el código en el tablero ESP32 usando el botón de reproducción en la parte superior.

Código

Este código está escrito para PIN 21 (SDA) y PIN 22 (SCL). Si está utilizando cualquier otra placa como ESP8266, reemplace el número de PIN en consecuencia.

máquina de importación
sdapin = máquina.PIN (21) #para ESP32
sclpin = máquina.Pin (22)
i2c = máquina.I2C (SDA = SDAPIN, SCL = SCLPIN, FREQ = 10000)
dispositivos = i2c.escanear()
Si len (dispositivos) == 0:
Imprimir ("No hay dispositivo I2C !")
demás:
Imprimir ('Dispositivos I2C encontrados:', Len (dispositivos))
para dispositivos en dispositivos:
imprimir ("en la dirección:", hex (dispositivo))

Producción

La siguiente salida aparecerá en el terminal de shell aquí, podemos ver que la dirección I2C para LCD es 0x27.

Bibliotecas de micrypthon LCD I2C

Para interactuar ESP32 con I2C LCD se requieren dos bibliotecas de micryphon diferentes. Usaremos estas dos bibliotecas: LCD_API.Py e I2C_LCD.py. Copie estas dos bibliotecas desde el enlace dado y cree dos archivos nuevos dentro de Thonny IDE. Guardar ambas bibliotecas en ESP32 o en las tablas respectivas como se muestra en la imagen a continuación.

Paso 1: Crear dos archivos nuevos y pegar ambas bibliotecas por separado. Para guardarlo en el tablero ESP32, vaya a: Archivo> Guardar como

Paso 2: Aparecerá una ventana emergente seleccionar el dispositivo Micrypthon. Asegúrese de que la placa ESP32 esté conectada a la PC.

Paso 3: Escriba el nombre del archivo de las bibliotecas y haga clic en DE ACUERDO.

Nota: Recuerde, mantenga el mismo nombre exacto que LCD_API.py y i2c_lcd.py.

Guarde los dos archivos de la biblioteca y cree un nuevo archivo con el nombre principal.py Donde estaremos escribiendo el código principal de Micrypthon para I2C LCD.

Etapa 4: Una vez que se crean los tres archivos, podemos verlos en el editor de Thonny IDE. Podemos cerrar el archivo de bibliotecas y simplemente abrir principal.py para escribir y cargar el código LCD I2C.

Mostrar texto en LCD

Escriba el código que se da a continuación en Thonny IDE y haga clic en el botón de reproducción mencionado para cargar el código en la placa ESP32.

Código

Escribir el código dado en la ventana del editor Thonny IDE ayudará a interactuar I2C LCD con ESP32 Board.

máquina de importación
Desde el pin de importación de la máquina, softi2c
Desde LCD_API import lcdapi
Desde i2c_lcd import i2clcd
Desde el tiempo de sueño
I2c_addr = 0x27
TotalRows = 2
TotalColumns = 16
i2c = softi2c (scl = pin (22), sda = pin (21), freq = 10000) #i2c para ESP32
#i2c = i2c (scl = pin (5), sda = pin (4), freq = 10000) #i2c para ESP8266
LCD = I2CLCD (I2C, I2C_ADDR, TotalRows, TotalColumns)
Mientras que es cierto:
lcd.PUTSTR ("Linuxhint.com ")
Dormir (10)
lcd.claro()

El código anterior comenzó llamando a Softi2C y Clase PIN desde el módulo de la máquina. También hemos agregado un módulo de sueño para dar demora. A continuación, llamamos a las dos bibliotecas importantes LCD_API.py y i2c_lcd.py Acabamos de guardar dentro de la carpeta ESP32.

La siguiente dirección I2C 0x27 se define después de que definimos las filas y columnas totales dentro de la pantalla LCD aquí en nuestro caso es 16 × 2. Si usa cualquier otro tamaño de pantalla, cambie las filas y columnas.

Para mostrar el texto una cadena Linuxhint.comunicarse se define.

Producción

En la salida podemos ver la cadena definida en la pantalla LCD.

Conclusión

Micrypthon es un lenguaje diseñado específicamente para el sistema integrado. Usando dos bibliotecas LCD_API.py y i2c_lcd.py Podemos interactuar fácilmente el I2C LCD con ESP32. Para la programación de ESP32 con Micopython, se usa Thonny IDE. Este artículo es una guía sobre la pantalla LCD de interfaz con ESP32.