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()
 |