
新年新气象,我们来给热爱运动的自己做一件夜行衣。
一、背景
夜跑是现在很多人都比较重视的一个锻炼方法,很多喜欢锻炼的人会利用这样的运动方法来增强我们的身体素质。很多人夜跑的时候会去附近的操场,但是也有很多跑步爱好者直接在马路上跑步。在照明不佳的道路上,尤其是在过马路、转弯时,如果一个不注意,就有可能会让机动车反应不及时而酿成惨剧。
针对这个现象,除了现有的在夜跑服上面加装反光条,我们还能做什么呢?能不能将汽车上的转向灯设计到我们的衣服上呢?
二、功能简介
本项目参考机动车上的转向灯概念,来进行设计。
产品分为以下几个功能:
-
左转弯灯光指示 -
右转弯灯光指示 -
紧急情况灯光指示 -
照明模式
为了在跑步过程中方便的实现上面功能,该项目尝试通过语音控制的方式来进行对应的功能实现。
三、项目材料
-
ASR-THREE离线语音模块 * 1
ASR-THREE是由好好搭搭公司出品的一款离线语音模块,芯片内置自主研发的脑神经网络处理器BNPU,支持300条命令词以内的本地语音识别,支持中文、英文、方言。支持离线语音学习功能,当芯片识别到ID后,通过串口发送对应的ID号。
-
Arduino UNO * 1
Arduino UNO是常见的一种开源硬件控制板。它有14个数字输入/输出引脚、6个模拟输入引脚。结合扩展板,可以制作很多非常有意思的作品。
-
Arduino UNO扩展板 * 1
扩展板大大了增加了电源接口和GND接口,在板子上,数字引脚和模拟引脚下面都会有对应一排“红色”排阵,以及一排“黑色”排阵。这就是扩展出来的电源接口。红色排阵是与电源相连的,黑色排阵对应与GND相通。
-
7.4V锂电池 * 1 -
WS2812RGB灯带 * 1卷 -
魔术贴(可选) -
马甲一件
四、功能实现
语音模块关键字学习
电路连接
唤醒词学习
根据上面的电路接线将语音模块正确接入到UNO的3号引脚,然后说:“小爱同学”唤醒语音助手,然后说出“学习唤醒词”,根据提示来学习唤醒词:
当听到:学习状态中,保持安静,请说出需要学习的唤醒词!
可以说:小曼同学
提示:学习成功,请再说一次!
再说一次:小曼同学
提示:学习成功,请再说一次!
第三次:小曼同学
提示:学习完成
完成了新的唤醒词学习,后续通电后可以使用“小曼同学”这个新的唤醒词来唤醒语音助手!
命令词学习
先说”小曼同学”唤醒语音助手,然后说出“学习命令词”,根据提示来学习命令词:
当听到:学习状态中,保持安静,请按提示学习命令词!请说出第一条要学习的指令!
可以说:左转弯
提示:学习成功,请再说一次!
再说一次:左转弯
提示:学习成功,请再说一次!
第三次:左转弯
提示:恭喜你第一条指令学习成功,请说出第二条要学习的指令 (继续根据上面的方式说出要学习的指令,如:右转弯、紧急情况、启动照明模式)
全部学习完成后使用“退出学习”语音指令来退出当前的学习状态。
学习结束后会自动生成一个ID,通过这个ID编写程序来控制即可。
电路连接
因为WS2812灯带是一盘连在一起,而我们需要将灯带设计成两个箭头,所以需要根据需求将灯 带剪开重新焊接,排列出两个箭头造型。
WS2812灯带一段为+5V、Din、GND;另一端为+5V、Do、GND。在改装的时候,需要注意两段灯带连接在一起时,上一段的Do端需要和下一段的Din端焊在一起,第一段的Din端,需要焊上一个3P的杜邦线,到时候连接到UNO的数字引脚。
我使用了四个灯珠的灯带作为箭头主体,另外两边分别再两接两个少一点灯珠的灯带作为箭头指示方向。(最后测试的时候,发现单条的效果不是特别好,所以在实际应用的时候每一边共用了22个灯珠。同样的焊接方法。)
焊接完成后,可以写一段测试程序,测试一下焊接的灯带是否能够正常工作。可以将灯带分别接到UNO板子的数字引脚2号和3号。打开Mind+软件,点击左下角扩展,在主板中选择UNO主板,在显示器中选择WS2812RGB灯。
然后录入下面的亮蓝灯测试程序:
测试无误后,结合下表和接线图进行电路接线。
| 元件名称 | UNO引脚 |
|---|---|
| 左转弯灯带 | D3 |
| 右转弯灯带 | A5 |
| ASR离线语音模块 | D2 |
接线完成后,将灯带装到马甲上。(实际使用的时候,可以将灯带缝在魔术贴上,这样后续便于拆卸和衣服的清洁。)
将UNO板和电源装入衣服预先准备的安装位置,开始程序编写。
程序编写
准备工作
-
库文件添加:这里我们使用了编程工具是Mind+图形化编程软件,在使用之前需要在扩展里的用户库的搜索栏输入下面这个链接 https://gitee.com/haohaodada-official/ext-asr查找到离线语音识别模块后,添加这个库文件就可以在图形化的方式下使用这个模块了。
-
指令ID查看:
将上面的程序上传后,点击右下角的打开串口,可以从串口中读取到刚刚上面新增的四个命令词ID(左转弯(ID:55)、右转弯(ID:56)、紧急情况(ID:57)、照明模式(ID:53))。
功能流程图
根据实际功能要求写出流程图,进行功能分析。
程序编写
程序完成后,将锂电池接入UNO的电源供电口,将电源和控制板放入马甲的口袋中,就可以开始愉快使用啦!
成功通电后,语音模块会发出欢迎提示音,通过唤醒指令“小曼同学”唤醒。唤醒后,再使用“左转弯”、“右转弯”、“紧急情况”、“启动照明模式”来测试对应的灯带工作状态是否正常。
五、作品实际测试
附
原文链接:https://mc.dfrobot.com.cn/thread-311954-1-1.html?fromuid=830836
项目作者: MRX
首发于DF创客社区
硬件军火库
点击了解详情👆
大家有什么想说的或者是对文章翻译的指正,欢迎在下方留言!
欢迎大家点击阅读原文,与作者直接沟通!
往期项目回顾
如何用ESP32-CAM和3D打印件做一个Strider摄像机器人
2022第一弹——用Arduino和电磁继电器做一个“电磁炮”
点击阅读👆

