本课程需掌握如下内容。 如下图是手机遥控小车的APP,下载地址: http://xiangdashuai.com/xiangdashuai/download/index.html 使用电脑浏览器访问如上地址,打开如下界面。然后使用手机浏览器扫描二维码,下载手机遥控小车APP: 
如下图,按下A按钮(向上箭头按钮)会发送“A_DOWN”指令,抬起A按钮会发送“A_UP”指令。 按下A按钮使得电机转动,抬起A按钮使得电机停止转动。 
手机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 |
电机接到开发板的M1驱动口上。如下图,绿色接线口的左侧。 
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)
|
参看实验结果视频。
附件:
【象大帅】手机WIFI远程遥控M1电机转动.pdf
|