用 Arduino 制造极致效果的流光溢彩灯
最近醉心于在房间制造各种「光污染」,包括给电脑屏幕添加一个流光溢彩的背景墙。效果非常炫酷。
接下来简单介绍一下制造这样一个作品所需要的材料、软件和实现方法。来 DIY 一个流光溢彩氛围灯,点亮你的显示器背景墙吧。
材料清单
Arduino UNO × 1
WS2801 灯带 × 若干
5V 电源适配器 × 1
电脑 × 1
按照接线图连接灯带
因为我们在项目中使用的是数字信号驱动,所以这里所有的 LED 都是用 IN 端连接。数据传导的方向也很重要,布灯带的时候需要特别注意。
WS2801 灯带有 4 个引脚需要连接,将 GND 接到 Arduino 的 GND。电源适配器的 GND 也需要接到 Arduino 的 GND,这是为了防止灯带出现抖动闪烁。
将 Arduino 通过 USB 连接到电脑,很简单。
下面考虑灯带的供电,我们需要使用 5V 的电源适配器为灯带独立供电。把电源适配器的通常是红色的导线接到灯带上的 5V 脚即可。
灯带的 SD 是数据引脚,接到 Arduino 的 11 号引脚。CK 为时钟引脚,接到 Arduino 的 13 号引脚。
请注意:在布灯的时候需要考虑灯与墙壁的位置,如果离墙壁靠得并不是太近,那么可以简化成只保留显示器两侧的灯带,上方再布一条灯带即可(实际效果也不会打折扣)。当然,理论上离墙壁越近效果越好。
编程
下载 Arduino IDE 并装好。
在 Arduino IDE 中下载 FastLED 库。
或者直接在官网 http://fastled.io/ 下载好然后导入 ZIP 格式的库文件到 Arduino IDE。
你需要确认 Arduino 对应的 COM 口,然后下载本项目的代码文件到 Arduino。代码文件在项目文件库中下载。
https://make.quwj.com/project/343
安装 Ambibox
你需要在电脑上安装 Ambibox 客户端。用来实时捕获当前显示的画面,并分析出色彩传输给 Arduino 进而驱动灯带。它不仅可以捕获桌面和全屏应用程序的画面,还可以捕获到全屏游戏的画面。
Ambibox 下载地址:
http://www.ambibox.ru/en/index.php/Main_Page
安装之后,选择 adalight 设备,指定 Arduino 的 COM 端口。
设置屏幕周围的 LED 数量,一切就 OK 了。
你还可以设置颜色,例如 Gamma 和饱和度,以便让显示效果和屏幕更加匹配。