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

手机WIFI远程遥控小车完整程序优化

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. 课程目标

优化上节代码,使得代码更简洁。

2. 硬件接线

和上节完全一致。

3. 程序代码

上节代码,当手机APPAEBD键抬起时都停止电机。所以,可优化代码把停止电机的代码放一起。

优化后的程序代码如下:

#引入使用到的模块

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) #激活WIFI信号

 

#声明接收遥控指令的端口号

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=="E_DOWN": #当接收到按下后退键按钮

        #驱动M1电机的车轮向后转

        pin32.value(0)

        pin33.value(1)

        #驱动M2电机的车轮向后转

        pin18.value(0)

        pin19.value(1)

    elif recv_data_string=="B_DOWN": #当接收到按下左转键按钮

        #驱动M1电机的车轮向后转

        pin32.value(0)

        pin33.value(1)

        #驱动M2电机的车轮向前转

        pin18.value(1)

        pin19.value(0)

    elif recv_data_string=="D_DOWN": #当接收到按下右转键按钮

        #驱动M1电机的车轮向前转

        pin32.value(1)

        pin33.value(0)

        #驱动M2电机的车轮向后转

        pin18.value(0)

        pin19.value(1)

    else : #当以上条件都不成立时(包括所有按键抬起时)

        #停止M1电机

        pin32.value(0)

        pin33.value(0)

        #停止M2电机

        pin18.value(0)

        pin19.value(0)

4. 实验结果

    参看实验结果视频。


附件:
【象大帅】手机WIFI远程遥控小车完整程序优化.pdf
手机WIFI远程遥控小车完整程序优化.py