Pi pico Larson Scanner part 3
Following Saturdays STEM Group meet up,  Where Vance has rewirtten my scanner program so that it is more efficient.   I have included the new code below.   I have now made an improvement by adding a 10 segment LED display and getting this working my modifying the code that Vance helped me with.
The new code, using an array to store pin numbers is below
#flash on board pico led
# updated 1/7/2023 - working code
import machine 
import utime
# Vance
led_pins = [11,12,13,14,15]
#delay = input("Time Delay: ")
#bind leds gpip to variables
leds = []
for pin in led_pins:
    # Set to output
    leds.append(machine.Pin(pin, machine.Pin.OUT))
    # Turn the LED off
    leds[-1].value(0) #off
    
    
utime.sleep(3)
delay = 0.1 #set delay
while True:
    # Led sequence upwards
    for led in leds: 
        led.value(1)
        utime.sleep(delay)
        led.value(0)
   
    # Led sequence downwards
    for led in leds[-1:0:-1]:
        led.value(1)
        utime.sleep(delay)
        led.value(0)       
While my new code modification is here.
# use 10 led segment display
led_pins = [1,2,3,4,5,6,7,8,9,]
Which is just 1 line of actual code and a comment.  The result of this is presented in the video below.  I had to resolder the board with the LED display on as it had some joints missing.
Video
The video can be found here
Tags
#uPython,#RaspberryPiPico,#LarsonScanner,#PhysicalComputing
 
	
	
Pi pico Larson Scanner part 2
Further to the previous post. I spent some time on this, trying to fix the problem.  This is mostly re-written.
I have also made the lights run faster as per video below
Code is below.
delay = 0.05 #set delay
I would recommand a delay of 1 second for testing purposes, so it is easier to try and follow the code as it is running.
#flash on board pico led
# updated 1/7/2023 - working code
import machine 
import utime
#delay = input("Time Delay: ")
#bind LEDs / GPIO pins to variables
ledg = machine.Pin(11, machine.Pin.OUT) #green
ledb = machine.Pin(12, machine.Pin.OUT) # blue led
ledw = machine.Pin(13, machine.Pin.OUT) # white led
ledy = machine.Pin(14, machine.Pin.OUT) # yellow led
ledr = machine.Pin(15, machine.Pin.OUT) # red led 
#turn all LEDs off 
ledg.value(0) #off
ledb.value(0) #off
ledw.value(0) #off
ledy.value(0) #off
ledr.value(0) #off
utime.sleep(3)
#utime.sleep(2) # TWO second delay
#led_onboard = machine.Pin(25, machine.Pin.OUT)
delay = 0.05 #set delay
#ledg.value(0) ledg.value(1)
#ledb
#ledw
#ledy
#ledr
#g b w y r y w b -< repeat so therefore next led is back to g
while True:
    ledg.value(1)#on
    utime.sleep(delay)
    ledb.value(1) #on
    utime.sleep(delay)  
    ledg.value(0)#on
    utime.sleep(delay)
    ledw.value(1)
    utime.sleep(delay)
    ledb.value(0)
    utime.sleep(delay)
    ledy.value(1)
    utime.sleep(delay)
    ledw.value(0)
    utime.sleep(delay)
    ledr.value(1)
    utime.sleep(delay)
    ledy.value(0)
    utime.sleep(delay)
    ledr.value(1)
    utime.sleep(delay)
    ledy.value(1)
    utime.sleep(delay)
    ledr.value(0)
    utime.sleep(delay)
    ledw.value(1)
    utime.sleep(delay)
    ledy.value(0)
    utime.sleep(delay)
    ledb.value(1)
    utime.sleep(delay)
    ledw.value(0)
    utime.sleep(delay)  
Tags
#uPython,#RaspberryPiPico,#LarsonScanner,#PhysicalComputing