ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

150元、3小时:用ESP32开发板拼装一台自动避障智能小车

150元、3小时:用ESP32开发板拼装一台自动避障智能小车 150元、3小时用ESP32开发板拼装一台自动避障智能小车【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32这是一篇ESP32智能小车的完整落地记录。不到3小时我用一块ESP32开发板、一对N20减速电机和一个HC-SR04超声波模块拼出一台能自己躲障碍的小车配件总价150元上下。下面按选料→接线→烧录→跑通的顺序讲清楚每一步踩过的坑也一并交代。 开盘子这台ESP32智能小车要花多少钱动手之前先算账。物料一共六项全部摊开ESP32开发板我用的DevKitCS3也行55元左右N20减速电机套装带轮子一对42元左右HC-SR04超声波测距模块几块钱搞定8元上下亚克力底盘、万向轮等附件40元左右L298N电机驱动板TB6612FNG也可以几块钱18650锂电池加电池盒20元以内驱动板为什么选L298NN20电机的工作电流能到1AESP32那几个GPIO直接扛不住必须隔一级。L298N是现成的成品方案TB6612FNG更轻更小二选一即可接口用法基本通用。 接线时GPIO怎么分ESP32电机控制接线接线最费神的其实是那6根信号线先上分配表用途ESP32引脚左电机PWM接L298N的ENAGPIO12左电机方向IN1/IN2GPIO13右电机PWMENBGPIO14右电机方向IN3/IN4GPIO15超声波TrigGPIO16超声波EchoGPIO17开发板上每个焊盘对应什么引脚官方文档里有一张布局图可以直接对着看电源上有两处容易翻车。第一HC-SR04吃5V从ESP32的3.3V口喂它会测不准直接接5V和GND。第二电机电源千万别走ESP32的5V口——18650串起来的电池组7.4V直驱驱动板VCC再和ESP32共GND就够了。顺序上建议先架底盘N20两侧固定、前部装万向轮再装驱动板最后拉信号线。上电前先用手挡着轮子试一下方向接反了换两根电机线就行我当时就这么干过。⚙️ 它凭什么能转差速转向加PWM调速这车没有转向机构所谓转弯全靠两个轮子转速差行话叫差速转向左快右慢就向左画弧两边同速就直行。ESP32用LEDC硬件PWM出速度我设的是5kHz频率、10位分辨率取值0到1023两路分别压到驱动板的ENA和ENB。写法参考官方示例目录 libraries/ESP32/examples/AnalogOut/核心就几行ledcSetup(0, 5000, 10); // 通道05kHz10位 ledcAttachPin(12, 0); // GPIO12 接左电机 ledcSetup(1, 5000, 10); ledcAttachPin(14, 1); // GPIO14 接右电机 void setSpeed(int l, int r) { ledcWrite(0, l); ledcWrite(1, r); }换向不走PWM是给GPIO13和GPIO15写0/1改变IN哪一路高电平。至于ESP32内部怎么把这些信号送到不同引脚看这张GPIO复用矩阵图最直观162路外设输入信号经过IO_MUX多路复用压到34个GPIO上所以大部分引脚可以随意改派。 超声波阈值调多少避障决策距离表HC-SR04的用法很朴素Trig发10微秒脉冲Echo回显的高电平持续时间除以2再乘声速340m/s就是距离。我给自己定了三档距离表大于20cm150的PWM值巡航10到20cm降到60慢慢挪小于10cm刹停原地转个向再走侧向补一条左右任一方向小于15cm就修正一下航向循环50ms跑一圈从看见障碍到电机动作总耗时压在100ms以内按最高0.5m/s的车速算这个反应时间内最多往前蹭5厘米。long d readUltrasonic(); // 返回厘米 if (d 20) { setSpeed(150, 150); // 巡航 } else if (d 10) { setSpeed(60, 60); // 减速 } else { setSpeed(0, 0); // 先刹住再翻方向重新给速 }烧录之前把超声波对着30cm外的墙读一次数落在30±2cm就可以放心。模块规格下限是2cm比这再近读数会跳属正常现象。 烧录前配置让Arduino IDE认出ESP32IDE这边两个动作。先去 文件 → 首选项在附加开发板管理器网址里加上ESP32官方开发板包地址具体写法见仓库内的安装文档 docs/en/installing.rst然后 工具 → 开发板 → 开发板管理器搜esp32点安装。开发板选项选ESP32 Dev Module插上USB选对口径就能上传。我这边第一次卡了十分钟最后发现是按住BOOT键再点上传才进去的第一次玩的同学多半也会在这一步多折腾一会儿。基础操作流程可以对照 docs/en/tutorials/basic.rst 走一遍。 进阶玩法用WiFi把车遥控起来ESP32的WiFi才是它身上最值钱的部分。小车以StationSTA身份挂上家里路由器同时起一个网页或UDP服务手机就能下发前进、左转、停止指令参考实现放在 libraries/WiFi/examples/。连接本身不复杂WiFi.begin(ssid, password)之后轮询WiFi.status()等到WL_CONNECTED就把IP打到串口。接下来可以在主循环里再塞一条2Hz的传感器数据流——当前距离、车速、电池电压——手机端画个简易仪表盘。这部分我留给下一轮迭代了。 算总账这次ESP32避障小车DIY的完整账单收个尾。物料150元从焊第一根线到车跑通3小时整。换回来的东西避障响应小于100ms最小可测2cm最高车速0.5m/s18650电池组供电满电巡航2到3小时双核都派上了用场一个核管电机控制循环另一个核管测距和串口数据后面加功能还有余量接下来可以做什么左右两侧各加一只HC-SR04沿用上面15cm的侧向阈值把单一超声波避障升级成三向融合判断接线方法和距离表本文第四节已经给全。挂一个DHT11温湿度传感器到5V和任意两个数字口让手机页面同时显示车况和环境数据。把主控换成ESP32-S3再挂一块OV2640摄像头用视觉方案替掉超声波官方摄像头示例在 libraries/ESP32/examples/Camera/。【免费下载链接】arduino-esp32Arduino core for the ESP32 family of SoCs项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表