ESP32 智能小车:150 元成本,3 小时做出自动避障车
2026/9/13 17:38:55 网站建设 项目流程

ESP32 智能小车:150 元成本,3 小时做出自动避障车

【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32

用一块 ESP32 开发板,你能做出一台会自己躲障碍的智能小车。总花费不到 150 元,动手时间约 3 小时,零基础也能跟着走完。整套流程基于 arduino-esp32 开发环境,从底盘接线一直做到阈值调优。如果你受够了动辄几百元的机器人套件,这就是门槛最低的起点。

一次备齐所有材料 🧰

硬件清单如下,价格按零售参考:

部件作用参考单价
ESP32-S3 或 ESP32 DevKitC 开发板控制核心,双核处理约 55 元
N20 减速电机套装(带轮)×2驱动左右两轮约 42 元/对
HC-SR04 超声波模块前方测距约 8 元
L298N 或 TB6612FNG 驱动板放大电流,驱动电机自备
亚克力底盘、万向轮、18650 电池盒结构与电源约 40 元

合计不到 150 元。工具方面准备电烙铁、焊锡丝、剥线钳、数字万用表和螺丝刀套装。软件侧提前装好 Arduino IDE 和串口调试助手,熟悉 Git 更好。前置知识只有一条:知道 VCC 接 VCC、GND 接 GND,信号线别交叉。

四步走完动手线

先把车接好

按底盘、主控、传感器三段来:

  1. 底盘:两个 N20 电机固定在两侧,万向轮装在前部,驱动板贴紧底盘,先确认电池极性。
  2. 主控:ESP32 装在底盘中央,按下面这张表接信号线,再用扎带理顺。
功能引脚
左电机 PWMGPIO12
左电机方向GPIO13
右电机 PWMGPIO14
右电机方向GPIO15
超声波 TrigGPIO16
超声波 EchoGPIO17
驱动板供电5V 与 GND
  1. 传感器:超声波装在小车正前方,VCC、GND、Trig、Echo 四根线逐一接上。

验收标准:万用表量到超声波 VCC 稳定 5V;六根信号线逐一对上表;驱动板供电极性正确,电机手动拨动无卡阻。

十分钟装好环境

  1. 安装最新版 Arduino IDE,参考官方安装文档。
  2. 打开「文件」→「首选项」,在附加开发板管理器网址里粘贴:https://espressif.github.io/arduino-esp32/package_esp32_index.json

  1. 打开「工具」→「开发板」→「开发板管理器」,搜索 esp32,点安装。

  1. 需要完整示例代码时,执行:
git clone https://gitcode.com/GitHub_Trending/ar/arduino-esp32

验收标准:开发板列表里能看到 esp32 系列;「文件」→「示例」下有 WiFi、Wire 等库。

让小车跑起来

插上 USB,选好开发板型号和端口。先编译上传 Blink 验证工具链,再传小车程序。首次失败就按住 BOOT 键再点上传,把板子拉进下载模式。

验收标准:板载 LED 按 1 秒节奏闪烁;串口 115200 波特率能看到输出;小车能前进、后退,左右轮单独可转。

调优到顺

把三档避障阈值写进程序:前方大于 20cm 正常走;10 到 20cm 降速;小于 10cm 停住转向。左右两侧小于 15cm 时修正航向。再慢慢加 PWM 占空比,把最高速度压在 0.5m/s 以内。

验收标准:撞障响应小于 100ms;10cm 处必停必转,不误报也不漏报;直线行驶不打摆。

看懂差速转向与避障阈值

差速转向的白话解释:左右轮各走各的,两轮速度差多少,车就偏多少。左轮停右轮走,车原地左转;两轮同速,车走直线。ESP32 的双核正好分工,一核管运动控制,一核跑传感器采集。

超声波测距的原理是回声计时:发一个脉冲,等回波返回,距离等于「时间 × 声速 ÷ 2」。速度高低由 PWM 决定。PWM 即脉宽调制,用信号高电平占比来调节等效电压,从而改变转速。初始化只写四行:

ledcSetup(0, 5000, 10); // 通道0:5kHz,10位分辨率 ledcAttachPin(12, 0); // GPIO12 接左电机 ledcSetup(1, 5000, 10); ledcAttachPin(14, 1); // GPIO14 接右电机

ledc 就是 ESP32 的 PWM 子系统。之后随时用ledcWrite(0, 值)改左轮速度,值越大越快。

排查这 6 个常见故障

卡住了?对着这张表查,大多数问题三分钟能定位。

症状最可能原因排查动作
电机不转驱动板没电或极性反万用表量驱动板输入,核对电池极性
电机嗡响不转方向引脚电平不对检查 GPIO13/15 输出状态
超声波读数恒 0 或爆表Echo 线接触不良或供电不稳单独给模块通电自测,重插杜邦线
读数偶尔跳变安装角度偏斜把模块调正,避免侧向回波
程序上传失败端口或型号选错,未进下载模式按住 BOOT 重传,核对端口号
小车无故转弯阈值过敏感放宽 10cm 判定档,重跑直线测试

更多细节可查官方基础教程和Blink 交互教程。

能玩出什么

这台车是底模,往上叠功能都很顺:

  • 手机遥控:把车配成 WiFi 站点(STA,即客户端)模式接入家里的路由器,手机通过 HTTP 或 MQTT 发指令。连接方式见 WiFi 库文档。

  • 加传感器:红外模块补侧方盲区,陀螺仪做姿态修正,摄像头模块接视觉识别。
  • 换通信:加蓝牙做近场遥控,加 LoRa 拉远距离,4G 模块接云平台。
  • 多车协同:两台车互为通信节点,做编队或接力巡航。
  • 场景落地:教学演示平台、教室巡逻演示、仓库巡检原型、竞赛底盘。

下一步建议:先让车稳定跑直线 30 秒,再上避障,最后加遥控。每一步都有明确的验收线,做砸了也能立刻定位是哪一层的问题。

【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询