import RPi.GPIO as GPIO import time from AlphaBot import AlphaBot Ab = AlphaBot() IR = 18 PWM = 50 n=0 GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(IR,GPIO.IN,GPIO.PUD_UP) def getkey(): if GPIO.input(IR) == 0: count = 0 while GPIO.input(IR) == 0 and count < 200: #9ms count += 1 time.sleep(0.00006) count = 0 while GPIO.input(IR) == 1 and count < 80: #4.5ms count += 1 time.sleep(0.00006) idx = 0 cnt = 0 data = [0,0,0,0] for i in range(0,32): count = 0 while GPIO.input(IR) == 0 and count < 15: #0.56ms count += 1 time.sleep(0.00006) count = 0 while GPIO.input(IR) == 1 and count < 40: #0: 0.56mx count += 1 #1: 1.69ms time.sleep(0.00006) if count > 8: data[idx] |= 1< -1): PWM = PWM - 10 Ab.setPWMA(PWM) Ab.setPWMB(PWM) print(PWM) else: n += 1 if n > 20000: n = 0 Ab.stop() except KeyboardInterrupt: GPIO.cleanup();