Skip to content

Instantly share code, notes, and snippets.

@aggelis
Created February 3, 2024 14:50
Show Gist options
  • Select an option

  • Save aggelis/aedcb83d9566a34e30a71ff9b2815b55 to your computer and use it in GitHub Desktop.

Select an option

Save aggelis/aedcb83d9566a34e30a71ff9b2815b55 to your computer and use it in GitHub Desktop.
CircuitPython Lesson: Push Button & LED
import board
import digitalio
import time
btn1 = digitalio.DigitalInOut(board.GP20)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.UP
led1 = digitalio.DigitalInOut(board.GP2)
led2 = digitalio.DigitalInOut(board.GP3)
led3 = digitalio.DigitalInOut(board.GP4)
led4 = digitalio.DigitalInOut(board.GP5)
led5 = digitalio.DigitalInOut(board.GP6)
led6 = digitalio.DigitalInOut(board.GP7)
led7 = digitalio.DigitalInOut(board.GP8)
led8 = digitalio.DigitalInOut(board.GP9)
led9 = digitalio.DigitalInOut(board.GP17)
led10 = digitalio.DigitalInOut(board.GP19)
led11 = digitalio.DigitalInOut(board.GP16)
led1.direction = digitalio.Direction.OUTPUT
led2.direction = digitalio.Direction.OUTPUT
led3.direction = digitalio.Direction.OUTPUT
led4.direction = digitalio.Direction.OUTPUT
led5.direction = digitalio.Direction.OUTPUT
led6.direction = digitalio.Direction.OUTPUT
led7.direction = digitalio.Direction.OUTPUT
led8.direction = digitalio.Direction.OUTPUT
led9.direction = digitalio.Direction.OUTPUT
led10.direction = digitalio.Direction.OUTPUT
led11.direction = digitalio.Direction.OUTPUT
temp = btn1.value
mode = 0
while 1:
temp = (temp << 1) | btn1.value
temp &= 0x03
if temp == 0x02:
if mode < 11:
mode = mode + 1
else:
mode = 0
print(mode)
if mode == 0:
led1.value = False
led2.value = False
led3.value = False
led4.value = False
led5.value = False
led6.value = False
led7.value = False
led8.value = False
led9.value = False
led10.value = False
led11.value = False
elif mode == 1:
led1.value = True
elif mode == 2:
led1.value = False
led2.value = True
elif mode == 3:
led2.value = False
led3.value = True
elif mode == 4:
led3.value = False
led4.value = True
elif mode == 5:
led4.value = False
led5.value = True
elif mode == 6:
led5.value = False
led6.value = True
elif mode == 7:
led6.value = False
led7.value = True
elif mode == 8:
led7.value = False
led8.value = True
elif mode == 9:
led8.value = False
led9.value = True
elif mode == 10:
led9.value = False
led10.value = True
elif mode == 11:
led10.value = False
led11.value = True
time.sleep(0.01)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment