from machine import Pin
from time import sleep
# Definir los pines de salida
In = [Pin(0, Pin.OUT), Pin(1, Pin.OUT), Pin(2, Pin.OUT), Pin(3, Pin.OUT)] # Lista de pines de salida
# Definir los pines de entrada (botones) con pull-down
B = [Pin(4, Pin.IN, Pin.PULL_DOWN), Pin(5, Pin.IN, Pin.PULL_DOWN), Pin(6, Pin.IN, Pin.PULL_DOWN), Pin(7, Pin.IN, Pin.PULL_DOWN)] # Lista de botones
# Función para controlar el botón 1 (secuencia: [1, 0, 1, 0])
def MOTOR1(Boton):
if Boton == 1:
In[0].value(1) # Enciende LED 1
In[2].value(1) # Enciende LED 3
else:
In[0].value(0) # Apaga LED 1
In[2].value(0) # Apaga LED 3
# Función para controlar el botón 2 (secuencia: [0, 1, 0, 1])
def MOTOR2(Boton):
if Boton == 1:
In[1].value(1) # Enciende LED 2
In[3].value(1) # Enciende LED 4
else:
In[1].value(0) # Apaga LED 2
In[3].value(0) # Apaga LED 4
# Función para controlar el botón 3 (secuencia: [1, 0, 0, 1])
def MOTOR3(Boton):
if Boton == 1:
In[0].value(1) # Enciende LED 1
In[3].value(1) # Enciende LED 4
else:
In[0].value(0) # Apaga LED 1
In[3].value(0) # Apaga LED 4
# Función para controlar el botón 4 (secuencia: [0, 1, 1, 0])
def MOTOR4(Boton):
if Boton == 1:
In[1].value(1) # Enciende LED 2
In[2].value(1) # Enciende LED 3
else:
In[1].value(0) # Apaga LED 2
In[2].value(0) # Apaga LED 3
# Ciclo principal para leer entradas y controlar las secuencias de salida
while True:
MOTOR1(B[0].value()) # Controla el LED con la secuencia del botón 1
MOTOR2(B[1].value()) # Controla el LED con la secuencia del botón 2
MOTOR3(B[2].value()) # Controla el LED con la secuencia del botón 3
MOTOR4(B[3].value()) # Controla el LED con la secuencia del botón 4
sleep(0.1) # Pausa pequeña para evitar rebotes de los botones