为了营造节日气氛,我们决定改造一件极具北欧风格的装饰品。每年的12月份,北欧人都会在家中的窗户上悬挂大大的纸星星来装饰屋子,纸星星里的灯投射出温暖的光,也寓意着主人对客人的热情欢迎。
通过交互设计,我们尝试着让这个发光纸星星变得欢快些。当手机发出指令后,灯光的闪烁模式和星星的颜色会发生变化。
这个项目灰常的有趣,过程中用到的Intel Galileo Gen 2 开发板和 Arduino GSM扩展板入门也很容易。做完这个项目后,你可以尝试修改项目代码实现更多的灯光闪烁模式,也可以将GSM技术融合到你自己的项目中。
先秀一下成品。
该项目所需物料清单:
Intel Galileo Gen 2开发板
GSM扩展板
Arduino 原型扩展板
1条白色LED灯带(63个LED灯)
1条蓝色LED灯带(63个LED灯)和电线
ULN2803A-达林顿晶体管
1000μF电容器
多股电线
LED电源适配器
2.1mm 的电源头(直流电)
Intel Galileo Gen 2电源适配器
小扎带
所需工具清单:
烙铁
壁纸刀
剥线钳
热熔胶枪
万用表
螺丝刀
重要信息:
LED灯带
这个项目所使用的LED灯带非常简单,所有的灯连接到一起,同时亮灭。在此需要说明的是这些LED灯不能进行独立寻址,也就不能实现单独控制或任意分组。
这个项目的LED灯带每米的电流为320mA,但Galileo开发板的每个引脚(Pin)最大拉电流为10mA,所有针脚灌电流总和最大为200mA,因此我们需要附加一个电源。所以请根据LED灯带的数据表提供的所需电流,购买合适的电源适配器。
此项目中的电源适配器足够安全,其最大电压为12V,最大电流为2225mA。1000uF的电容器连接电源和接地,用来防止瞬时峰值电压对LED灯的伤害。
因为安装了外部电源,所以我们需要安装一个电子元件来连接电源和微控制器,这时我们选择了ULN2803A,这个一个DIP-18 8路的达林顿晶体管。ULN2803A使用起来非常方便,他的注意功能是驱动LED灯。
如果您想使用独立寻址的LED灯(如Adafruit’s NeoPixels)做进一步的项目探索,您可以去这个论坛看看。
GSM扩展板
Arduino GSM扩展板支持Arduino主控板连接到互联网,能够拨打/接听语音通话和发送/接收短信。当我们进行一些简单的数据传输时,GSM扩展卡是非常实用的。
准备一张有效的电话卡。
在做这个项目的时候,官方还没有发布支持Intel Galileo Gen 2 开发板的GSM扩展板的库文件(library)。幸运的是,西班牙电信公司有一个解决方案。首先,到网站最下端下载这个GSM library,然后将其放在Intel官方的Arduino IDE的库文件夹下面。
最后,将数字引脚0和2连接,1和3连接,按教程一步一步做完即可。
Arduino 软件(Sketch)
到网站最低端下载控制纸星星闪烁的Arduino软件。
利用GSM扩展板制作发光の星星的分步教程:
1.9个白色LED灯一套,剪7套;剪7套彩色电线。
a.9个白色LED灯一组,全部做好标记,然后在标记处剪断——一共7套LED灯条。
b.剪掉外部的防水层和内部的绝缘层,漏出电线。
c.剪出7条彩色电线,每条长30cm。
2.LED灯接线
a.将锡条放在LED灯的接头上,并用烙铁融化锡条。
b.将电线焊接到LED灯上。(提示:8套LED灯正负极电线的颜色保持一致)
c.用热熔胶枪将接头粘好固定。
d.用“Milex接口”电线连接蓝色LED灯。
3.将LED灯线和达林顿管电线接入Arduino原型扩展板
a.剪红线和黑线各50cm,用做电源线;漏出3cm的铜线,连接电源。
b.参考上图,确定电线的接入点。
c.将红色电源线从板子正面穿入圆形插孔,然后焊接好。
d.将LED灯的正极线焊接到相应的板孔上,然后在板子的后面与电源线连接。
e.同样的方法连接蓝色LED灯。
f.根据原理图确定达林顿管的安装方向,将其焊接到图示位置。
g.将LED灯的负极线焊接达林顿管的输出端。
h.同样的方法将蓝色LED灯。
i.件8段20cm的多色电线,将其焊接到开发板的数字引脚上。
j.根据示意图,将8个电线头焊接到达林顿管的对应接口处。
k.剪1段20cm的黑线,焊接到达林顿地线接口,然后将电线的另一端焊接到开发板的接地(GND)引脚上。
l.将50cm的黑色电线焊接到接地引脚上。
m.剪2段2cm的电线,用电线将数字引脚0和2连接,1和3连接。
n.注意数字引脚(digital pin)和标记的白色LED灯带的对应关系如下:
i. Digital 13 = Label 1
ii. Digital 12 = Label 2
iii. Digital 11 = Label 3
iv. Digital 10 = Label 4
v. Digital 8 = Label 5
vi. Digital 6 = Label 6
vii. Digital 5 = Label 7
4.连接电容器和电源
a.查看适配器电压,确定可以为LED灯带安全供电。
b.将直流电源头与电源适配器连接。
c.正确连接电容器和电源头。(提示:电源头上标有正负极)
d.连接电源线和电源头,红线接电源头正极,黑线接电源头负极。
e.拧紧螺丝。
5.将Intel Galileo Gen 2开发板固定到纸星星的铁质支架上和组装扩展板
a.从纸星星里取出铁质支架,用小扎带将Intel Galileo Gen 2 开发板固定在支架上。
b.将GSM扩展板和Arduino原型扩展板安装到Galileo开发板上。
c.连接Galileo开发板的电源。
6.将蓝色LED灯带圈成圈
a.将蓝色LED灯带圈成圈,用小扎带绑好,这里先不要绑的太紧。
b.将其固定在支架上。
7.将LED灯装入纸星星中
a.将支架放入纸星星中。
b.将LED灯带的后面剥开,然后固定到支架上。
c.将蓝色LED灯带置于纸星星的中心,然后绑紧小扎带。
8.编程和测试
a.阅读“英特尔伽利略开发板(Intel Galileo)入门”指南。
b.将Intel Galileo Gen 2 开发板联入电脑。
c.连接电源。
d.下载源代码。
e.将代码导入Galileo开发板。
f.通过手机短信发送下面的指令,测试纸星星。
i. cmd 1
孔雀开屏模式
ii. cmd 2
放射模式
iii. cmd 3
随机模式
iv. stop
熄灭全部的LED灯