"""
#CONTADOR BINARIO DE 8 BITS
import board
import digitalio
import time
#DEFINE LOS LEDS
led_pins = [
board.GP0, board.GP1, board.GP2, board.GP3,
board.GP4, board.GP5, board.GP6, board.GP7
]
#CONFIGURA LOS LEDS COMO SALIDAS DIGITALES
leds = [digitalio.DigitalInOut(pin) for pin in led_pins]
for led in leds:
led.direction = digitalio.Direction.OUTPUT
#FUNCION QUE ACTUALIZA 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, 256):
update_leds(counter)
time.sleep(0.039)
# counter = (counter + 1) % 256
print (counter)
counter = 0
update_leds(counter)
"""
"""
#SEMAFORO DOBLE
import board
import digitalio
import time
#DEFINE LOS LEDS
# V1 A1 R1 V2 A2 R2
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
[1, 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
]
#Funcion para desplegar un patron 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)
"""
#DISPLAY 7 SEGMENTOS
import board
import digitalio
import time
#DEFINE LOS SEGMENTOS
# a b c d e f g
segments = [board.GP8, board.GP9, board.GP10, board.GP11, board.GP12, board.GP13, board.GP14]
#Define pin para catodo comun
common_catode = board.GP15
#Configura los Leds como salidas digitales
segment_pins = [digitalio.DigitalInOut(pin) for pin in segments]
for segment_pin in segment_pins:
segment_pin.direction = digitalio.Direction.OUTPUT
#Configura la salida digital del cátodo
common_catode_pin = digitalio.DigitalInOut(common_catode)
common_catode_pin.direction = digitalio.Direction.OUTPUT
#Define los patrones del display de 7 segmentos para los digitos 0 a 9
digit_patterns = [
[1, 1, 1, 1, 1, 1, 0], #Numero 0
[0, 1, 1, 0, 0, 0, 0], #Numero 1
[1, 1, 0, 1, 1, 0, 1], #Numero 2
[1, 1, 1, 1, 0, 0, 1], #Numero 3
[0, 1, 1, 0, 0, 1, 1], #Numero 4
[1, 0, 1, 1, 0, 1, 1], #Numero 5
[0, 0, 1, 1, 1, 1, 1], #Numero 6
[1, 1, 1, 0, 0, 0, 0], #Numero 7
[1, 1, 1, 1, 1, 1, 1], #Numero 8
[1, 1, 1, 0, 0, 1, 1] #Numero 9
]
#Funcion para desplegar un digito en el 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)
#Programa principal
while True:
for digit in range (10):
display_digit(digit)
pico:GP0
pico:GP1
pico:GND.1
pico:GP2
pico:GP3
pico:GP4
pico:GP5
pico:GND.2
pico:GP6
pico:GP7
pico:GP8
pico:GP9
pico:GND.3
pico:GP10
pico:GP11
pico:GP12
pico:GP13
pico:GND.4
pico:GP14
pico:GP15
pico:GP16
pico:GP17
pico:GND.5
pico:GP18
pico:GP19
pico:GP20
pico:GP21
pico:GND.6
pico:GP22
pico:RUN
pico:GP26
pico:GP27
pico:GND.7
pico:GP28
pico:ADC_VREF
pico:3V3
pico:3V3_EN
pico:GND.8
pico:VSYS
pico:VBUS
led1:A
led1:C
led2:A
led2:C
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2
r7:1
r7:2
led3:A
led3:C
led4:A
led4:C
r8:1
r8:2
led5:A
led5:C
led6:A
led6:C
led7:A
led7:C
led8:A
led8:C
sevseg1:COM.1
sevseg1:COM.2
sevseg1:A
sevseg1:B
sevseg1:C
sevseg1:D
sevseg1:E
sevseg1:F
sevseg1:G
sevseg1:DP