Python编程小车零基础开发教程(ESP32-NodeMCU-DevKit开发板)

PS2手柄遥控器编程-遥控四轮小车-完整程序代码-L298N两路电机驱动板

1. 课程介绍
2. ESP32开发板引脚号说明
3. Python编程软件Thonny安装与使用
4. Python编程给引脚设置数字值-点亮ESP32开发板自带LED小灯
5. Python编程给引脚设置数字值-点亮ESP32开发板外接LED小灯
6. sleep()暂停函数-实现LED小灯闪烁效果
7. while循环语句-LED小灯无限次闪烁
8. while循环语句-LED小灯有限次闪烁
9. for循环语句-LED小灯有限次闪烁
10. 程序代码保存到芯片上运行
11. Python编程驱动电机-L298N两路电机驱动板
12. Python编程手机WIFI遥控电机-L298N两路电机驱动板
13. Python编程手机WIFI遥控四轮小车接线-L298N两路电机驱动板
14. Python编程手机WIFI遥控四轮小车完整代码-L298N两路电机驱动板
15. PS2手柄遥控器编程-遥控ESP32开发板自带LED小灯
16. PS2手柄遥控器编程-遥控四轮小车-接线安装-L298N两路电机驱动板
17. PS2手柄遥控器编程-遥控四轮小车-完整程序代码-L298N两路电机驱动板
18. PS2手柄遥控器编程-摇杆使用
19. PS2手柄遥控器编程-使用摇杆和PWM脉冲信号控制小车行驶速度完整程序
20. I2C串行总线-LCD1602显示屏
21. I2C串行总线-LCD1602显示屏-文字动画
22. I2C串行总线-LCD1602显示屏-文字滚动动画
23. Python编程ESP32播放MP3
24. Python编程ESP32播放MP3-指令格式
25. Python编程MP3播放器-手机WIFI遥控播放

图片.png

实现如下遥控:

(1)5”号键(指令:UP),小车前进。

(2)7”号键(指令:DOWN),小车后退。

(3)8”号键(指令:LEFT),小车左旋转。

(4)6”号键(指令:RIGHT),小车右旋转。

(5)16”号键(指令:SQUARE),小车停止。

 

完整程序代码如下:

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)


附件:
【象大帅】PS2手柄遥控器编程-遥控四轮小车-完整程序代码.pdf
PS2手柄遥控器编程-遥控四轮小车-完整程序代码.py