Arduino-ESP32 入门指南:3 小时做出一台避障小车

发布时间:2026/9/19 22:59:43

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),仅供参考
延伸阅读

更多相关文章

2026/9/19 22:54:41

Windows 11 HTTPS链接打不开?注册表协议注册失效深度修复

1. 问题现场还原:不是“打不开网页”,而是系统级协议处理失灵你点开一个 https:// 开头的链接,比如同事发来的 CSDN 技术文档、GitHub 的 Release 页面,甚至只是邮箱里一封带跳转链接的内部通知——Windows 弹出一个蓝底白字的提示…

2026/9/20 0:09:49

用Python和python-pptx实现PPT二八定律:关键页识别与批量强化

简介:这份PPT围绕二八定律(帕累托原则)系统性展开,面向企业管理者、职场人士及对效率提升感兴趣的读者,帮助把有限精力聚焦到最能产生价值的目标上。内容从定律来源讲起,延伸到客户关系维护、时间管理、人力…

2026/9/20 0:04:49

BrewUI:给Homebrew套上图形界面,让macOS软件包管理更简单

先说个挺常见的场景:你刚拿到一台新 Mac,想装 Node、Python、Git 这些开发工具,打开终端准备用 Homebrew 一把梭,结果安装脚本跑了一半卡住,终端里刷出密密麻麻的报错信息。旁边还有一位做设计的朋友问:“你…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/18 14:13:03

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

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

2026/9/18 14:13:02

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

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

2026/9/18 14:13:02

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

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

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

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

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