littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于Arduino和Python的WiFi控制双轮小车

项目简介

本项目利用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模块和双轮小车等硬件。

硬件连接

  1. 对于Arduino Uno,若使用SoftwareSerial,将ESP8266的TX连到Arduino的RX(D3),RX连到TX(D2),CH_PD和VCC接3.3V,GND接地。
  2. 连接Arduino电源和小车的电机驱动电路。

软件设置

  1. 打开Arduino IDE,导入FinalCode.ino文件,将代码上传到Arduino Uno。
  2. 确保ESP8266的AT固件版本为0.18或0.22,可修改ESP8266.h文件中的USER_SEL_VERSION选择版本。
  3. 因Arduino硬件串口缓冲区默认大小可能过小,打开\arduino\hardware\arduino\avr\cores\arduino\HardwareSerial.h文件,将SERIAL_BUFFER_SIZE从64改为256或更大数值。

Python客户端运行

  1. 确保Python环境已安装,安装必要依赖库,如PySimpleGUI、Keyboard、time、Socket、tkinter。
  2. 在命令行运行python RcFinal.py启动客户端。
  3. 通过客户端的GUI界面点击按钮,向小车发送控制指令。

测试

  1. 确保Arduino和ESP8266正常工作,小车电机驱动电路连接无误。
  2. 在Python客户端界面点击控制按钮,观察小车是否按预期动作。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】