importRPi.GPIO as GPIOimporttimeimportsignal'''gpio_init()
forward()
go_back()
right()
left()
gpio_uninit()'''INT1= 5INT2= 6INT3= 13INT4= 19GPIO.setwarnings(False)defsig_handler(sig, frame):try:
gpio_uninit()exceptException, ex:
exit(0)defsetup():try:
GPIO.setmode(GPIO.BCM)
GPIO.setup(INT1, GPIO.OUT)
GPIO.setup(INT2, GPIO.OUT)
GPIO.setup(INT3, GPIO.OUT)
GPIO.setup(INT4, GPIO.OUT)exceptException, ex:
gpio_uninit()
exit(0)defforward():try:
GPIO.output(INT1, GPIO.HIGH)
GPIO.output(INT2, GPIO.LOW)
GPIO.output(INT3, GPIO.LOW)
GPIO.output(INT4, GPIO.HIGH)exceptException, ex:
gpio_uninit()
exit(0)defgo_back():try:
GPIO.output(INT1, GPIO.LOW)
GPIO.output(INT2, GPIO.HIGH)
GPIO.output(INT3, GPIO.HIGH)
GPIO.output(INT4, GPIO.LOW)exceptException, ex:
gpio_uninit()
exit(0)defright():try:
GPIO.output(INT1, GPIO.HIGH)
GPIO.output(INT2, GPIO.LOW)
GPIO.output(INT3, GPIO.HIGH)
GPIO.output(INT4, GPIO.LOW)exceptException, ex:
gpio_uninit()
exit(0)defleft():try:
GPIO.output(INT1, GPIO.LOW)
GPIO.output(INT2, GPIO.HIGH)
GPIO.output(INT3, GPIO.LOW)
GPIO.output(INT4, GPIO.HIGH)exceptException, ex:
gpio_uninit()
exit(0)defgpio_init():try:
setup()
signal.signal(signal.SIGTERM, sig_handler)
signal.signal(signal.SIGINT, sig_handler)exceptException, ex:
gpio_uninit()
exit(0)defgpio_uninit():
GPIO.cleanup()if __name__ == '__main__':try:
gpio_init()
forward()
go_back()
right()
left()
gpio_uninit()exceptException, ex:
gpio_uninit()