Arduino-ESP32 入门指南:3 小时做出一台避障小车
Arduino-ESP32 入门指南3 小时做出一台避障小车【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32Arduino-ESP32 是乐鑫官方为 ESP32 系列芯片提供的 Arduino 核心让你在 Arduino IDE 里直接用熟悉的setup/loop语法给板子烧录带 WiFi、蓝牙、I2C 的固件。本文以两轮避障小车为案例按环境、接线、代码、远控四步讲完适合从未给开发板烧写过固件的人。先把软件环境跑起来 安装 Arduino IDE2.x 或 1.8 以上均可从 arduino.cc 官网下载。打开文件 → 首选项在附加开发板管理器网址中填入https://espressif.github.io/arduino-esp32/package_esp32_index.json稳定渠道保存。打开工具 → 开发板 → 开发板管理器搜索 esp32安装 esp32 by Espressif Systems。当前稳定版为 3.3.x覆盖 ESP32、S2、S3、C3、C6 等芯片。安装完成后在开发板列表选择 ESP32 Dev Module若列表没出现重启一次 IDE。需要阅读核心源码的话克隆仓库git clone https://gitcode.com/GitHub_Trending/ar/arduino-esp32。硬件清单部件规格数量参考价开发板ESP32 DevKitC经典双核版1约 50 元电机直流减速电机ST-77 同规格2约 15 元驱动板L298N 双 H 桥1约 12 元传感器HC-SR04 超声波1约 8 元底盘四轮底盘套件含 18650 电池架1 套约 50 元接线与外设分配 引脚按电机 4 根 超声波 2 根分配全部取自 DevKitC 板上已引出的 GPIO引脚号功能对应外设GPIO25PWM 调速L298N IN1左电机速度GPIO26方向L298N IN2左电机方向GPIO27PWM 调速L298N IN3右电机速度GPIO33方向L298N IN4右电机方向GPIO13Trig 触发HC-SR04 超声波GPIO14Echo 回显HC-SR04经分压5V / GND供电驱动板 ENA、ENB 接 5V整机共地接线注意 3 点电机由电池组供电ESP32 从 L298N 的 5V 输出口取电不要用开发板 3.3V/5V 口直接带电机。HC-SR04 的 Echo 是 5V 电平必须经 1kΩ 2kΩ 分压后再接 GPIO14。超声波模块装在小车正前方、离地 2~3cm避免贴地回波干扰。核心逻辑拆解 电机驱动与测距两段最小代码如下const uint8_t L_PWM 25, L_DIR 26, R_PWM 27, R_DIR 33; const uint8_t TRIG 13, ECHO 14; float readDistance() { digitalWrite(TRIG, LOW); delayMicroseconds(2); digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW); return pulseIn(ECHO, HIGH) * 0.034 / 2; // 回显脉宽换算成厘米 } void drive(int speed) { // 双轮同向0-255 digitalWrite(L_DIR, HIGH); digitalWrite(R_DIR, HIGH); analogWrite(L_PWM, speed); analogWrite(R_PWM, speed); }readDistance发 10μs 触发脉冲用pulseIn读回显脉宽并换算成厘米drive让双轮正转靠analogWrite调速。L298N 的逻辑是 IN1/IN2 电平相反时电机正转、对调反转、同为低电平滑行停止转向就是左右轮一个正转一个反转。避障决策全部在loop里用三档阈值完成距离大于 20cm 以 200 前进10~20cm 降到 80小于 10cm 停车、左轮反转右轮正转转开延时后恢复前进。远控只需在setup里加两行WiFi.begin(ssid, password); while (WiFi.status() ! WL_CONNECTED) delay(500); // 阻塞到连上为止连上后板子获得 IP 地址再用 WebServer 库启动 HTTP 服务手机浏览器访问http://板子IP/?cmdforward这类路径即可发指令无需任何专用 App。跑通之后能做什么 最先做的是把遥控做成网页。WebServer 库随核心自带libraries/WebServer/examples/ 里有现成的示例页面和按键处理写法把小车状态机从本地决策改成浏览器按钮控制再在页面加一个滑块就能实时调速。其次是换用蓝牙。libraries/BLE/examples/ 目录里有 22 个 .ino 示例覆盖 GATT 服务与特征值的完整流程。BLE 不依赖家里 WiFi适合室外场地。算法层最直接的升级是循线加 3 路红外反射传感器做三线循线或在转向时累计左右轮运行时间近似转角让车避障后能转回原方向这是从避障走向简单自主导航的第一步。部署层方面libraries/ArduinoOTA/ 和 libraries/ESPmDNS/ 两个库都已内置固件可以隔空通过 WiFi 升级不再每次插数据线板子还能用主机名在局域网内被直接发现。踩坑速查 ⚠️现象上传始终报 Failed to connect to ESP32。 原因芯片没进下载模式或板型选错。 解法按住 BOOT 键再点上传手动进下载模式同时核对板级菜单里的 USB CDC On Boot 与上传模式设置。现象超声波永远读 0cm。 原因Echo 没分压烧坏引脚或用了 GPIO16/17——经典 DevKitC 上这两脚没有引出。 解法换 13/14 等有引出的引脚补上分压电阻先用 5V 单独给模块上电验证。现象车跑起来抖动、卡顿随后整板重启。 原因供电不足电机和 ESP32 共用 3.3V 口。 解法电机改由电池组供电ESP32 改从 L298N 的 5V 输出口回灌。现象烧录后串口监视器无任何输出。 原因USB CDC 串口未启用Serial 走的是 UART 引脚。 解法板级菜单把 USB CDC On Boot 设为 Enabled串口走 USB 口直接可用。文档与社区 docs/en/installing.rst安装全流程含国内地区的备用索引地址docs/en/getting_started.rst各芯片支持状态矩阵与板级菜单项说明libraries/ESP32/examples/GPIO、Serial、Touch、Timer 等官方示例板型定义与引脚映射boards.txt 与 variants/ 目录换其他开发板时查这里交流渠道Espressif 官方 Discord 与 GitHub Discussions入口见 README.md装完支持包后先别急着接线。下一步动作就一个从示例菜单打开 Blink选对开发板和串口烧录确认板载 LED 闪烁。这一步不通后面所有项目结论都不可信这一步通了小车的接线和代码才值得动手。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

