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()