from machine import Pin
import time

class Led:
    def __init__(self, pin, color):
        self.pin = Pin(pin, Pin.OUT)
        self.color = color
        print(f'Objeto {self} construido')

    def mensaje(self, texto):
        print(f"{self.color}: {texto}")

    def prender(self):
        self.pin.value(1)
        self.mensaje("prendido")

    def apagar(self):
        self.pin.value(0)
        self.mensaje("apagado")

    def pausar(self, tiempo):
        time.sleep(tiempo)

    def parpadear(self, iteraciones):
        for i in range(iteraciones):
            self.prender()
            time.sleep(0.2)
            self.apagar()
            time.sleep(0.2)

    def __del__(self):
        print(f"Objeto {self} destruido")

ledRojo = Led(15, "Rojo")      
ledAmarillo = Led(4, "Amarillo")   
ledVerde = Led(2, "Verde")      

print("\033[2J\033[1;1H]]")
if __name__ == '__main__':
    while True:
     
        ledRojo.mensaje('ALTO')
        ledRojo.prender()
        ledRojo.pausar(3)
        ledRojo.apagar()   
        print("\033[2J\033[1;1H]]")

     
        ledAmarillo.mensaje('PRECAUCION')
        ledAmarillo.prender()
        ledAmarillo.pausar(1)
        ledAmarillo.apagar()
        print("\033[2J\033[1;1H]]")


        ledVerde.mensaje('SIGA')
        ledVerde.prender()
        ledVerde.pausar(3)
        ledVerde.apagar()
        print("\033[2J\033[1;1H]]")