# Encabezado
# Clase Semaforo
# by Jorge Anzaldo
# date : 31/03/2025
# Librerias o modulos
from machine import Pin
import time
# Definicion de funciones o clase
class Semaforo:
def __init__(self,nombre,l1, l2, l3):
self.nombre = nombre
self.ledRojo = l1
self.ledAmarillo = l2
self.ledVerde = l3
print(f'El objeto{self}fue construido')
def alto(self,tiempoAlto):
self.ledRojo.on()
time.sleep(tiempoAlto)
self.ledRojo.off()
def preventiva(self,tiempoPreventiva):
for i in range(tiempoPreventiva):
self.ledAmarillo.on()
time.sleep(0.5)
self.ledAmarillo.off()
time.sleep(0.5)
def siga(self,tiempoSiga):
self.ledVerde.on()
time.sleep(tiempoSiga)
self.ledVerde.off()
def __str__(self):
return f'{self.nombre}'
def __del__(self):
print(f'El objeto {self} fue destruido')
# Crear vaiable u objetos globales
led1 = Pin(17,Pin.OUT)
led2 = Pin(16,Pin.OUT)
led3 = Pin(4,Pin.OUT)
s1 = Semaforo(' Semaforo 1 ',led1,led2,led3)
# funcion o bloque principal
if __name__ == '__main__':
while True:
s1.alto(5)
s1.siga(5)
s1.preventiva(3)