from machine import Pin, I2C
import ssd1306
# ESP32 Pin assignment
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
oled.text('Hello, Wokwi!', 10, 10)
oled.show()
from machine import Pin, I2C
import ssd1306
import utime
# Asignación de pines para ESP32
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
# Dimensiones de la pantalla OLED
oled_width = 128
oled_height = 64
# Crear una instancia de la pantalla OLED
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
def display_time():
current_time = utime.localtime()
formatted_time = "{:02d}:{:02d}:{:02d}".format(current_time[3], current_time[4], current_time[5])
oled.fill(0)
oled.text('Hello, Wokwi!', 10, 10)
oled.text(formatted_time, 10, 30)
oled.show()
while True:
display_time()
utime.sleep(1) # Actualizar cada segundo
En este código, hemos definido una función display_time() que obtiene la hora actual de la PC utilizando utime.localtime() y la formatea en el formato HH:MM:SS. Luego, usamos el método oled.fill(0) para limpiar la pantalla, escribimos "Hello, Wokwi!" en la posición (10, 10), y mostramos la hora en la posición (10, 30).
El bucle while True asegura que el reloj se actualice continuamente, mostrando la hora actualizada cada segundo. La función utime.sleep(1) se utiliza para esperar un segundo entre cada actualización.
Recuerda que para ejecutar este código, debes asegurarte de tener las bibliotecas ssd1306, machine y utime instaladas en tu entorno de MicroPython en el ESP32.