Python编程小车零基础开发教程(ESP32-NodeMCU-DevKit开发板)

Python编程手机WIFI遥控电机-L298N两路电机驱动板

1. 课程介绍
2. ESP32开发板引脚号说明
3. Python编程软件Thonny安装与使用
4. Python编程给引脚设置数字值-点亮ESP32开发板自带LED小灯
5. Python编程给引脚设置数字值-点亮ESP32开发板外接LED小灯
6. sleep()暂停函数-实现LED小灯闪烁效果
7. while循环语句-LED小灯无限次闪烁
8. while循环语句-LED小灯有限次闪烁
9. for循环语句-LED小灯有限次闪烁
10. 程序代码保存到芯片上运行
11. Python编程驱动电机-L298N两路电机驱动板
12. Python编程手机WIFI遥控电机-L298N两路电机驱动板
13. Python编程手机WIFI遥控四轮小车接线-L298N两路电机驱动板
14. Python编程手机WIFI遥控四轮小车完整代码-L298N两路电机驱动板
15. PS2手柄遥控器编程-遥控ESP32开发板自带LED小灯
16. PS2手柄遥控器编程-遥控四轮小车-接线安装-L298N两路电机驱动板
17. PS2手柄遥控器编程-遥控四轮小车-完整程序代码-L298N两路电机驱动板
18. PS2手柄遥控器编程-摇杆使用
19. PS2手柄遥控器编程-使用摇杆和PWM脉冲信号控制小车行驶速度完整程序
20. I2C串行总线-LCD1602显示屏
21. I2C串行总线-LCD1602显示屏-文字动画
22. I2C串行总线-LCD1602显示屏-文字滚动动画
23. Python编程ESP32播放MP3
24. Python编程ESP32播放MP3-指令格式
25. Python编程MP3播放器-手机WIFI遥控播放

1. 课程目标

    编程实现手机WIFI远程遥控电机。

2. 硬件接线

    和上一节课接线完全一样。

3. 手机APP按钮指令

实现手机遥控,需要安装手机遥控APP

手机APP下载地址:

http://www.xiangdashuai.com/xiangdashuai/download/

下载安装完成手机遥控APP后,打开,界面如下:

图片.png 

手机APP界面

 

手机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

4. 程序代码

import machine

import network

import socket

 

#电机1,设置18号、19号引脚为输出引脚

pin18 = machine.Pin(18, machine.Pin.OUT)

pin19 = machine.Pin(19, machine.Pin.OUT)

 

#电机2,设置22号、23号引脚为输出引脚

pin22 = machine.Pin(22, machine.Pin.OUT)

pin23 = machine.Pin(23, machine.Pin.OUT)

 

#创建串口对象

uart = machine.UART(2, baudrate=9600) #此语句可以使用,2号串口就是tx=17, rx=16,不指定波特率就不能用

 

# 创建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=="1_DOWN": #按下“1”按钮

        #电机1转动

        pin18.value(1)

        pin19.value(0)

    elif recv_data_string=="1_UP": #抬起“1”按钮

        #电机1停止

        pin18.value(0)

        pin19.value(0)        

    elif recv_data_string=="2_DOWN": #按下“2”按钮

        #电机2转动

        pin22.value(1)

        pin23.value(0)

    elif recv_data_string=="2_UP": #抬起“2”按钮

        #电机2停止

        pin22.value(0)

        pin23.value(0)

    

            

5. 实验结果

    参看实验结果视频。


附件:
【象大帅】Python编程手机WIFI遥控电机-L298N两路电机驱动板.pdf