Mixly图形化编程小车零基础开发教程(MAKER-ESP32电机驱动一体化开发板)

手机WIFI远程遥控四轮小车完整程序

1. 课程介绍
2. Mixly编程需重点掌握的程序语句
3. MAKER-ESP32开发板使用说明
4. 安装Mixly图形化编程软件
5. 给引脚设置数字值-点亮ESP32开发板外接LED小灯
6. 实现LED小灯有限次闪烁-延时语句
7. 实现LED小灯无限次闪烁-循环语句
8. 驱动M1电机转动
9. 驱动M1M2M3M4四路电机转动
10. 手机WIFI远程遥控M1电机转动
11. 小车组装
12. 手机WIFI远程遥控四轮小车完整程序
13. LCD1602显示屏
14. OLED显示屏
15. LCD1602显示屏+DHT11温度传感器
16. LCD1602显示屏+声波雷达传感器
17. 震动马达
18. 蜂鸣器
1. 课程目标

    实现如下遥控:

(1)按下A键(指令:A_DOWN),前进。抬起A键(指令:A_UP),停止。

(2)按下B键(指令:B_DOWN),左转。抬起B键(指令:B_UP),停止。

(3)按下C键(指令:C_DOWN),前进。抬起C键(指令:C_UP),停止。

(4)按下D键(指令:D_DOWN),前进。抬起D键(指令:D_UP),停止。

图片.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. 程序代码

完整的程序代码如下:

import machine

import network

import socket

 

'''

1ESP322713号引脚接电机驱动板IN1IN2,控制电机1(左前方电机)。

2ESP3242号引脚接电机驱动板IN3IN4,控制电机2(左后方电机)。

3ESP321712号引脚接电机驱动板IN5IN6,控制电机3(右前方电机)。

4ESP321514号引脚接电机驱动板IN7IN8,控制电机4(右后方电机)。

'''

 

#电机1,创建27号引脚和13号引脚对象

pin27 = machine.Pin(27, machine.Pin.OUT)

pin13 = machine.Pin(13, machine.Pin.OUT)

 

#电机2,创建4号引脚和2号引脚对象

pin4 = machine.Pin(4, machine.Pin.OUT)

pin2 = machine.Pin(2, machine.Pin.OUT)

 

#电机3,创建17号引脚和12号引脚对象

pin17 = machine.Pin(17, machine.Pin.OUT)

pin12 = machine.Pin(12, machine.Pin.OUT)

 

#电机4,创建15号引脚和14号引脚对象

pin15 = machine.Pin(15, machine.Pin.OUT)

pin14 = machine.Pin(14, 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": #按下前进按钮

        #电机1,左前方电机,向前转

        pin27.value(1)

        pin13.value(0)

        #电机2,左后方电机,向前转

        pin4.value(1)

        pin2.value(0)

        #电机3,右前方电机,向前转

        pin17.value(1)

        pin12.value(0)        

        #电机4,右后方电机,向前转

        pin15.value(1)

        pin14.value(0)

    elif recv_data_string=="B_DOWN": #按下左旋转进按钮

        #电机1,左前方电机,向后转

        pin27.value(0)

        pin13.value(1)

        #电机2,左后方电机,向后转

        pin4.value(0)

        pin2.value(1)

        #电机3,右前方电机,向前转

        pin17.value(1)

        pin12.value(0)        

        #电机4,右后方电机,向前转

        pin15.value(1)

        pin14.value(0)

    elif recv_data_string=="D_DOWN": #按下右旋转进按钮

        #电机1,左前方电机,向前转

        pin27.value(1)

        pin13.value(0)

        #电机2,左后方电机,向前转

        pin4.value(1)

        pin2.value(0)

        #电机3,右前方电机,向后转

        pin17.value(0)

        pin12.value(1)        

        #电机4,右后方电机,向后转

        pin15.value(0)

        pin14.value(1)

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

        #电机1,左前方电机,向后转

        pin27.value(0)

        pin13.value(1)

        #电机2,左后方电机,向后转

        pin4.value(0)

        pin2.value(1)

        #电机3,右前方电机,向后转

        pin17.value(0)

        pin12.value(1)        

        #电机4,右后方电机,向后转

        pin15.value(0)

        pin14.value(1)

    else : #抬起按钮

        #电机1,左前方电机,停止

        pin27.value(0)

        pin13.value(0)

        #电机2,左后方电机,停止

        pin4.value(0)

        pin2.value(0)

        #电机3,右前方电机,停止

        pin17.value(0)

        pin12.value(0)

        #电机4,右后方电机,停止

        pin15.value(0)

        pin14.value(0)

3. 实验结果

    参看实验结果视频。


附件:
【象大帅】手机WIFI远程遥控四轮小车完整程序.pdf
MAKER-ESP32电机驱动一体化开发板-手机WIFI远程遥控四轮小车完整程序.py