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

Python编程手机WIFI遥控四轮小车完整代码-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遥控播放

1. 课程目标

    编程实现手机WIFI遥控四轮小车。

2. 硬件接线

和上一节课接线完全一样。

图片.png 

3. 程序代码

如下图,实现手机APP界面按键控制,“A”按钮前进,“B”按钮左旋转、“D”按钮右旋转、“E”按钮后退。

图片.png 

import machine

import network

import socket

 

#左侧电机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)

 

#创建串口对象

uart = machine.UART(2, baudrate=9600) #此语句可以使用,2号串口就是tx=17, rx=16,不指定波特率就不能用

 

# 创建AP模式的WIFI对象

apWLAN = network.WLAN(network.AP_IF)

apWLAN.config(essid='XDS',password='',authmode=0)

apWLAN.active(True)   

 

# 创建UDP套接字对象

udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# 绑定本地IP和端口

udp_socket.bind(("0.0.0.0", 8080))

 

# 接收数据

while True:

    recv_data_byte_array, sender_info = udp_socket.recvfrom(1024)

    recv_data_string = recv_data_byte_array.decode('utf-8') #接收的数据格式是字节数组,把字节数组转换成字符串

    if recv_data_string=="A_DOWN": #按下“前进”按钮

        #电机1,向前转

        pin18.value(1)

        pin19.value(0)

        #电机2,向前转

        pin22.value(1)

        pin23.value(0)

    elif recv_data_string=="E_DOWN": #按下“后退”按钮

        #电机1,向

        pin18.value(0)

        pin19.value(1)

        #电机2,向

        pin22.value(0)

        pin23.value(1)

    elif recv_data_string=="B_DOWN": #按下“左转”按钮

        #电机1,向后转

        pin18.value(0)

        pin19.value(1)

        #电机2,向前转

        pin22.value(1)

        pin23.value(0)

    elif recv_data_string=="D_DOWN": #按下“右转”按钮

        #电机1,向前转

        pin18.value(1)

        pin19.value(0)

        #电机2,向后转

        pin22.value(0)

        pin23.value(1)

    else:

        #电机1,停止

        pin18.value(0)

        pin19.value(0)

        #电机2,停止

        pin22.value(0)

        pin23.value(0)                 

4. 实验结果

    参看实验结果视频。


附件:
【象大帅】Python编程手机WIFI遥控四轮小车完整代码-L298N两路电机驱动板.pdf