为媒体中心构建自己的动态环境照明

花费不到100美元,您就可以设置一个令人惊叹的照明系统,该系统可以反映屏幕上的内容;如果视频是蓝色的夜景,则灯光将是蓝色的;当橙色火焰燃烧时,您的灯光也会闪烁。欢迎来到环境RGB照明的世界。

组件

  • RGB灯带–这是5米长的RGB LED灯带,可以在eBay上购买并从香港以不到的价格运送每个20英镑。如果您在电子商店中购买商品,则需要按电表付款,而500万卷的价格是该价格的三到四倍,因此请在线购买。这些类型的LED灯条可以更改为任何颜色,但一次只能更改-它们不能单独调节。
  • 12v电源-所需的功率(安培数)取决于您安装了多少LED灯条将连接。每个仪表消耗约0.6安培的电流,但这取决于您的LED的密度,因此请务必检查您的特定LED灯条。 3A足以满足我上面链接的5m带,并且如果您无法在其他地方采购一个,则可以以10英镑左右的价格购买单独的电源。
  • 3 x MOSFET N晶体管–您可能会发现价格便宜,但我以10英镑左右的价格买了一包6张(em> STP16NF06FP型)。这些用于隔离来自Arduino的电流-将板条直接连接到Arduino会将它们消耗的电流炸掉。对于红色,绿色和蓝色,每个LED彩色通道需要1个MOSFET晶体管。
  • Arduino –我没有包括此项目的成本,因为假设您已经拥有一个,并且有如果您买不起官方的产品,则可以购买各种克隆。
  • 因此,总成本约为 40英镑,不包括Arduino。

    该项目包括两个部分。首先,我们将创建一个基本的Arduino电路,该电路可侦听来自计算机的命令,并将RGB LED设置为适当的颜色。第二步涉及在计算机端使用一个名为处理和Java的新应用程序-计算当前屏幕上的颜色,将它们取平均,然后将其输出到串行通信端口以供Arduino做出反应。

    我们正在使用的电路非常简单,如下图所示。该LED灯带的一端应带有公插头,您可以将其直接插入面包板中。

    您的LED灯带可能会有所不同,但是如果仔细看,您会发现:会看到 12v,R,G,B 写在轨道上的某个地方。这些条实际上可以在这些铜点处进行切割(我的每个LED上有3个LED),因此,如果您想在电视的角落切割条,则可以放心地进行操作-您也无需使用整个5m ,因此您可能还有一些可用于将来的项目。直接将12v正电压连接到外部电源。

    MOSFET具有三个引脚;两个引脚分别位于MOSFET和MOSFET。 流失。门就像Arduino将控制的电子开关一样。然后,这确定了在源极和漏极之间流动的电流。每个MOSFET的漏极都应连接到Arduino的地,并连接到电源的地,而源极应连接到LED灯带通道。

    完成电路后,请下载并运行此测试代码(最初来自LadyAda,修改了引脚)。您应该会看到LED灯带通过各种颜色旋转。

    第2部分:处理

    下载处理并运行。您可能会惊讶地发现它看起来几乎完全像Arduino开发环境一样;这是因为Arduino环境基于此环境,尽管它们都执行不同的功能。拿起这段代码-最初是Silicon Republic的,但我本人对其进行了大量修改,以使屏幕尺寸设置自动进行并具有更好的颜色表示方式-并花点时间对其进行检查。基本上,它使用名为 Robot 的Java类来每隔 10ms 进行屏幕捕获;然后,它挑选出每个奇数像素并平均总颜色。如果对您来说性能是一个问题,请将 skipValue 变量增加到3或4以跳过更多像素-总体效果应该相同,但是因为它检查的像素更少,所以运行速度更快。最后,我添加了一个过滤器,该过滤器通过增加发现的最大RGB值和减小最小的RGB值来帮助饱和颜色(没有这个,我发现颜色太白了)。

    运行应用;第一次,您可能会遇到错误,因为它尝试访问错误的串行端口。

    检查调试窗口以获取当前串行端口的列表,并记下Arduino旁边的数字插入。在Mac上,USB连接是端口4。将此行中的数字更改为正确的端口:

    保存并重新运行;您应该会看到一个小窗口-这代表屏幕上所有内容的平均颜色。启动绘画应用或具有强烈色彩的东西进行测试,否则它可能只会显示模糊的灰色阴影。完成测试后,请停止应用程序,因为我们需要通过串行端口访问才能对Arduino进行编程。

    最后,将此代码加载到Arduino上。这段代码不是向LED灯带发送随机颜色,而是从串行端口(处理输出到该端口)读取值。相当容易理解,唯一困难的部分可能是在串行数据中使用标记:

    这可确保我们读取正确的字节值。– Processing app将标记输出为之间的“断点"每组值,以便Arduino不会不同步,并认为绿色值代表蓝色,等等。

    一旦Arduino代码上传(LED灯条最初应该没有输出) ),则可以加载并运行“处理"应用;立即,您应该会看到环境光在起作用。

    下面是一个视频演示,演示了如何通过随机的Trippy音乐视频为我工作。

    您觉得呢?虽然它不如分析屏幕的每个部分并使用单独的LED像素的东西令人印象深刻,但它便宜得多,而且亮度更高。唯一的缺点是,所有内容都必须在媒体中心计算机上运行,​​例如,它不能与常规电视广播或Xbox 360一起使用。如果您有任何问题,疑问或建议,则请走开;或链接到完成设置的视频。

    标签: Arduino Media Player