import machine
import time
from esp32_i2c_lcd import I2cLcd
# Endereço I2C do LCD, geralmente é 0x27 ou 0x3F
I2C_ADDR = 0x27
totalRows = 4
totalCols = 20
# Configura as portas I2C do ESP32
# Pinagem padrão:
# SDA: GPIO 21
# SCL: GPIO 22
i2c = machine.I2C(0, scl=machine.Pin(22), sda=machine.Pin(21))
# Inicializa o display LCD
lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalCols)
# Limpa o display
lcd.clear()
# Mensagem de inicialização
print("Display LCD 20x4 I2C - Micropython - ESP32")
lcd.putstr("Display LCD 20x4")
lcd.putstr("\n")
lcd.putstr("Wokwi e MicroPython")
# Loop principal para atualizar o display
while True:
lcd.clear()
# Linha 1
lcd.move_to(0, 0)
lcd.putstr("Wokwi - Micropython")
# Linha 2
lcd.move_to(0, 1)
lcd.putstr("Exemplo para LCD")
# Linha 3
lcd.move_to(0, 2)
lcd.putstr("Contador: " + str(int(time.ticks_ms() / 1000)))
# Linha 4
lcd.move_to(0, 3)
lcd.putstr("ESP32 + I2C")
time.sleep(1) # Aguarda 1 segundo