一起成为技术颜控
作者:梁立昊(杭州市金成外国语小学)
指导老师:铁熊(捣鼓车间)
先来看一下演示视频:
# 创作灵感
放暑假的第三天,我和爸爸在去买东西的路上,看到两个外卖小哥哥的自行车发生了追尾。此情此景让我想到,很多人骑车时都会遇到这样的情况:前方的自行车会突然转弯或刹车,使得后面的车辆来不及躲避。汽车有转向灯,可以让后方车辆知道何时要转向。但自行车却没有转向灯,后方车辆和行人无法及时判断自行车的行车方向。想要解决这个问题,我该何从下手呢?
目前的自行车设计已经自成体系,全部进行改造几乎不可能,所以只能通过其他方式进行讯息传达。联想到我们骑车时要带安全帽,是不是可以把转向提醒功能集成到安全帽上呢?于是我就想到了做一个可以传达转向信息的“智能骑行安全帽”。

# 设计思路
如果我能在普通的安全帽上,加上类似于汽车转向灯的灯光提醒功能,这样的话,只要我骑车时戴上这个骑行安全帽,那后面的车就可以知道接下来我骑车的动向啦。
比如如果我想左转,只要让头微微向左倾斜,就能打开左转向灯,左边的灯带就显示红色闪烁;如果我想右转,只要让头微微向右倾斜,就能打开右转向灯,右边的灯带就显示红色闪烁;如果我在直行,只要不倾斜头,两边的灯带都显示绿色,表示安全,那后面的人就知道我接下来的动向啦,讯息传达的越及时越准确,交通事故发生的就会越少。除了灯光提醒之外,我还在帽子上加了照明灯,当在晚上骑行时可以打开照明灯,起到照明作用。
那又如何实现倾斜检测呢?我在帽子的两边装上倾斜传感器,当向两边倾斜时,倾斜传感器就能检测到我的动作啦。提示灯和照明灯效果都可以使用WS2812 RGB灯带实现。
图:智能骑行安全帽设计草图
# 材料准备
首先根据设计思路,准备好制作骑行安全帽所需的材料,清单和说明如下表和下图所示。
图:材料表

