ESP32 智能小车上手指南:150 元内完成自动避障接线与编程
【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32
本文基于 arduino-esp32 开源项目,带你用不到 150 元组装一台 ESP32 智能小车,实现自动避障和遥控功能。内容覆盖物料、ESP32 接线、开发环境配置和避障逻辑,按清单操作即可。
先看看成品效果
装好后,这台小车能完成三类动作:通电直行、接近障碍物自动减速、贴近时停下并转向让开;再叠加 WiFi 模块后,还能用手机发指令远程控制。全部逻辑由一块 ESP32 开发板承担。
方案与成本
一句话方案:ESP32 主控 + 一对 N20 减速电机 + 电机驱动板(L298N 或 TB6612FNG)+ HC-SR04 超声波测距模块。
成本大致构成(仅供参考):
- ESP32 开发板:约 55 元
- N20 减速电机套装(一对):约 42 元
- HC-SR04 超声波模块:约 8 元
- 底盘、万向轮与 18650 电池盒:约 40 元
合计不到 150 元,驱动板和电池可长期复用到后续项目。
接线与引脚速查
🔌 接线前先看引脚图,ESP32 DevKitC 的引脚位置以下图为准:
控制线一共 6 根,按差速底盘分配:
| 功能 | 引脚 |
|---|---|
| 左电机 PWM | GPIO12 |
| 左电机方向 | GPIO13 |
| 右电机 PWM | GPIO14 |
| 右电机方向 | GPIO15 |
| 超声波 Trig | GPIO16 |
| 超声波 Echo | GPIO17 |
动手顺序:
- 先接电源:电池接驱动板,确认正负极,电机线接驱动板输出端。
- 再接信号:驱动板的使能、方向输入端对应接 GPIO13、GPIO15,PWM 端接 GPIO12、GPIO14。
- 超声波 VCC 接 5V,GND 与 ESP32 共地。
- 上电空转测试:两个电机分别点动确认转向,再接底盘、装轮子和万向轮。
三分钟环境配置
- 安装最新版 Arduino IDE。
- 在“首选项 → 附加开发板管理器网址”中加入 ESP32 官方包地址(获取方式见 安装指南)。
- 打开开发板管理器,搜索 “esp32” 安装。
- 选择板型与串口,先烧一个 Blink 示例,确认工具链可用再写小车代码。
原理速览:差速与分档判障
- 差速转向:左右轮各走一路 PWM,两边速度不同就转向。等速直行、单边减速转向、两边归零刹车,不需要独立的转向机构。
- 分档判障:超声波测前方距离,分三档处理——大于 20cm 正常前进,10 到 20cm 减速,小于 10cm 停车转向;左右距离小于 15cm 时修正方向。
PWM 初始化示意(右轮同理):
ledcSetup(0, 5000, 10); // 5kHz,10 位分辨率 ledcAttachPin(12, 0); // 左轮 PWM ledcWrite(0, 1023); // 全速主循环就是读一次超声波距离,按分档规则写两路占空比。
高频坑点排查
🔧 遇到不工作,按这三条先查,能解决大部分问题:
- 电机不转:先查电源与极性,再确认驱动板使能脚是否拉高——多数是供电或使能问题,不是代码问题。
- 超声波读数乱跳:模块必须 5V 供电并与 ESP32 共地;读数固定为 0 或满值时,检查信号线接触和安装角度。
- 程序上传失败:换一根能传数据的 USB 线(纯充电线不行),确认端口选对;仍失败就按住 BOOT 键再点上传。
进阶方向与资源入口
📡 小车能跑起来之后,可以逐步加功能:
- WiFi 远程:联网后用网页或串口指令实现手机遥控,工作模式参考下图的 STA 接入方式:
- 感知扩展:加红外模块补侧方检测,加陀螺仪做姿态与直行纠偏。
- 通信扩展:LoRa 远距离传输,或经 MQTT 接入云平台。
- 视觉方向:换 ESP32-S3 加摄像头模块,做视觉识别。
学习入口(均在仓库内):
- 官方文档
- 安装指南
- 基础教程
- 开发板与引脚资料
收尾
不必追求一次做全。先让它跑起来,再做避障,最后加遥控,每一步都能独立验证。把线接好、把程序烧进去,让它先动起来,剩下的都是小步迭代。
【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考