#Ejemplo de control de salidas de un CD74HC4067 por canales
#Carlosys 2023. Tarragona
import machine
from machine import Pin
import utime
# Selección pines multiplexor
S0 = machine.Pin(14, Pin.OUT)
S1 = machine.Pin(15, Pin.OUT)
S2 = machine.Pin(16, Pin.OUT)
S3 = machine.Pin(17, Pin.OUT)
# Pin para habilitar el multiplexor
ActivaMulti = machine.Pin(26, machine.Pin.OUT)
# Activa el multiplexor
ActivaMulti.value(1)
# Función para seleccionar un canal en el multiplexor
def select_channel(channel):
S0.value(channel & 0x01)
S1.value((channel >> 1) & 0x01)
S2.value((channel >> 2) & 0x01)
S3.value((channel >> 3) & 0x01)
# Bucle principal
while True:
print("*** Recorro todos los canales ***")
print("=================================")
for channel in range(16):
select_channel(channel)
print(f"Canal {channel} OK")
utime.sleep(0.5) # Tiempo encendido led