from machine import Pin
from utime import sleep
# from nombre import Carlos_Gomez
"""
La programación debe cumplir las siguientes condiciones:
🟢 Botón verde: ejecuta una secuencia de encendido de los
tres LEDs de izquierda a derecha.
🟡 Botón amarillo: ejecuta la secuencia en sentido contrario, de derecha a izquierda,
y posteriormente hace que los 3 LEDs parpadeen simultáneamente 2 veces.
🔴 Botón rojo: enciende cada LED individualmente 2 veces,
siguiendo el orden establecido.
"""
def prendeApagaModo(led):
for modo in modos:
led.value(modo)
sleep(0.3)
#por el boton verde
def botonverde(packLeds):
btnPrecionado = True
for led in packLeds:
prendeApagaModo(led)
btnPrecionado = False
#por el boton amarillo
def prendeApagaTodo(pa):
for led in packLeds:
led.value(pa)
sleep(0.3)
def dobleParpadeo(packLeds):
vueltas = 0
while vueltas < 2:
for modo in modos:
prendeApagaTodo(modo)
vueltas += 1
def botonamarillo(packLeds):
btnPrecionado = True
for led in packLeds[::-1]:
prendeApagaModo(led)
sleep(0.3)
dobleParpadeo(packLeds)
btnPrecionado = False
#por el boton rojo
def botonrojo(packLeds):
btnPrecionado = True
for led in packLeds:
prendeApagaModo(led)
sleep(0.3)
prendeApagaModo(led)
sleep(0.3)
btnPrecionado = False
############base
amarillo = Pin(16, Pin.OUT)
verde = Pin(17, Pin.OUT)
rojo = Pin(18, Pin.OUT)
packLeds = [amarillo, verde, rojo]
btnAmarillo = Pin(15, Pin.IN, Pin.PULL_DOWN)
btnVerde = Pin(14, Pin.IN, Pin.PULL_DOWN)
btnRojo = Pin(13, Pin.IN, Pin.PULL_DOWN)
btnPrecionado = False
modos = [1, 0]
while True:
if btnPrecionado == False:
if btnVerde.value() == 1:
botonverde(packLeds)
if btnAmarillo.value() == 1:
botonamarillo(packLeds)
if btnRojo.value() == 1:
botonrojo(packLeds)