"""#Programa contador binario de 8 Bits
import board
import digitalio
import time
#Se definen los Pins de los leds
led_pins = [
board.GP0, board.GP1, board.GP2, board.GP3,
board.GP4, board.GP5, board.GP6, board.GP7
]
#Ajusta los Pins como salidas digitales
leds = [digitalio.DigitalInOut(pin) for pin in led_pins]
for led in leds:
led.direction = digitalio.Direction.OUTPUT
#Función para actualizar los leds basado en el valor del
#contador binario de 8 Bits
def update_leds(counter):
for i in range(8):
leds[i].value = (counter >> i) & 0b01
#Programa principal
counter = 0
for counter in range (0,255):
update_leds(counter)
time.sleep(0.0390625)
print(counter)
counter = 0
update_leds(counter)"""
"""
#Programa Semáforo doble
import board
import digitalio
import time
# Define the GPIO pins for the 6-leds
# V1 A1 R1 V2 A2 R2
leds = [board.GP0, board.GP1, board.GP2, board.GP3, board.GP4, board.GP5]
# Set up the leds as digital outputs
led_pins = [digitalio.DigitalInOut(pin) for pin in leds]
for led_pin in led_pins:
led_pin.direction = digitalio.Direction.OUTPUT
# Define the leds patterns for sequences 0 to 9
led_patterns = [
[1, 0, 0, 0, 0, 1], # 0
[0, 0, 0, 0, 0, 1], # 1
[1, 0, 0, 0, 0, 1], # 2
[0, 0, 0, 0, 0, 1], # 3
[0, 1, 0, 0, 0, 1], # 4
[0, 0, 1, 1, 0, 0], # 5
[0, 0, 1, 0, 0, 0], # 6
[0, 0, 1, 1, 0, 0], # 7
[0, 0, 1, 0, 0, 0], # 8
[0, 0, 1, 0, 1, 0] # 9
]
# Function to display a pattern on leds
def display_pattern(sequence):
for i in range(6):
led_pins[i].value = led_patterns[sequence][i]
time.sleep(1.5)
# Main loop
while True:
for sequence in range(10):
display_pattern(sequence)
"""
#Programa Display 7 segmentos Cátodo común
import board
import digitalio
import time
# Define the GPIO pins for the 7-segment display segments
segments = [board.GP8, board.GP9, board.GP10, board.GP11, board.GP12, board.GP13, board.GP14]
# Define the GPIO pin for the common anode of the 7-segment display
common_catode = board.GP15
# Set up the segments as digital outputs
segment_pins = [digitalio.DigitalInOut(pin) for pin in segments]
for segment_pin in segment_pins:
segment_pin.direction = digitalio.Direction.OUTPUT
# Set up the common catode as a digital output
common_catode_pin = digitalio.DigitalInOut(common_catode)
common_catode_pin.direction = digitalio.Direction.OUTPUT
# Define the 7-segment display patterns for digits 0 to 9
digit_patterns = [
[1, 1, 1, 1, 1, 1, 0], # 0
[0, 1, 1, 0, 0, 0, 0], # 1
[1, 1, 0, 1, 1, 0, 1], # 2
[1, 1, 1, 1, 0, 0, 1], # 3
[0, 1, 1, 0, 0, 1, 1], # 4
[1, 0, 1, 1, 0, 1, 1], # 5
[1, 0, 1, 1, 1, 1, 1], # 6
[1, 1, 1, 0, 0, 0, 0], # 7
[1, 1, 1, 1, 1, 1, 1], # 8
[1, 1, 1, 1, 0, 1, 1] # 9
]
# Function to display a digit on the 7-segment display
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
# Main loop
while True:
for digit in range(10):
display_digit(digit)