I bought Raspberry Pi Pico and set everything up. It worked flawlessly but now sometimes i have error near sleep(0.001)
sometimes it works, sometimes it doesn't. I have two 7-segment displays and i want to turn them on and off accordingly. Unfortunately after a while the code started to freak out around the sleep. It needs to be so small to make diodes appear bright and enables them to show different numbers. anyway, here's my code (I'm still working on making numbers from 7 to 9 appear too but the error showed up and I couldn't figure out why)
from machine import Pin
from time import sleep
en_pins = [18, 19, 20, 21, 13, 12, 11, 10]
gnd_pins = [9, 22]
en = []
gnd = []
for i in range(len(en_pins)):
en.append(Pin(en_pins[i], Pin.OUT))
en[i].value(0)
for i in range(len(gnd_pins)):
gnd.append(Pin(gnd_pins[i], Pin.OUT))
gnd[i].value(0)
def turnOn(to):
for i in range(len(to)):
if i == 0:
to[len(to) - 1].value(0)
else:
to[i - 1].value(0)
to[i].value(1)
sleep(0.001)
to[len(to) - 1].value(0)
def numbers(num):
if num == 1: return [en[0], en[6]]
elif num == 2: return [en[1], en[2], en[3], en[5], en[6]]
elif num == 3: return [en[0], en[1], en[3], en[5], en[6]]
elif num == 4: return [en[0], en[1], en[6], en[7]]
elif num == 5: return [en[0], en[1], en[3], en[5], en[7]]
elif num == 6: return [en[0], en[1], en[2], en[3], en[5], en[6]]
elif num == 7: return [en[0], en[1], en[2], en[3], en[5], en[6], en[7]]
elif num == 8: return [en[0], en[1], en[2], en[3], en[5], en[6], en[7]]
elif num == 9: return [en[0], en[1], en[2], en[3], en[5], en[6], en[7]]
elif num == 0: return [en[0], en[1], en[2], en[3], en[5], en[6], en[7]]
while True:
gnd[0].value(0)
gnd[1].value(1)
turnOn(numbers(2))
gnd[1].value(0)
gnd[0].value(1)
turnOn(numbers(6))