OpenDesign 中的 Cohere 风格设计系统:企业级 AI 平台的设计令牌、排版体系与 Agent 提示词实战指南

OpenDesign 中的 Cohere 风格设计系统:企业级 AI 平台的设计令牌、排版体系与 Agent 提示词实战指南

OpenDesign 中的 Cohere 风格设计系统:企业级 AI 平台的设计令牌、排版体系与 Agent 提示词实战指南 【免费下载链接】open-design 🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first d…

2026/9/21 2:02:29 阅读更多 →
AI写论文哪个软件最好?毕夏AI官网把“写”拆成了另一种逻辑

AI写论文哪个软件最好?毕夏AI官网把“写”拆成了另一种逻辑

毕夏AI官网 www.bixiaai.com 毕夏AI写作官网 www.bixiaai.com 毕夏官网 www.bixiaai.com 毕夏智能写作官网 www.bixiaai.com “AI写论文哪个软件最好?” 这个问题,我几乎每周都会在后台收到。作为一个做论文写作科普的博主,我太理解提…

2026/9/21 0:57:17 阅读更多 →
GMSK调制解调Simulink仿真:从原理到BER曲线调优

GMSK调制解调Simulink仿真:从原理到BER曲线调优

简介:一份基于MATLAB的GMSK调制解调实验课程设计报告(docx),面向通信工程、电子信息类专业学生及相关技术初学者,完整展示从原理推导到Simulink建模仿真的全过程。资源以单篇文档形式呈现,采用DOCX格式&…

2026/9/21 2:03:59 阅读更多 →

最新新闻

RV1126平台JD9366触摸屏驱动移植实战指南

RV1126平台JD9366触摸屏驱动移植实战指南

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

2026/9/21 2:03:06 阅读更多 →
ESP32-C3+MPU6050 DIY无线空中鼠标:BLE HID姿态解算实战

ESP32-C3+MPU6050 DIY无线空中鼠标:BLE HID姿态解算实战

1. 项目概述与核心思路拆解1.1 这个项目到底在做什么把一块 MPU6050 六轴传感器绑在手指或者手背上,通过 ESP32-C3 读取姿态数据,再用 BLE 把数据发给电脑或手机,让设备把姿态变化识别成鼠标移动和点击——这就是这个 DIY 无线鼠标项目的全部…

2026/9/21 2:03:06 阅读更多 →
CGMA管理会计能力框架:财务人职业成长与数字化转型的导航图

CGMA管理会计能力框架:财务人职业成长与数字化转型的导航图

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

2026/9/21 2:03:06 阅读更多 →
小米游戏鼠标驱动下载与安装深度指南

小米游戏鼠标驱动下载与安装深度指南

1. 项目概述:为什么一个“驱动软件下载”值得单独写一篇深度指南?小米游戏鼠标——驱动软件下载,这八个字看起来平平无奇,甚至有点像搜索引擎里随手点进来的广告跳转页。但作为连续三年深度参与小米生态链外设产品测试、亲手拆解过…

2026/9/21 2:03:06 阅读更多 →
GaussView5入门实战:从分子建模到红外光谱计算全攻略

GaussView5入门实战:从分子建模到红外光谱计算全攻略

简介:《GaussView5基础教程》PDF文档面向量子化学计算新手与分子模拟初学者,定位为GaussView5与Gaussian联用的入门操作指南。教程先介绍软件界面:选择窗口、绘图窗口、菜单栏各项功能,以及快速工具栏中元素周期表、环工具、R基团…

2026/9/21 2:03:06 阅读更多 →
逆向必学:PE文件结构核心字段与加壳脱壳实战解析

逆向必学:PE文件结构核心字段与加壳脱壳实战解析

简介:这份PE文件结构详解PDF对照《加密与破解》第十章,系统梳理Windows下exe、dll、sys等可执行文件的格式规范,适合逆向工程、软件安全、病毒分析初学者,也适合备考事业单位计算机岗位的读者夯实底层基础,还可作为高校…

2026/9/21 2:02:05 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

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 阅读更多 →