# Encabezado
# Clase Semaforo
# by Jorge Anzaldo
# date : 07/10/2025
from machine import Pin
import time
# +-------------------------------------------------------------------------------
# | Definicion de y desarrollo de clases |
# +-------------------------------------------------------------------------------
class Led:
def __init__(self,numeroPin):
self.numeroPin = numeroPin
self.led=Pin(self.numeroPin,Pin.OUT)
print(f"El objeto {self} fue construido")
def prender(self,tiempo=0):
self.led.on()
time.sleep(tiempo)
if tiempo!=0:
self.led.off()
def apagar(self,tiempo=0):
self.led.off()
time.sleep(tiempo)
def parpadear(self,veces=5):
for i in range(veces):
self.prender(0.2)
self.apagar(0.2)
def __str__(self):
return f"led conectado al pin {self.numeroPin}"
def __del__(self):
print(f"El objeto {self} fue destruido")
# +-------------------------------------------------------------------------------
# | V A R I A B L E S G L O B A L E S |
# +-------------------------------------------------------------------------------
led_verde = Led(4)
led_amarillo = Led(16)
led_rojo = Led(17)
led_morado = Led(5)
# ===============================================================================
# || ||
# || P R O G R A M A / F U N C I O N P R I N C I P A L ||
# || ||
# ===============================================================================
if __name__ == '__main__':
while True :
led_morado.prender()
led_verde.prender(3)
led_amarillo.parpadear()
led_rojo.prender(3)