Robot coding Problem - Raspberry Pi Forums
i building robot pi having small problem code when press other key beside w s d q e goes wild can tell me how stop have code attached can see self
import rpi.gpio gpio
import time
import sys
import tkinter tk
def init():
gpio.setmode(gpio.board)
gpio.setup(7, gpio.out)
gpio.setup(11, gpio.out)
gpio.setup(13, gpio.out)
gpio.setup(15, gpio.out)
def forward(tf):
gpio.output(7, false)
gpio.output(11, true)
gpio.output(13, true)
gpio.output(15, false)
time.sleep(tf)
gpio.cleanup()
def backwards(tf):
gpio.output(7, true)
gpio.output(11, false)
gpio.output(13, false)
gpio.output(15, true)
time.sleep(tf)
gpio.cleanup()
def turn_left(tf):
gpio.output(7, false)
gpio.output(11, true)
gpio.output(13, true)
gpio.output(15, true)
time.sleep(tf)
gpio.cleanup()
def turn_right(tf):
gpio.output(7, true)
gpio.output(11, true)
gpio.output(13, true)
gpio.output(15, false)
time.sleep(tf)
gpio.cleanup()
def pevit_left(tf):
gpio.output(7, false)
gpio.output(11, true)
gpio.output(13, false)
gpio.output(15, true)
time.sleep(tf)
gpio.cleanup()
def pevit_right(tf):
gpio.output(7, true)
gpio.output(11, false)
gpio.output(13, true)
gpio.output(15, false)
time.sleep(tf)
gpio.cleanup()
def key_input(event):
init()
print 'key:', event.char
key_press = event.char
sleep_time = 0.030
if key_press.lower() == 'w':
forward(sleep_time)
elif key_press.lower() == 's':
backwards(sleep_time)
elif key_press.lower() == 'a':
turn_left(sleep_time)
elif key_press.lower() == 'd':
turn_right(sleep_time)
elif key_press.lower() == 'q':
pevit_left(sleep_time)
elif key_press.lower() == 'e':
pevit_right(sleep_time)
else:
print"press w s d q e only"
command = tk.tk()
command.bind('<keypress>', key_input)
command.mainloop()
import rpi.gpio gpio
import time
import sys
import tkinter tk
def init():
gpio.setmode(gpio.board)
gpio.setup(7, gpio.out)
gpio.setup(11, gpio.out)
gpio.setup(13, gpio.out)
gpio.setup(15, gpio.out)
def forward(tf):
gpio.output(7, false)
gpio.output(11, true)
gpio.output(13, true)
gpio.output(15, false)
time.sleep(tf)
gpio.cleanup()
def backwards(tf):
gpio.output(7, true)
gpio.output(11, false)
gpio.output(13, false)
gpio.output(15, true)
time.sleep(tf)
gpio.cleanup()
def turn_left(tf):
gpio.output(7, false)
gpio.output(11, true)
gpio.output(13, true)
gpio.output(15, true)
time.sleep(tf)
gpio.cleanup()
def turn_right(tf):
gpio.output(7, true)
gpio.output(11, true)
gpio.output(13, true)
gpio.output(15, false)
time.sleep(tf)
gpio.cleanup()
def pevit_left(tf):
gpio.output(7, false)
gpio.output(11, true)
gpio.output(13, false)
gpio.output(15, true)
time.sleep(tf)
gpio.cleanup()
def pevit_right(tf):
gpio.output(7, true)
gpio.output(11, false)
gpio.output(13, true)
gpio.output(15, false)
time.sleep(tf)
gpio.cleanup()
def key_input(event):
init()
print 'key:', event.char
key_press = event.char
sleep_time = 0.030
if key_press.lower() == 'w':
forward(sleep_time)
elif key_press.lower() == 's':
backwards(sleep_time)
elif key_press.lower() == 'a':
turn_left(sleep_time)
elif key_press.lower() == 'd':
turn_right(sleep_time)
elif key_press.lower() == 'q':
pevit_left(sleep_time)
elif key_press.lower() == 'e':
pevit_right(sleep_time)
else:
print"press w s d q e only"
command = tk.tk()
command.bind('<keypress>', key_input)
command.mainloop()
to start rid of gpio.cleanup() after every movement, it's needed prior exiting script.
try , let know happens.
also, paste code between
try , let know happens.
also, paste code between
code: select all
tags clicking code button above "post editor" (what's proper name it? anyone?). dave.
raspberrypi
Comments
Post a Comment