用 Arduino-ESP32 组装一台在家遛弯会躲障碍的智能小车
用 Arduino-ESP32 组装一台在家遛弯会躲障碍的智能小车【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32小车开到茶几前离桌腿约二十厘米的地方停住转个弯接着往前走全程没人拿遥控器。这台车的主控是一块 ESP32 板子全部控制逻辑用 Arduino-ESP32 开源核心写成它最关键的工作是让超声波模块把障碍物离我多远报给芯片芯片再决定什么时候减速、什么时候转向。成品速览一台 Arduino-ESP32 智能小车长什么样ESP32 智能小车最简单的配置就是图中这块板子主控 ESP32 DevKitC 固定在车底盘上旁边一块 L298N 电机驱动板车头对着前方的 HC-SR04 超声波模块底盘下面是一组 18650 电池。上电之后车能直行、能转弯、能自主避障板子自带的 WiFi 功能先留着后面随时能加个手机遥控页面。几个核心部件怎么配合四个部件各司其职ESP32 是大脑负责读距离、做决策L298N 是肌肉放大器把芯片的小控制信号变成带得动两个电机的电流HC-SR04 是眼睛按固定周期发一次超声波量出前方距离电池组是能量来源同时给驱动器和主控板供电。信号流是这样的ESP32 给超声波模块发一个触发脉冲量出回声回来的时间换算成厘米距离小于 20 厘米就调低送给驱动器的占空比减速再小于 10 厘米就翻转两个电机的方向信号原地转弯。眼睛看到、大脑想好、手脚执行一圈下来就是一次完整的避障。从开箱到跑起来装好 Arduino-ESP32 核心并接线先软件。装好 Arduino IDE在首选项里添加官方开发板管理器网址具体地址见官方安装文档然后在开发板管理器里搜索 esp32安装 esp32 by Espressif Systems。选好对应板子和串口先把自带的 blink 例程上传一遍确认通路没问题再往下走。再接线。四根方向控制线左电机 IN1/IN2 接 GPIO25/GPIO26右电机 IN3/IN4 接 GPIO27/GPIO33两根调速线 ENA/ENB 接 GPIO12/GPIO13留给 PWM 调速用超声波 Trig 接 GPIO16Echo 接 GPIO17。电机电源直接接电池组不走板子的 5VL298N 的 EN 引脚必须接上电源固定高电平悬空的话电机永远不转。接完用万用表确认没有短路再上电。让小车自己避障电机部分就是方向引脚写高低电平 EN 引脚写占空比几行 digitalWrite 和 analogWrite 的事不贴了。这台车真正的价值在超声波读取和决策逻辑const int trig 16, echo 17; // 超声波 Trig、Echo 引脚 float measureDistance() { digitalWrite(trig, LOW); delayMicroseconds(4); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); long t pulseIn(echo, HIGH); // 读回声脉冲宽度微秒 return t * 0.034 / 2; // 换算成厘米 } void avoidObstacle() { float d measureDistance(); if (d 20) forward(200); // 安全距离直行 else if (d 10) forward(100); // 逼近中减速 else { stopCar(); turn(90); } // 转向避让 }在 loop() 里每 500ms 调一次 avoidObstacle()正好是超声波自己的测量周期。200 是 255 占空比里的一档先用 128 试试车速再慢慢调速度和距离阈值。它还能做什么ESP32 自带 WiFi 和蓝牙很多玩法不用额外加模块手机遥控写一个简单的 Web 页面手机上就能控制左右和前进用板载 WiFi 即可参考 WebServer 示例。循线行驶加一两个红外反射传感器跟着地面黑线走经典的入门机器人玩法。跟人行走再加一组超声波朝前放人或宠物走在前面车就跟着走。状态上报加个温湿度传感器数据走 MQTT 传上云小车变成会巡逻的环境监测点。踩坑记录上传完板子不停重启、再传就失败 → 程序启动时崩溃进了重启循环串口被占 → 按住 BOOT 键再上传用串口监视器看崩溃位置。电机完全不带转 → L298N 的 EN 引脚悬空驱动器没使能 → EN 接 5V 或固定拉高。车一直单侧打转 → 某侧电机的方向引脚逻辑写反或接线对调 → 把那一侧的 IN 线对调或检查代码里的极性。电机有啸叫、走得不稳 → ESP32 的 analogWrite 默认 PWM 频率 2550Hz 不适合驱动电机 → setup 里先调一次 analogWriteFreq(1000)。超声波读数乱跳或恒为 0 → Echo 输出 5V 信号、线太长受干扰 → 用 3.3V 版模块或加分压电阻接线尽量短。先把板载 LED 闪起来确认上传这条路走通再一根根接电机线等到小车自己躲开茶几那天你只需要回头调一下那个二十厘米的阈值。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

