'''
#-------------------------------------------------------------------------------
# Practica 09.10 - lcd_i2c_test
#
# Practica creada y editada por: Equipo 7
# Aguilar Garrido Anibal zs20015554
# Cordova Dominguez jocselyn Xitlali zs20015651
# Hernandez Perez Josue Guadalupe zs20015604
# Xalapa, Veracruz, México
--------------------------------------------------------------------------
09.10 - Uso de la pantalla LCD 4x20 con CI PCF8574 I2C (hardware I2C)
Este programa explica cómo mostrar texto en una pantalla LCD de 4X20.
Esta pantalla utiliza al circuito transceptor PCF8574 I2C en lugar de la
conexión paralela nativa para ahorrar en terminales, sólo emplea dos.
Se requieren módulos (emplear las versiones ESP32) que se encuentran aquí:
lcd_api.py: https://github.com/dhylands/python_lcd/blob/master/lcd/lcd_api.py
esp8266_i2c_lcd.py: https://github.com/dhylands/python_lcd/blob/master/lcd/esp8266_i2c_lcd.py
Componentes
----------
-ESP32
- LCD 2x16 (como el HD44780) con la mochila PCF8574.
- TIERRA --> TIERRA
- VCC --> 5V
- SDA --> GPIO 21 (HW SDA ID 0)
- SCL --> GPIO 22 (HW SCL ID 0)
- Alambres
- Protoboard
Curso:
'''
from machine import SoftI2C, Pin
from utime import sleep_ms
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
# Configuración de la pantalla LCD I2C
I2C_ADDR = 0x27
totalRows = 4
totalColumns = 20
# Configuración de pines I2C
scl_pin = Pin(22)
sda_pin = Pin(21)
i2c = SoftI2C(scl=scl_pin, sda=sda_pin, freq=400000)
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns)
lcd.clear()
counter = 0
while True:
lcd.move_to(0, 0)
lcd.putstr("Demo LCD 20x4")
lcd.move_to(0, 1)
counter = counter + 1
lcd.putstr("Contador: %d" % (counter))
print("Contador: %d" % (counter))
sleep_ms(1000) # Utiliza sleep_ms en lugar de sleep