Código de Control LED y Display

A continuación se muestran las correcciones necesarias para ambos bloques de código:

Bloque 1: Secuencia de 6 LEDs
El código es funcional. Se verifica la definición de 6 pines, la configuración como salidas y el uso de los patrones para los dígitos 0–9. Si se requiere ajustar algún patrón, se puede modificar en la lista led_patterns. El código corregido es:

Python


import board
import digitalio
import time

# Defino 6 pines
leds = [board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5]

# Configura los LEDs como salidas digitales
led_pins = [digitalio.DigitalInOut(pin) for pin in leds]
for led_pin in led_pins:
    led_pin.direction = digitalio.Direction.OUTPUT

# Define los patrones de LEDs para las secuencias 0 a 9
led_patterns = [
    [1, 0, 0, 0, 0, 1],  # Sec 0
    [0, 0, 0, 0, 0, 1],  # Sec 1
    [1, 0, 0, 0, 0, 1],  # Sec 2
    [0, 0, 0, 0, 0, 1],  # Sec 3
    [0, 1, 0, 0, 0, 1],  # Sec 4
    [0, 0, 1, 1, 0, 0],  # Sec 5
    [0, 0, 1, 0, 0, 0],  # Sec 6
    [0, 0, 1, 1, 0, 0],  # Sec 7
    [0, 0, 1, 0, 0, 0],  # Sec 8
    [0, 0, 1, 0, 1, 0]   # Sec 9
]

# Función para desplegar un patrón de LEDs
def display_pattern(sequence):
    for i in range(6):
        led_pins[i].value = led_patterns[sequence][i]
    time.sleep(2.0)

# Programa principal
while True:
    for sequence in range(10):
        display_pattern(sequence)

Bloque 2: Display de 7 segmentos
Se han corregido los siguientes errores:
  • Variable incorrecta al crear la lista de pines: Se usaba segments en lugar de la lista definida leds.
  • Error de nombre en el bucle: Se usaba segments_pins en vez de segment_pins.
  • Patrones de dígitos: Cada patrón debe tener 7 valores; se actualizaron los patrones a los valores estándar para un display de cátodo común.
  • Variable en el bucle principal: Se usaba un identificador no definido (digit); se ha corregido a digit obtenido del bucle.
La versión corregida es la siguiente:

Python


import board
import digitalio
import time

# Defino 7 pines para 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

# Configura 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

# Configura el pin del cátodo común como salida digital
common_catode_pin = digitalio.DigitalInOut(common_catode)
common_catode_pin.direction = digitalio.Direction.OUTPUT

# Define los patrones de dígitos para un display de 7 segmentos (cátodo común)
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 en un display de cátodo común
    time.sleep(0.5)

# Programa principal
while True:
    for digit in range(10):
        display_digit(digit)

Estos cambios corrigen errores de nombres, longitudes de listas y uso de variables. Revise y ajuste según las necesidades específicas de su aplicación.
Project Architecture
No schematic yet

Talk to Flux to get started.

No files yet

Documents

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

    Assets

    No assets added.

    Confident Tomato Robot Maid

    Confident Tomato Robot Maid 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