白光干涉仪与形貌指纹:晶圆薄膜粗糙度异常排查

白光干涉仪与形貌指纹:晶圆薄膜粗糙度异常排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 11:47:18 阅读更多 →
AF驱动调试日志:嵌入式音视频HAL层硬件级问题排查指南

AF驱动调试日志:嵌入式音视频HAL层硬件级问题排查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 11:47:18 阅读更多 →
Chat Completions 转 Responses 工具调用不稳?TaoToken 这样填 cc-switch 的 Codex 供应商

Chat Completions 转 Responses 工具调用不稳?TaoToken 这样填 cc-switch 的 Codex 供应商

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 11:47:18 阅读更多 →

最新新闻

AVA 删除测试后的快照清理:--update-snapshots 与快照报告 Diff 机制深度解析

AVA 删除测试后的快照清理:--update-snapshots 与快照报告 Diff 机制深度解析

AVA 删除测试后的快照清理:--update-snapshots 与快照报告 Diff 机制深度解析 【免费下载链接】ava Node.js test runner that lets you develop with confidence 🚀 项目地址: https://gitcode.com/gh_mirrors/ava/ava 本篇技术指南围绕 AVA 快照…

2026/9/20 17:48:57 阅读更多 →
XMind vs MindManager:八年实战经验教你选对思维导图工具

XMind vs MindManager:八年实战经验教你选对思维导图工具

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 17:48:57 阅读更多 →
MedASR医疗听写模型完整指南:如何在transcribe.cpp中下载与使用gated模型

MedASR医疗听写模型完整指南:如何在transcribe.cpp中下载与使用gated模型

MedASR医疗听写模型完整指南:如何在transcribe.cpp中下载与使用gated模型 【免费下载链接】transcribe.cpp ggml speech-to-text inference for 16 model families 项目地址: https://gitcode.com/GitHub_Trending/tr/transcribe.cpp MedASR 是一款专为医疗…

2026/9/20 17:48:57 阅读更多 →
Page Assist 新手排障指南:侧边栏本地 AI 对话的 3 类高频问题,一次讲清

Page Assist 新手排障指南:侧边栏本地 AI 对话的 3 类高频问题,一次讲清

Page Assist 新手排障指南:侧边栏本地 AI 对话的 3 类高频问题,一次讲清 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist …

2026/9/20 17:48:57 阅读更多 →
baoyu-infographic 首次设置指南:EXTEND.md 偏好配置与初始化工作流

baoyu-infographic 首次设置指南:EXTEND.md 偏好配置与初始化工作流

AI 技能AI 插件 【免费下载链接】baoyu-skills 项目地址: https://gitcode.com/gh_mirrors/ba/baoyu-skills 点击查看 免费下载 本篇技术指南围绕 baoyu-skills 项目中 baoyu-infographic 技能的首次配置流程(first-time setup)展开&#xf…

2026/9/20 17:48:57 阅读更多 →
macOS屏幕录制工具QuickRecorder完整指南:窗口、系统声音、手机屏幕一次讲清

macOS屏幕录制工具QuickRecorder完整指南:窗口、系统声音、手机屏幕一次讲清

macOS屏幕录制工具QuickRecorder完整指南:窗口、系统声音、手机屏幕一次讲清 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://g…

2026/9/20 17:47:56 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →