Código de LED Corrigido

Aquí tienes el código corregido:

Python


import board
import digitalio
import time

# Definir 7 pines de los segmentos
leds = [board.GP8, board.GP9, board.GP10, board.GP11, board.GP12, board.GP13, board.GP14]

# Definir pin para cátodo común
common_catode = board.GP15

# Configurar los pines de los segmentos como salidas digitales
segment_pins = [digitalio.DigitalInOut(pin) for pin in leds]
for segment_pin in segment_pins:
    segment_pin.direction = digitalio.Direction.OUTPUT

# Configurar la salida digital del cátodo común
common_catode_pin = digitalio.DigitalInOut(common_catode)
common_catode_pin.direction = digitalio.Direction.OUTPUT

# Definir los patrones de los LEDs para los dígitos 0 a 9 (estándar para display de 7 segmentos)
digit_patterns = [
    [1, 1, 1, 1, 1, 1, 0],  # Dígito 0
    [0, 1, 1, 0, 0, 0, 0],  # Dígito 1
    [1, 1, 0, 1, 1, 0, 1],  # Dígito 2
    [1, 1, 1, 1, 0, 0, 1],  # Dígito 3
    [0, 1, 1, 0, 0, 1, 1],  # Dígito 4
    [1, 0, 1, 1, 0, 1, 1],  # Dígito 5
    [1, 0, 1, 1, 1, 1, 1],  # Dígito 6
    [1, 1, 1, 0, 0, 0, 0],  # Dígito 7
    [1, 1, 1, 1, 1, 1, 1],  # Dígito 8
    [1, 1, 1, 1, 0, 1, 1]   # Dígito 9
]

def display_digit(digit):
    for i in range(7):
        segment_pins[i].value = digit_patterns[digit][i]
    common_catode_pin.value = False  # Activa el cátodo común (display activo en bajo)
    time.sleep(0.5)

# Programa principal
while True:
    for digit in range(10):
        display_digit(digit)
Cambios realizados:
  • Se cambió la variable segments por leds para definir los pines de los segmentos.
  • Se corrigió el bucle de inicialización, usando el nombre correcto segment_pins en vez de segments_pins.
  • Se ajustó la llamada a display_digit utilizando la variable digit en el bucle.
  • Se corrigieron los patrones para mostrar 7 elementos por dígito, siguiendo la convención de un display de 7 segmentos.
Prueba este código y avísame si necesitas más ayuda.
Test the code execution
Add error handling
Optimize display timing

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.

    Formidable Aqua X-Wing

    Formidable Aqua X-Wing 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