尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

零基础到 ESP32 避障小车:Arduino-ESP32 完整实战指南

零基础到 ESP32 避障小车:Arduino-ESP32 完整实战指南 零基础到 ESP32 避障小车Arduino-ESP32 完整实战指南【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32你想做一辆会自己跑、自己躲障碍的小车却不知道从哪下手ESP32 是不是很难非得先啃完 C 吗这篇文章就用 Arduino-ESP32乐鑫官方的 ESP32 核心让你用 Arduino 的简单语法直接写 ESP32 程序带你从零搭出这台 ESP32 避障小车。跟着做你最后能有一台自己跑、自己躲、还能用 WiFi 遥控的车。它是干什么的能做什么简单说Arduino-ESP32 是 ESP32 芯片的Arduino 外壳。你不用配置工具链、不用学复杂的底层框架打开 Arduino IDE 就能写程序、点上传像给板子灌入灵魂一样简单。它能覆盖的能力对新手来说基本够用上手快用digitalWrite、analogWrite这类你大概率听过的函数控制引脚和 PWM脉冲调宽就是靠快开快关来模拟半速内置 WiFi 和蓝牙几十行代码就能连路由器这是 ESP32 最吸引人的地方跨平台Windows、macOS、Linux 的 Arduino IDE 都能用外设库齐全I2C、SPI、UART、传感器、电机仓库里 libraries/ 目录下有几十个现成库和示例官方文档配套从安装到排错docs 目录里都有现成章节一次性的准备3步配好环境完成这节后你的电脑就能编译并上传 ESP32 程序之后每做一个新项目都不用再折腾。第 1 步装 Arduino IDE。去官网下载最新版一路下一步装完。做完这一步你手上有一个能写 C 的编辑器。第 2 步告诉 IDE 去哪找 ESP32。打开首选项Preferences在附加开发板管理器网址一栏填入乐鑫的包地址形如https://espressif.github.io/arduino-esp32/package_esp32_index.json点确定。第 3 步安装 ESP32 支持包。打开工具 → 开发板 → 开发板管理器搜索 esp32装 esp32 by Espressif Systems。装完后开发板列表里会出现 ESP32 Dev Module 等选项环境就算配好了。想要仓库源码来对照阅读的话执行git clone https://gitcode.com/GitHub_Trending/ar/arduino-esp32做完后你手上有什么一个能上传 ESP32 程序的 IDE、一块选好了型号的开发板、一份可供参考的官方示例代码。详细的安装细节可以看 docs/en/installing.rst。动手演示从点亮到避障这是全文的核心。跟着这 5 个小节走你手上就是一台完整的 ESP32 避障小车。接线30分钟拼出车台先说清零件ESP32 开发板、L298N 电机驱动板、两个直流减速电机、HC-SR04 超声波模块一种发射声波再听回声来测距的传感器、底盘、两节 18650 电池。总成本大概 150 元左右。接线原则电机和大功率供电走驱动板ESP32 只负责发控制信号两者共地。超声波模块的 VCC、GND、Trig、Echo 分别接 3.3V、GND 和两个 GPIO。引脚怎么选建议分配左电机信号 GPIO25 / GPIO26右电机信号 GPIO27 / GPIO33超声波 Trig 接 GPIO5、Echo 接 GPIO18。别用 GPIO34~39它们是纯输入口不能输出。最快让 ESP32 小车动起来的方法这一步做完小车应该能原地转圈或缓慢前进——先验证电机方向后面才不会被车往反方向跑搞崩溃。ESP32 的analogWrite默认频率偏高电机会有滋滋声先降频再控速const int leftIn1 25; // 左电机 const int rightIn2 27; // 右电机 void setup() { analogWriteFreq(5000); // 降到 5kHz电机更安静 pinMode(leftIn1, OUTPUT); pinMode(rightIn2, OUTPUT); } void goForward(int speed) { // speed: 0-255 analogWrite(leftIn1, speed); analogWrite(rightIn2, speed); }上传后如果车不动或转得歪八成是某个电机的两根线接反了对调一下正负即可。给小车装上眼睛ESP32 超声波测距超声波模块会发一束 40kHz 的声波声波撞墙反射回来用来回时间除以 2 再乘声速约 340 米/秒就是距离。代码比想象中短const int trig 5; const int echo 18; float readDistance() { digitalWrite(trig, LOW); delayMicroseconds(4); digitalWrite(trig, HIGH); delayMicroseconds(10); // 至少 10us 的触发脉冲 digitalWrite(trig, LOW); float t pulseIn(echo, HIGH) / 1000.0; // 微秒换毫秒 return t * 340 / 2 / 100; // 距离单位厘米 }把返回值打到串口监视器115200 波特率对着墙移动模块数字跟着变说明眼睛装好了。写避障逻辑让车自己躲规则很简单三档距离对应三种反应距离 25cm正常前进10~25cm减速准备反应 10cm停反向一侧转 500ms再继续决策逻辑就是一个if / else if放在loop()里每 200ms 读一次距离再决策。别读得太频繁超声波一次测距本身就要几十毫秒读太快读数会乱。连上 WiFi手机浏览器遥控 ESP32 小车这是 ESP32 相对纯单片机最爽的一步。小车内置一个 Web 服务器你在手机浏览器输入它的 IP点前进/后退/左转/右转按钮页面发出 HTTP 请求小车收到指令就动。连接代码就这几行#include WiFi.h void connectWiFi() { WiFi.mode(WIFI_STA); // 以站点身份连路由器 WiFi.begin(你的WiFi名, 你的密码); while (WiFi.status() ! WL_CONNECTED) { delay(300); Serial.print(.); } Serial.println(WiFi.localIP()); // 打印出来就是访问地址 }Web 服务器部分不用手写仓库里 libraries/WebServer/examples/HelloServer/HelloServer.ino 是一个现成起点改改按钮和指令处理函数就行。车跑起来之后还能往哪走加传感器升级感知。超声波只测正前方再挂两个测左右就能比较哪边空得更多转向决策更聪明也可以换红外模块做近距急停。上云做远程监控。ESP32 WiFi 控制小车只是内网玩法再往前一步就是把传感器数据通过 HTTP/MQTT 传到云平台人在外面也能看车的位置和电量。做自主巡线或避障竞赛。循线小车加个红外对管就行是新手最经典的第二个项目再进阶可以试试简单 SLAM同步定位与地图构建那是另一个量级的工程。当教学或落地场景。这套底盘 程序骨架直接可以拆成教学实验GPIO、PWM、传感器、WiFi 四个知识点一一对应智能家居方向则可以让小车巡逻上报温湿度。避坑速查这4类问题最常见电机不转。现象是串口显示正常但车轮纹丝不动。原因多在供电电机瞬间电流大5V 口带不动。解决办法是让电机用独立的电池组供电并确认驱动板使能EN引脚已拉高。传感器读数乱跳。现象是距离在 0 和 500 之间反复横跳。原因通常是 Trig/Echo 接反、线太长或供电不稳。先确认接线再把超声波模块单独接 5V 测一遍最后缩短信号线。程序上传失败。现象是进度条卡住后报 timeout。原因一般是没进下载模式。按住 BOOT 键再点上传看到串口输出后松开还不行就换一根确认能传数据的 USB 线充电线传不了数据。WiFi 一直连不上。现象是串口里全是等待的点号。先确认密码没错、路由器是 2.4GHz 频段ESP32 大部分型号不支持 5GHz再把模块离路由器近一点重启试试具体排查可以看 docs/en/troubleshooting.rst 和 docs/en/faq.rst。接下来看什么到这里你手里应该有一台能自己跑、会躲墙、能用浏览器遥控的 ESP32 小车——从第一行digitalWrite到现在走完了完整一遍。接下来不必再从头学按需查文档即可入门起点docs/en/getting_started.rstBlink 教程官方第一个示例docs/en/tutorials/blink.rst全部内置库与 API 说明docs/en/libraries.rst官方基础示例GPIO、定时器、FreeRTOS 等libraries/ESP32/examples/WiFi 客户端/热点示例libraries/WiFi/examples/SimpleWiFiServer/遇到问题docs/en/faq.rst、docs/en/troubleshooting.rst把代码当参考把小车当练手下个周末给它加个新功能比读十篇教程都管用。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表