Skip to content

3.6 路标导航车

3.6.1 造型介绍

  这款 AI 路标导航车是积木智能行驶小车,车头装有 WonderLens 视觉摄像头充当 “眼睛”,车身配有点阵显示屏,左右车轮分别由两台 360° 舵机驱动实现差速行走。整体积木组装简单,结构拆分清晰,方便我们接线调试。当摄像头识别到不同方向路标时,点阵屏同步弹出对应方向箭头,双舵机配合完成前进、后退、左转、右转行驶动作,实现路标自主导航,是能直观感受 AI 路标识别与双舵机差速运动联动的创意小作品。

3.6.2 学习目标

  1. 学会使用 WonderLens 模块完成路标识别,掌握前进、后退、左转、右转路标识别信号读取方法。

  2. 熟练编写双 360° 舵机差速控制程序,实现小车直行、转向、倒车等基础行驶动作。

  3. 掌握点阵屏箭头图案编程,完成路标识别与屏幕方向提示、双舵机行驶动作联动交互。

  4. 搭建完整小车造型并调试程序,具备简易 AI 视觉导航行驶类作品制作能力。

3.6.3 积木搭建

PDF 未正常显示? 在新窗口打开

3.6.4 设备接线

将 WonderLens 视觉模块接线插入 ESP32 主控器 接口;

将点阵模块接线插入 ESP32 主控器 接口;

将左侧 360° 积木舵机接线插入 ESP32 主控器 接口,舵机 接线要插入S1的 引脚处;

将右侧 360° 积木舵机接线插入 ESP32 主控器 接口,舵机 接线要插入S2的 引脚处。

示意图:

3.6.5 程序编写

(1) 程序原理图

(2) 添加扩展库

  • 在 “扩展” 中选择 “传感器” 添加 “WonderLens” ;
  • 在 “扩展” 中选择 “输出模块” 添加 “点阵模块”。

(3) 核心代码块解析

指令块所在类别功能说明
对比左侧数值与自定义数值,输出大于判断的布尔结果
创建自定义变量用于存储数据
读取自定义变量内存储的数据
为指定自定义变量赋予自定义数值
根据自定义音调、节拍、播放模式播放音频
控制指定接口的舵机按照设定速度进行转动将点阵屏亮度调整为 1 至 8 区间内指定档位
将点阵屏亮度调整为 1 至 8 区间内指定档位
在点阵屏绘制选中的点阵图形图案
切换视觉摄像头对应的 AI 视觉工作模式
刷新摄像头画面并读取当前视觉模式的识别数据
获取路标识别结果中置信度最高的路标编号

(4) 完整程序展示

  1. 启动时,初始化 WonderLens 视觉模块接口 P1,将模块切换为路标识别功能,初始化点阵模块接口 P5,设置点阵模块亮度为 P5,设置 S1、S2 舵机初始速度为 0,等待 1 秒;

  2. 在主程序中循环执行:更新并获取 WonderLens 视觉模块识别结果,提取置信度最大的路标编号存入"Result"变量;"Result"为 1、2、3、4 时,点阵屏依次显示向上、向右、向左、向下箭头,播放 C4 提示音,随后控制 S1、S2 舵机按照对应速度与时长模拟前进、右转、左转、后退动作,动作结束后舵机停止、点阵屏清空,每次循环等待 0.1 秒。

  • 程序源文件存放于「附录文件」目录内的「程序文件」,可前往该处下载压缩包获取。

3.6.6 程序下载

3.6.7 扩展提升

拓展任务 1:路标分级 RGB 灯光联动导航

  1. 项目目标:识别不同路标匹配专属 RGB 灯光效果与行驶速度,无路标时小车停止并提示等待。识别前进路标:RGB 绿色常亮,小车匀速直行;识别左转路标:RGB 蓝色渐变闪烁,小车缓慢左转;识别右转路标:RGB 橙色渐变闪烁,小车缓慢右转;识别后退路标:RGB 红色闪烁,小车低速后退;未识别到有效路标:小车原地暂停,点阵屏显示等待图标。

  2. 实现思路:读取路标识别结果,搭建多分支条件判断;每个路标分支配置对应双舵机差速参数、RGB 灯光色彩闪烁逻辑、点阵箭头图案;无路标分支执行停车 + 等待图标显示。

  3. 挑战点:路标识别稳定不跳判,行驶转向与灯光、屏幕图案同步切换,多舵机动作运行不卡顿。

拓展任务 2:路标消失延时停车

  1. 项目目标:路标移出镜头后小车不会立刻停下,继续保持当前行驶动作 3 秒,倒计时结束后双舵机停止,RGB 彩灯熄灭、点阵屏切换等待图标。

  2. 实现思路:新增计时变量,路标消失时启动倒计时;倒计时未结束维持原有行驶与灯光效果,计时归零小车停车、关闭灯光、显示等待图案。

  3. 挑战点:计时运行不干扰摄像头实时识别路标,双舵机与灯光、点阵屏同步控制无延迟。

拓展任务 3:除了路标导航车,本节课路标识别的思路还能改造出哪些智能小作品

  1. 路标指示提示牌:保留摄像头路标识别代码,去掉双舵机,搭配 RGB 与点阵屏,识别路标后屏幕显示文字、彩灯变色提示。

  2. 分拣分类小车:识别不同标识路标,控制舵机拨片将物料分到对应区域。

  3. 通用改造思路:不用修改摄像头路标识别核心代码,只更换输出硬件,新增对应硬件控制指令,依靠 “识别到对应路标就触发对应动作” 的逻辑,就能做出不同智能作品。

3.6.8 课后问答

问题 1:舵机接线时,橙色信号线必须接对应 S 口白色引脚,接错会出现什么问题?

:S1、S2 接口白色引脚是专门传输控制信号的引脚,舵机依靠该信号控制车轮转动角度与速度。如果橙色信号线接到电源或接地引脚,主板无法给舵机发送控制指令,会出现两种故障:一是对应一侧车轮舵机完全不动,小车无法直行或转向;二是舵机不停抖动、乱转,严重时会发热损坏。同时程序里控制小车行驶、转向的代码全部失效,无法实现路标导航行驶功能。

问题 2:视觉模块可正常识别路标,点阵屏能正常显示箭头,但小车左右车轮完全不动,请给出最常见故障和排查方法。

:1. 接线故障:左右舵机橙色信号线未分别插在 S1、S2 白色信号引脚。排查:断电后对照图纸分别核对两侧舵机三根线接线顺序。

  1. 程序故障:双舵机差速行驶代码没有放进 “识别到有效路标” 的条件分支内。排查:打开程序,将左右舵机控制、延时行驶指令移动到路标识别成功分支内。

  2. 硬件损坏:单侧 / 双侧舵机故障或 ESP32 的 S1、S2 接口损坏。排查:分别更换完好舵机接入 S1、S2 测试,依旧不动则更换主板其他舵机接口测试。

3.6.9 技术支持与产品讨论

如果您在产品使用过程中遇到困难,欢迎您通过如下方式向我们反馈:

表单未正常显示? 在新窗口打开

如果您在产品体验后有更好的创意,欢迎您进入幻尔社区将您的创意分享: