Revisión de Código de Switches

puedes revisar la configuracion de mis swicth es que no funcionan a la hora de probarlos o simularlos aqui esta el codigo: import time import digitalio import board
switch_1= digitalio.DigitalInOut(board.GP16) switch_1.switch_to_input(pull = digitalio.Pull.DOWN)
switch_2= digitalio.DigitalInOut(board.GP17) switch_2.switch_to_input(pull = digitalio.Pull.DOWN)
def contador_binario(): led_pins = [ board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5, board.GP6, board.GP7 ]
leds = [digitalio.DigitalInOut(pin) for pin in led_pins]
for led in leds:
    led.direction = digitalio.Direction.OUTPUT

def update_leds(counter):
    for i in range(8):
        leds[i].value = (counter >> i) & 0b01

for counter in range(256):
    update_leds(counter)
    time.sleep(0.039)
    print(counter)
update_leds(0)

# Cerrar los pines
for led in leds:
    led.deinit()
def semaforo_doble(): leds = [board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5] led_pins = [digitalio.DigitalInOut(pin) for pin in leds] for led_pin in led_pins: led_pin.direction = digitalio.Direction.OUTPUT
led_patterns = [
    [1, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 1], [1, 0, 0, 0, 0, 1],
    [0, 0, 0, 0, 0, 1], [0, 1, 0, 0, 0, 1], [0, 0, 1, 1, 0, 0],
    [0, 0, 1, 0, 0, 0], [0, 0, 1, 1, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 1, 0, 1, 0]
]

def display_pattern(sequence):
    for i in range(6):
        led_pins[i].value = led_patterns[sequence][i]
    time.sleep(2.0)

for sequence in range(10):
    display_pattern(sequence)

# Cerrar los pines
for led_pin in led_pins:
    led_pin.deinit()
def display_7_segmentos(): segments = [board.GP8, board.GP9, board.GP10, board.GP11, board.GP12, board.GP13, board.GP14] common_catode = board.GP15
segment_pins = [digitalio.DigitalInOut(pin) for pin in segments]
for segment_pin in segment_pins:
    segment_pin.direction = digitalio.Direction.OUTPUT

common_catode_pin = digitalio.DigitalInOut(common_catode)
common_catode_pin.direction = digitalio.Direction.OUTPUT

digit_patterns = [
    [1, 1, 1, 1, 1, 1, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 0, 1, 1, 0, 1],
    [1, 1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1, 1], [1, 0, 1, 1, 0, 1, 1],
    [1, 0, 1, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 0, 1, 1]
]

def display_digit(digit):
    for i in range(7):
        segment_pins[i].value = digit_patterns[digit][i]
    common_catode_pin.value = False
    time.sleep(0.5)
    common_catode_pin.value = True

for digit in range(10):
    display_digit(digit)

# Cerrar los pines
for segment_pin in segment_pins:
    segment_pin.deinit()
common_catode_pin.deinit()
Menú Principal
while True: if switch_1.value==False and switch_2.value==True: display_7_segmentos()
El código parece configurar los switches de forma correcta usando el modo de entrada con pull-down. Sin embargo, ten en cuenta lo siguiente:
  • Verifica el hardware y el cableado: Asegúrate de que los pines asignados (GP16 y GP17) estén conectados correctamente a tus botones con la extración apropiada, y que en tu placa los resistores pull-down internos o externos estén funcionando adecuadamente.
  • Simulación vs. Ejecución en hardware: Flux no simula código de microcontroladores; este código se ejecuta en un entorno real de CircuitPython o similar. Si estás "simulando" en un entorno local, verifica que el entorno simulado soporte la librería digitalio y la asignación de pines.
  • Lógica de lectura: Según el condicional if switch_1.value==False and switch_2.value==True:, asegúrate de que al presionar los botones se generen los estados lógicos esperados. Recuerda que con pull-down, un botón sin señal debería leer False, y al presionarlo debería pasar a True si se usa una conexión a VCC.
Revisa estos puntos en tu montaje y prueba de código. Si el problema persiste, puede ser útil que midas los niveles lógicos en los pines con un multímetro o un osciloscopio para confirmar que el comportamiento es el esperado.
Define project purpose
Specify platform details
Begin project with switch

To get started, talk to Flux or create a New Document.

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    Dual Olive Holodeck

    Dual Olive Holodeck thumbnail
    Welcome to your new project. Imagine what you can build here.

    Properties

    Properties describe core aspects of the project.

    Pricing & Availability

    Distributor

    Qty 1

    Controls