# ====================
# Código principal LCD
# ====================
from machine import Pin, SoftI2C
from pico_i2c_lcd import I2cLcd
from time import sleep
# Dirección y dimensiones del LCD
I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
# Inicializa I2C y LCD
i2c = SoftI2C(sda=Pin(4), scl=Pin(5), freq=400000)
#Configuración pines 4 y 5 para la comunicación I2C y la frec. de comunicación,
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
# Función para desplazar el mensaje
def scroll_message(message, delay=0.3):#es la función para el scroll
message = " " * I2C_NUM_COLS + message + " "
for i in range(len(message) - I2C_NUM_COLS + 1):
lcd.move_to(0, 0)
lcd.putstr(message[i:i + I2C_NUM_COLS])
sleep(delay)
try:
lcd.putstr("Testing scroll!")#mensaje que aparecerá al incio por 2 segundos
sleep(2)
#Llamado de la fucnioón " message_scroll"y después del igual el mensaje que se
#quier desplegar
message_scroll = "This is a scrolling message with more than 16 characters"
while True:
lcd.clear()#limpia el LCD
scroll_message(message_scroll)#nuevamente se llama a la función para
#hacer el corrimeinto
except KeyboardInterrupt:
print("Keyboard interrupt")
lcd.backlight_off()
lcd.display_off()