from machine import Pin, I2C
import time
import ssd1306
# Inicialização do I2C e do display OLED
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
# Inicialização dos LEDs
red_led = Pin(4, Pin.OUT)
yellow_led = Pin(2, Pin.OUT)
green_led = Pin(0, Pin.OUT)
# Função para desligar todos os LEDs
def all_off():
red_led.value(0)
yellow_led.value(0)
green_led.value(0)
# Função para a sequência do semáforo
def traffic_light_sequence():
while True:
all_off()
red_led.value(1)
oled.fill(0) # Limpar a tela
oled.text('3', 10, 10)
oled.show()
time.sleep(3)
all_off()
red_led.value(0)
yellow_led.value(1)
oled.fill(0)
oled.text('2, se prepare', 10, 10)
oled.show()
time.sleep(2)
all_off()
green_led.value(1)
oled.fill(0)
oled.text('vaiiiiii', 10, 10)
oled.show()
time.sleep(1)
all_off()
yellow_led.value(1)
oled.fill(0)
oled.text('Yellow', 10, 10)
oled.show()
time.sleep(2)
# Executa a sequência do semáforo
traffic_light_sequence()