ESP32智能小车DIY教程:150元以内从零搞定自动避障

发布时间:2026/9/13 17:22:55

ESP32智能小车DIY教程:150元以内从零搞定自动避障 ESP32智能小车DIY教程150元以内从零搞定自动避障【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32本文带你做一台能自动避障的ESP32智能小车物料总成本约140元接线加编程约3小时完成。成品小车用超声波探测前方遇障碍自动减速绕行还能扩展WiFi遥控。 成品预览这台ESP32智能小车能干什么做完之后的效果是小车自己往前走前方 20cm 内出现障碍就减速10cm 以内就停下来换向绕行整个反应循环不到 100ms。板载双核分工明确一个核管电机、一个核采传感器ESP32 本身带 WiFi后期接手机遥控不用换主板。 物料清单成本约 140 元物料数量参考价元用途ESP32 DevKitC 开发板155主控跑避障程序N20 减速电机套装带轮1 对42驱动左右两个轮L298N 电机驱动板112放大 ESP32 信号去带电机HC-SR04 超声波模块18测前方障碍物距离两轮底盘 万向轮1 套15车体结构与前支撑18650 电池盒 电池1 套8整车供电合计—约 140—辅助工具一行带过电烙铁、万用表、剥线钳和螺丝刀家里有旧的就能用不必新买。 接线步骤3 步把智能小车底盘搭起来Step 1电机上底盘把两个 N20 电机分别固定在两轮底盘的左右两侧装好轮子万向轮装在底盘前部中央当第三个支点。⚠️ 易错点两侧轮距要对称轮子转起来会蹭底盘先空转确认间隙再装后面的东西。Step 2驱动板与供电L298N 固定在底盘后侧电池盒输出接到驱动板电源端注意正负极X1/X2、Y1/Y2 四个输出分别接左、右电机的两根线。⚠️ 易错点电池正负极接反时电机只会倒转断电对调即可上电前先用万用表量一下电压应在 6~8V。Step 3装 ESP32 并接信号线ESP32 放底盘中央按这张引脚分配表接线ESP32 引脚接到作用GPIO12L298N IN1左轮速度PWMGPIO13L298N IN2左轮方向GPIO14L298N IN3右轮速度PWMGPIO15L298N IN4右轮方向GPIO16HC-SR04 Trig超声波触发GPIO17HC-SR04 Echo超声波回波5V / GND模块 VCC / GND信号部分供电HC-SR04 朝正前方装在小车头部。⚠️ 易错点HC-SR04 必须 5V 供电VCC 接到 3.3V 上读数会飘接完线对着表逐根复查一遍再上电。下面这段代码做两件事给两个方向引脚设为输出再给 GPIO12/14 挂上 5kHz、10 位占空比0~1023的 PWM之后随时改速度。const int L_PWM 12, R_PWM 14; const int L_DIR 13, R_DIR 15; void setup() { pinMode(L_DIR, OUTPUT); pinMode(R_DIR, OUTPUT); ledcAttach(L_PWM, 5000, 10); // 5kHz10 位分辨率 ledcAttach(R_PWM, 5000, 10); } void setSpeed(int l, int r) { // 0~1023 ledcWrite(L_PWM, l); ledcWrite(R_PWM, r); }烧录后手动调setSpeed(300, 300)车应该直行哪个轮不转就先查对应 DIR 引脚有没有拉高。 Arduino IDE 配置与首次烧录安装最新版 Arduino IDEWindows / macOS / Linux 都有安装包。打开「文件 → 首选项」在附加开发板管理器网址里填入 ESP32 包地址具体 URL 见仓库内安装文档。板卡管理器中搜索 esp32 并安装然后在「工具 → 开发板」选择 ESP32 Dev Module并选好串口端口。克隆仓库git clone https://gitcode.com/GitHub_Trending/ar/arduino-esp32打开 基础教程 里提到的 blink 示例做一次烧录确认板和串口都通。 跑不起来先查这 3 处现象最可能原因排查动作电机不转驱动板没电或 DIR 为低万用表量驱动板输出确认 GPIO13/15 输出高电平超声波读数 0 或 999cmTrig/Echo 接反或模块没给 5V对调 GPIO16/17 两根线确认模块 VCC 接 5V程序上传失败端口或开发板型号选错重选开发板与串口仍失败就按住 BOOT 键再点上传 避障原理与参数怎么调整条链路是「感知 → 决策 → 执行」超声波是小车的眼睛发射超声波再量回波时间除以 58 就得到厘米数if-else 是它的大脑按距离分三档下指令两个电机是它的腿左右轮差速决定直行还是转向。好比人走路眼睛看到墙、大脑判断远近、腿决定迈哪边。下面这段代码把三件事串起来读一次距离小于 10cm 就停左轮、右轮走原地右转20cm 以内减速否则全速前进。const int TRIG 16, ECHO 17; float readDistance() { digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); return pulseIn(ECHO, HIGH) / 58.0; // 微秒 - 厘米 } void avoid() { float d readDistance(); if (d 10) setSpeed(0, 400); // 太近右转绕行 else if (d 20) setSpeed(300, 300); // 接近减速 else setSpeed(600, 600); // 安全正常前进 }loop()里每隔 50ms 调一次avoid()小车就进入循环避障状态。参数别死记按这张表调参数默认值作用调法安全距离20cm小于它开始减速车速调快了就把阈值调低危险距离10cm小于它停车绕行电池没电动力弱时调高前进占空比600 / 1023最高前进速度调高提速但刹车距离变长绕行转向时长300ms一次避障转多久转得不够就加长到 400~500ms测距间隔50ms多久看一次前方越短反应越快耗电略增 进阶玩法3 个低成本升级方向WiFi 手机遥控ESP32 自带 WiFi加上WiFi.h连接和一段串口转网络的代码就能用手机发指令接管小车原理见仓库内 WiFi 库 API 文档示例代码在libraries/WiFi/examples/目录。侧方检测再买一个 HC-SR048 元装在小车侧面侧面距离小于 15cm 时朝反方向修正绕行时不容易蹭到墙边。状态指示任意 GPIO 接一个蜂鸣器绕行时鸣叫、停车时熄灭调参数时肉眼就能看出小车处在哪个档位。至此你的第一台 ESP32 智能小车已经闭环约 140 元物料、3 小时工时换来了电机 PWM、超声波测距、差速避障这套完整链路代码结构之后加功能直接照抄就行。下一步建议很具体这周把第二个侧面超声波加上记录加上前后小车蹭墙的次数对比你会对距离阈值到底该设多少有直观感觉。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/13 17:22:55

从POC到PVT:IPD流程中决定产品量产成败的五道关

做研发管理这十几年,我见过最多的悲剧不是产品做不出来,而是做出来了、演示了、大佬也点头了,结果一到产线就翻车。POC阶段风生水起,DEMO现场掌声一片,PVT却交不出货,最后只能拉着销售一起编跳票理由。这不…

2026/9/13 17:22:55

Elasticsearch从入门到实践:索引创建、数据写入与搜索排查

做搜索引擎的都知道,Elasticsearch基本是绕不开的那一个。不管是给站内做商品搜索、日志检索,还是给业务系统做数据聚合分析,ES靠一套HTTP JSON接口就能把海量数据的存储、索引和检索全部包揽下来。很多人第一次接触ES时容易被一堆名词弄晕—…

2026/9/13 17:22:55

海南石梅湾20家网红民宿深度测评与避坑指南

1. 石梅湾民宿选择指南:20家网红民宿深度解析 石梅湾作为海南新兴的度假胜地,凭借其原始纯净的海岸线和相对小众的定位,正吸引着越来越多追求品质旅行的游客。与三亚的喧嚣不同,这里保留了更原生态的热带风情,也因此孕…

2026/9/13 18:17:58

vLLM 请求调度全解:一条 Prompt 从排队到出字的 5 个关卡

vLLM 请求调度全解:一条 Prompt 从排队到出字的 5 个关卡 【免费下载链接】vllm A high-throughput and memory-efficient inference and serving engine for LLMs 项目地址: https://gitcode.com/GitHub_Trending/vl/vllm vLLM 请求调度决定了哪个请求先上 …

2026/9/13 18:17:58

如何用 folly result<T> 替代异常返回并用 or_unwind 传播错误

如何用 folly result替代异常返回并用 or_unwind 传播错误【免费下载链接】folly An open-source C library developed and used at Facebook. 项目地址: https://gitcode.com/GitHub_Trending/fol/folly 在 C 服务代码里,如果你希望某些关键路径不再抛异常、…

2026/9/13 18:12:58

基于PyTorch的农作物病虫害识别:迁移学习与图像分类实战

简介:农作物病虫害识别系统是一份基于机器学习(Python)的完整毕业设计项目,适合计算机、人工智能等相关专业学生用于课程设计、论文实验或期末项目,也适合作为图像分类入门的工程范例。资源共477个文件,压缩…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码