项目简介
本项目利用Arduino Uno与ESP8266模块打造了一个能通过WiFi远程控制的双轮小车。项目包含两部分核心代码,FinalCode.ino
是Arduino端代码,用于接收ESP8266指令来控制小车运动;RcFinal.py
是Python端代码,作为服务器与ESP8266模块连接,向Arduino发送控制指令。
项目的主要特性和功能
Arduino端功能
- 以Arduino Uno为核心控制器。
- 用ESP8266模块创建热点供用户连接,借助ESP8266_Lib.h和ESP8266.cpp库通信。
- 根据接收的指令控制小车前进、后退、左转、右转。
Python端功能
- 用PySimpleGUI库构建直观的GUI界面。
- 通过TCP协议和Arduino小车稳定连接。
- 界面有“LEFT”“UP”“RIGHT”等控制按钮,点击可发送对应指令。
- 接收并显示小车的响应状态信息。
安装使用步骤
前提条件
假设用户已下载项目源码文件,且拥有Arduino Uno开发板、ESP8266模块和双轮小车等硬件。
硬件连接
- 对于Arduino Uno,若使用SoftwareSerial,将ESP8266的TX连到Arduino的RX(D3),RX连到TX(D2),CH_PD和VCC接3.3V,GND接地。
- 连接Arduino电源和小车的电机驱动电路。
软件设置
- 打开Arduino IDE,导入
FinalCode.ino
文件,将代码上传到Arduino Uno。 - 确保ESP8266的AT固件版本为0.18或0.22,可修改
ESP8266.h
文件中的USER_SEL_VERSION
选择版本。 - 因Arduino硬件串口缓冲区默认大小可能过小,打开
\arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.h
文件,将SERIAL_BUFFER_SIZE
从64改为256或更大数值。
Python客户端运行
- 确保Python环境已安装,安装必要依赖库,如PySimpleGUI、Keyboard、time、Socket、tkinter。
- 在命令行运行
python RcFinal.py
启动客户端。 - 通过客户端的GUI界面点击按钮,向小车发送控制指令。
测试
- 确保Arduino和ESP8266正常工作,小车电机驱动电路连接无误。
- 在Python客户端界面点击控制按钮,观察小车是否按预期动作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】