import machine import ps2 #左侧电机1,设置18号、19号引脚为输出引脚 pin18 = machine.Pin(18, machine.Pin.OUT) pin19 = machine.Pin(19, machine.Pin.OUT) #右侧电机2,设置22号、23号引脚为输出引脚 pin22 = machine.Pin(22, machine.Pin.OUT) pin23 = machine.Pin(23, machine.Pin.OUT) #设置PS2遥控器接收引脚号 ps2ctl = ps2.PS2Controller(di_pin_no=26, do_pin_no=27, cs_pin_no=14, clk_pin_no=12) ps2ctl.init() while True: key_str= ps2ctl.read_once() # 接收指令,收到的指令字符格式为 keys:UP,RIGHT: pos(lx,ly):0,-1: pos(rx,ry): 0,-1: key_list= key_str.split(':') # 用冒号来将字符串进行分割,写入数组key_list中,key_list[1]值为输入的按键,key_list[3]值为左摇杆坐标,key_list[5]值为右摇杆坐标 if len(key_list)>=6 : #如果指令有效 #判断按键事件 if key_list[1]=="UP": #电机1,向前转 pin18.value(1) pin19.value(0) #电机2,向前转 pin22.value(1) pin23.value(0) elif key_list[1]=="DOWN": #电机1,向后转 pin18.value(0) pin19.value(1) #电机2,向后转 pin22.value(0) pin23.value(1) elif key_list[1]=="LEFT": #电机1,向后转 pin18.value(0) pin19.value(1) #电机2,向前转 pin22.value(1) pin23.value(0) elif key_list[1]=="RIGHT": #电机1,向前转 pin18.value(1) pin19.value(0) #电机2,向后转 pin22.value(0) pin23.value(1) elif key_list[1]=="SQUARE": #电机1,停止 pin18.value(0) pin19.value(0) #电机2,停止 pin22.value(0) pin23.value(0) |