图:智能骑行安全帽材料清单
# 电路设计
为了方便编写程序,先设计智能骑行安全帽的电路连接关系,电路原理图如下图所示。
图:智能骑行安全帽电路原理图
提示:为了绘制方便,电路图中主控板并未采用 Athena,而是采用了与之兼容的 DFRobot 出品的 Arduino Uno 与传感器扩展板。
# 程序设计
在写程序之前,先梳理一下思路,设计一下程序流程图,如下图所示。骑行时,使用者戴着这顶安全帽。当检测到照明开关被打开时,打开照明灯;当检测到头向左倾斜时,打开左转向灯;当检测到头向右倾斜时,打开右转向灯;当头没有向两边倾斜时打开直行绿灯。
图:智能骑行安全帽程序流程图
理清思路后,正式开始写程序。打开Mixly软件,先对倾斜传感器、照明开关和灯带做初始化设置,如下图所示。
图:初始化设置
然后编写几个函数,分别用来控制灯带亮灭的各种情况。包括左转向灯亮、左转向灯灭、右转向灯亮、右转向灯灭、照明灯亮、照明灯灭和直行绿灯,如下图所示。
图:编写灯带亮灭颜色变化的程序
在主程序部分,先去读取照明开关传感器和倾斜传感器的值。注意在读取左边倾斜传感器的值时,加了一个“非”,这是跟倾斜传感器安装的方向有关,由于两个倾斜传感器是对称安装的,所以当头分别向两边倾斜时,两个倾斜传感器读取到的数值是相反的。而头向左倾斜时,左边倾斜传感器读取到的值是“低”,所以为了方便后面判断,在读取值时加了个“非”模块,如下图所示。
图:读取倾斜传感器与照明开关传感器的值
然后根据程序流程图,利用读取到的传感器数值,对灯带进行控制。注意每次转向时,转向灯只有一边闪烁提醒,这个时候要记得关闭另一边灯带,不然两边灯都亮,容易造成混淆,如下图所示。
图:根据传感器的值控制灯带的亮灭颜色变化
最后完整的程序如下图所示。上传程序,看看效果吧。
图:智能骑行安全帽程序
# 制作过程
设计完电路和程序之后,就正式开始制作啦。后面根据制作的效果,可以再对程序进行相应的调整。比如两个倾斜传感器的检测程序,我们需要根据实际安装位置进行调整。
## 固定灯带
首先就是改装安全帽啦。如果把元器件和线材都裸露在外面,既不美观、又不安全。所以该怎么把材料都隐藏到安全帽里呢?我灵机一动,想了个办法。安全帽里面有一层很厚的塑料泡沫,如果我割下其中的一小块,把元器件都藏在里面,不就解决问题了嘛。切割的时候,千万要小心,一方面小心手指被割到,另一方面,切割下来的一下块塑料泡沫后面还有用处,所以请保持形状完整,如下图所示。
图:切割安全帽后方的塑料泡沫
注意:本项目是在老师与家长的监护之下进行设计、实验和演示,小朋友们千万不要自己模仿哦,如果割掉的塑料泡沫影响到安全帽的结构稳定性,就有可能会造成安全隐患哦。
接下来将2条WS2812 RGB灯带对称贴到安全帽的后面,将导线穿过安全帽后面的两个孔,隐藏到安全帽里面,如下图所示。为了防止灯带脱落,可以适当涂点热熔胶用来固定。这2条灯带是起到左右转向灯的作用哦。
图:安装转向灯灯带
将剩下的第3条灯贴到到安全帽前方,同样将导线穿过安全帽前方的孔里,隐藏到安全帽里面,适当涂点热熔胶固定,如下图所示。这条灯带的作用是用来照明的哦。
图:安装照明灯灯带
## 安装倾斜传感器
然后开始安装倾斜传感器。还记得前面的步骤中,安全帽后面的塑料泡沫切了一个小口子么?我们分别将2个倾斜传感器安装到这个缺口的两端,用热熔胶固定,如下图所示,注意保持2个传感器分别向两端倾斜。我们可以通过调整这两个传感器的倾斜程序来调整自动转向灯的灵敏度哦。
图:安装倾斜传感器
## 电路连接
开始连接电路啦,根据电路原理图,将各个元器件连接到 Arduino 对应的引脚上。电路连接完成后,如下图所示。
图:电路连接
## 整理固定
将Athena主控板和锂电池用热熔胶固定到安全帽后方的缺口上,如下图所示。
图:固定Athena主控板与锂电池
注意在固定的时候,Athena 主板的 USB 口要朝外,因为待会上传程序会用到哦。另外,还需要将拨动开关用热熔胶固定到安全帽后方的下沿上,用于打开和关闭前面的照明灯,如下图所示。不要把它误认为是电源开关,因为 Athena 主板已经集成了电源开关。
图:固定拨动开关
用扎带整理好所有的线材,平整地塞进安全帽缺口中。还记得那块被割下来的小塑料泡沫么?轮到它上场的时候啦。将这块小塑料泡沫割薄一半左右,然后放回原来它被割下来的位置,是不是正好就盖住所有的电路元器件啦。稍微涂点热熔胶,将它固定在原位置,如下图所示。
图:整理线材与安装塑料泡沫
至此,安全帽的改装就大功告成啦,成品图如下图所示,接下来就可以上传程序啦。
图:改装完后的安全帽

# 效果演示
打开电源开关,将安全帽向左倾斜摆放,左边的转向灯开始红灯闪烁,同时右边的灯熄灭,表示接下来要向左转弯;将安全帽向右倾斜摆放,右边的转向灯开始红灯闪烁,同时左边的灯熄灭,表示接下来要向右转弯;将安全帽平放,安全帽后方的灯带就亮起了直行绿灯,表示接下来是直行向前;打开照明开关,安全帽前方的照明灯就亮起来啦,是不是很实用呢。完整的演示效果如下图所示。
图:智能骑行安全帽效果演示
演示视频请在文章开头查看。
提示:视频中呈现的是第一代智能骑行安全帽的演示效果,为了本文照片美观与详尽过程记录,特意做了优化改进的第二代智能骑行安全帽

# 后续思考
本作品是用 Arduino 设计制作的,学过 micro:bit 的同学,可以思考一下有没有更简单的解决方案呢?
*欢迎转发朋友圈。如需转载,请注明出处和原作者。
DFRobot官方商城小程序正式上线
700+开源硬件 一站式挑选
树莓派4预售啦!
↓↓↓
——测评\试用作者征集——
你有想要测评的硬件产品吗?
你有想制作的脑洞项目吗?
快来申请免费测评\试用作者名额!
↓↓↓

长按二维码填写报名申请
或
点击“阅读原文”报名
项目干货戳这里
柔性电子皮肤来了 | 美队护盾我收下了 | Arduino混合饮料机
MIDI控制自动弹钢琴 | mini热带温室 | 无线蓝牙机械键盘
吃币机器人 | 骨骼追踪抛物预判垃圾桶 | 弹球机

美的作品,值得拥有一个 “在看”






