mirror of
https://github.com/KevinMidboe/python-gpiozero.git
synced 2025-10-29 17:50:37 +00:00
35 lines
727 B
Python
35 lines
727 B
Python
from gpiozero import Button, Robot
|
|
from time import sleep
|
|
from signal import pause
|
|
|
|
robot = Robot((17, 18), (22, 23))
|
|
|
|
left = Button(2)
|
|
right = Button(3)
|
|
forward = Button(4)
|
|
backward = Button(5)
|
|
go = Button(6)
|
|
|
|
instructions = []
|
|
|
|
def add_instruction(btn):
|
|
instructions.append({
|
|
left: (-1, 1),
|
|
right: (1, -1),
|
|
forward: (1, 1),
|
|
backward: (-1, -1),
|
|
}[btn])
|
|
|
|
def do_instructions():
|
|
instructions.append((0, 0))
|
|
robot.source_delay = 0.5
|
|
robot.source = instructions
|
|
sleep(robot.source_delay * len(instructions))
|
|
del instructions[:]
|
|
|
|
go.when_pressed = do_instructions
|
|
for button in (left, right, forward, backward):
|
|
button.when_pressed = add_instruction
|
|
|
|
pause()
|