#引入使用到的模块 import machine import network import socket #申明4个引脚为输出引脚 pin32 = machine.Pin(32, machine.Pin.OUT) pin33 = machine.Pin(33, machine.Pin.OUT) pin18 = machine.Pin(18, machine.Pin.OUT) pin19 = machine.Pin(19, machine.Pin.OUT) #发射WIFI信号 apWLAN = network.WLAN(network.AP_IF) apWLAN.config(essid='XDS',password='',authmode=0) #申明WIFI信号名称为:XDS,密码:无。 apWLAN.active(True) #声明接收遥控指令的端口号 udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 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": #当接收到按下前进键按钮 #驱动M1电机(左侧2个电机)的车轮向前转 pin32.value(1) pin33.value(0) #驱动M2电机(右侧2个电机)的车轮向前转 pin18.value(1) pin19.value(0) elif recv_data_string=="A_UP": #当接收到抬起前进键按钮 #停止M1电机 pin32.value(0) pin33.value(0) #停止M2电机 pin18.value(0) pin19.value(0) if recv_data_string=="E_DOWN": #当接收到按下后退键按钮 #驱动M1电机的车轮向后转 pin32.value(0) pin33.value(1) #驱动M2电机的车轮向后转 pin18.value(0) pin19.value(1) elif recv_data_string=="E_UP": #当接收到抬起前进键按钮 #停止M1电机 pin32.value(0) pin33.value(0) #停止M2电机 pin18.value(0) pin19.value(0) if recv_data_string=="B_DOWN": #当接收到按下左转键按钮 #驱动M1电机的车轮向后转 pin32.value(0) pin33.value(1) #驱动M2电机的车轮向前转 pin18.value(1) pin19.value(0) elif recv_data_string=="B_UP": #当接收到抬起左转键按钮 #停止M1电机 pin32.value(0) pin33.value(0) #停止M2电机 pin18.value(0) pin19.value(0) if recv_data_string=="D_DOWN": #当接收到按下右转键按钮 #驱动M1电机的车轮向前转 pin32.value(1) pin33.value(0) #驱动M2电机的车轮向后转 pin18.value(0) pin19.value(1) elif recv_data_string=="D_UP": #当接收到抬起右转键按钮 #停止M1电机 pin32.value(0) pin33.value(0) #停止M2电机 pin18.value(0) pin19.value(0) |