挥手感应灯
2017-02-06
夜晚起身时,在黑暗中迷迷糊糊地摸索电灯开关是一件恼人的事,本期介绍制作的这个挥手感应灯也许可以帮你解决这个烦恼。你只需用手在灯光盒前面轻轻一挥,就能轻松地把灯打开或是关上了。此外,这款挥手感应灯还是一个营造氛围的小能手,每一次挥手,灯光都会变换一种颜色,你也可以根据自己的喜好选择某一种颜色的灯光。有没有觉得自己现在也可以成为一位智能家居的缔造者了?
准 备 材 料
Arduino控制板,4个环形LED灯盘,红外测距传感器SEN0143,电源适配器,杜邦线。
挥手感应灯选用了环形LED灯盘作为发光元件,灯光的视觉效果比普通的LED更加炫目美观。每个灯盘上有12颗RGB LED,单颗RGB LED芯片共有256个红色亮度,256个绿色亮度,256个蓝色亮度,理论上可以混合成2563种颜色。LED灯盘背面有4个接线端,分别是5V电源端、GND接地端、信号输入端和信号输出端。
挥手感应灯之所以能实现挥手即可开关的智能效果,红外测距传感器SEN0143功不可没。这是一种主动红外器件,它会主动发射红外线,并由与之相对应的接收器来接收。与之相对应,被动红外则是指本身不发射任何信号而只是被动接收、探测来自环境的红外信号。
SEN0143红外测距传感器共有两个信号窗口,一个是红外信号发射端,一个是红外信号接收端。工作时,信号发射端发射红外信号,当前方探测范围内有东西遮挡时,则接收端接收反射回来的信号。SEN0143红外测距传感器的输出信号为模拟信号,信号输出电压范围为0~5V,工作电压范围为4.5~5.5V,工作电流33mA,探测距离为4~30cm。
制 作 过 程
在4个环形LED灯盘的4个接线端上分别焊上杜邦线。这里选用公头杜邦线。
然后取两组3根母头杜邦线,各自从中间剪断后,将其焊接在一起,形成两组6头互联的杜邦线。
取一个废弃的盒子用作挥手感应灯的外壳,这里选用了一个单面透光的盒子,并在盒子的背面开一个小孔,用于接入电源适配器。
用热熔胶将4个焊好杜邦线的环形LED灯盘固定在外壳的透光面上。
把红外测距传感器也用热熔胶固定在透光面上。
根据下面的实物线路图,用杜邦线将4个LED灯盘、红外测距传感器和Arduino控制板连接起来。将4个灯盘的5V电源端、传感器5V电源端和Arduino的5V输出端采用一组6头互联的杜邦线连在一起。将4个灯盘的GND接地端、传感器的GND接地端和Arduino的GND接地端采用一组6头互联的杜邦线连在一起。同时将4个LED灯盘信号线串联在一起:4个灯盘的控制信号由第一个灯盘的信号输入端接入,然后从第一个灯盘的信号输出端连接到第二个灯盘的信号输入端,以此类推。
将Arduino控制板以及固定好的LED灯盘和红外测距传感器置于盒子中,并给Arduino控制板接上电源适配器,挥手感应灯的制作就完成了。
要想让挥手感应灯正常工作,还需要给Arduino控制板提前置入相关的控制程序。首先,从以下地址下载Adafruit_NeoPixel Library库文件:
https://learn.adafruit.com/adafruit- neopixel- uberguide/arduino- library- installation,并将其解压缩在C:\Program Files (x86)\Arduino\libraries。
运行Arduino软件,写入挥手感应灯程序(程序下载地址:http://pan.baidu.com/s/1jIDJdQI)。然后打开菜单栏中的“工具”选项,点击“板”选项,选择Arduino控制板的型号(这里是Arduino Duemilanove)。
选择Arduino控制板与电脑的连接端口(连接Arduino与电脑时,新增的COM3口即为Arduino的通信端口)。
点击“文件”→“上传”,将挥手感应灯程序上传到Arduino控制板,上传后Arduino控制板即可脱离电脑运行。
接上电源,当手置于传感器前方10cm之内,停留时间2s时,挥手感应灯开启,随机产生一组RGB数据,并以此亮度点亮4个LED灯盘;当手再次置于传感器前方10cm之内,停留时间少于2s时,则又随机产生一组RGB数据,并以此亮度点亮4个LED灯盘;当手位于传感器前方10cm之内,停留时间大于2s时,则熄灭4个LED灯盘。
扫一扫下面的二维码,可以观看挥手感应灯工作的动态效果。