Python编程小车零基础开发教程(ESP32-DEV-V20电机驱动一体化开发板)

手机WIFI远程遥控M1电机转动

1. MicroPython课程介绍
2. 安全注意事项
3. ESP32-DEV-20开发板使用说明
4. 安装MicroPython编程软件Thonny
5. 程序开发前的准备工作
6. 给引脚设置电平值-点亮ESP32开发板外接LED小灯
7. 延时语句-使得LED小灯闪烁
8. 手机WIFI远程遥控M1电机转动
9. 小车组装
10. 手机WIFI远程遥控小车完整程序
11. 手机WIFI远程遥控小车完整程序优化

1.   课程目标

本课程需掌握如下内容。

如下图是手机遥控小车的APP,下载地址:

http://xiangdashuai.com/xiangdashuai/download/index.html

使用电脑浏览器访问如上地址,打开如下界面。然后使用手机浏览器扫描二维码,下载手机遥控小车APP

图片.png

如下图,按下A按钮(向上箭头按钮)会发送“A_DOWN”指令,抬起A按钮会发送“A_UP”指令。

按下A按钮使得电机转动,抬起A按钮使得电机停止转动。

图片.png

手机APP使用UDP协议发送指令,各按键按下和抬起发送的指令如下表。

指令表

按键

按下发送指令

抬起发送指令

1

1_DOWN

1_UP

2

2_DOWN

2_UP

3

3_DOWN

3_UP

4

4_DOWN

4_UP

5

5_DOWN

5_UP

6

6_DOWN

6_UP

7

7_DOWN

7_UP

8

8_DOWN

8_UP

9

9_DOWN

9_UP

A

A_DOWN

A_UP

B

B_DOWN

B_UP

C

C_DOWN

C_UP

D

D_DOWN

D_UP

E

E_DOWN

E_UP

2.   硬件接线

电机接到开发板的M1驱动口上。如下图,绿色接线口的左侧。

图片.png

3.   程序代码

M1电机驱动口有2个口,分别对应32号、33号引脚。只要给一个引脚设置高电平(数字1),另一个引脚设置低电平(数字0)就可以驱动电机转动。

如果要停止转动,则把两个引脚都设置为低电平(数字0)。

编程接收指令,如果收到的指令是“A_DOWN”指令,驱动M1电机转动。如果收到的指令是“A_UP”指令,使得M1电机停止转动。代码如下:

import machine
import network
import socket

#创建32号引脚和33号引脚对象
pin32 = machine.Pin(32, machine.Pin.OUT)
pin33 = machine.Pin(33, machine.Pin.OUT)

# 创建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": #判断,如果按下“A”键,转动电机。
        #转动电机
        pin32.value(1)
        pin33.value(0)
    elif recv_data_string=="A_UP ": #判断,如果抬起 “A”键,停止电机。
        #关闭电机
        pin32.value(0)
        pin33.value(0)

4.   实验结果

    参看实验结果视频。


附件:
【象大帅】手机WIFI远程遥控M1电机转动.pdf