27 lines
820 B
Python
27 lines
820 B
Python
import serial
|
|
import time
|
|
import keyboard
|
|
|
|
ser = serial.Serial('COM16', 38400) # Replace '/dev/ttyACM0' with your Arduino's port
|
|
|
|
def send_command(command):
|
|
ser.write(command.encode())
|
|
time.sleep(0.1)
|
|
|
|
def check_key(key, command):
|
|
while True:
|
|
if keyboard.is_pressed(key):
|
|
send_command(command)
|
|
else:
|
|
send_command('0')
|
|
break
|
|
|
|
# binding keys to commands
|
|
keyboard.add_hotkey('up', check_key, args=('up', '1')) # forward
|
|
keyboard.add_hotkey('down', check_key, args=('down', '2')) # backward
|
|
keyboard.add_hotkey('left', check_key, args=('left', '3')) # left
|
|
keyboard.add_hotkey('right', check_key, args=('right', '4')) # right
|
|
keyboard.add_hotkey('space', send_command, args=('0',)) # stop
|
|
|
|
keyboard.wait('esc') # wait for 'esc' to exit the program
|