使用 Arduino 制作流光溢彩监视器
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
应用和在线服务
![]() |
|
关于这个项目
嗨,朋友们,我希望你们今天一切都好,我将向你们展示如何使用 Arduino 制作电视流光溢彩
这是一个非常简单的项目。
各个部分的工作原理我就不赘述了,因为我已经在我的博客上写了一些信息。
https://www.diyprojectslab.com/make-tv-ambilight-w...
但是您应该能够使用此教程中提供的信息使其工作。
- PC 上的 Ambibox 软件(免费,但仅限 Windows)
- 带有使用 FastLed 库的简单脚本的 Arduino(进一步向下)(~3$)
- 50 个 RGB WS2811 LED(约 13 美元)- 可选电源块
此设置非常便宜,但仅适用于 PC
谢谢 下一块PCB:
本项目在Nextpcb的帮助和支持下顺利完成
注意
不支持 Linux 或 MAC。我使用的 Ambibox 软件仅在 Windows 上可用。(对于独立应用程序,有一个 RPI 变体,相当昂贵)
LED 工作得非常好,在桌面和看电影时没有明显的延迟!游戏是另一回事。
如果游戏在全屏模式下运行,软件大部分时间将无法捕获图像。
但无边界模式有效! (请记住,增加的 CPU 功率需要 ~5%)
第 1 步:构建所需的材料。

- LED 灯条 WS2812B
- Arduino Nano
- 迷你面包板
- 跳线
- 端子至 DC 插孔
- 迷你 USB 转 USB
- LED 的 5V 电源
- 一台电脑
- Arduino IDE
- 编程电缆
谢谢NextPCB:
本项目在Nextpcb的帮助和支持下顺利完成
伙计们,如果您有 PCB 项目,请访问他们的网站并获得令人兴奋的折扣和优惠券。
这是 NextPCB 的仲夏促销
1. PCB 订单最高可享受 30% 的折扣
2. PCBA 订单最高可享受 20% 的折扣
5-10 件 PCB 原型仅需 0 美元 https://www.nextpcb.com/
第 2 步:RGB LED。


这个项目最重要的部分是带有单独控制器的RGB LED。这个项目最重要的部分是带有单独控制器的RGB LED。
您获得哪个 RGB LED 控制器并不重要,只要 FastLed 库支持这些控制器即可。这是支持的 LED 芯片的链接:https://github.com/FastLED/FastLED/wiki/Overview
最常见的是 WS2811 或 WS2812 LED,因为它们便宜且易于使用。
这些也用于本项目。它们至少以两种不同的类型出售: - 作为单个灯泡(12 毫米),可变间距最大约为 10 厘米。
您通常会得到 50 对,但您可以根据需要添加或提取 LED。 - 作为 LED 灯条(背面有粘合剂)。
您每米购买的这些具有固定间距。 (每米 30/60/或更多 LED)。使用单灯泡 LED,您可以获得完全自由定位和间距的优势。
但另一方面,您必须找到一种方法将它们添加到您的显示器中。
第 3 步:在电视上安装 LED 灯条。



所以首先,从后面测量显示器的尺寸,看看需要从条带上切割多少个 LED。
测量时每边留出约 1 厘米,以确保条带在连接到显示器时不会显示。
对测量结果感到满意后,将 LED 灯条切割成一定长度。
这些 LED 中的每一个都可单独寻址,因此您可以在标记的切割点(如图所示)切割每个 LED。
继续切割所有4条。完成后进入下一步。
将所有条带切割成一定尺寸后,就可以重新连接它们以充当单个“柔性”条带。我使用了一些绞合线。
只需将 +5v 焊接到下一个 +5v 导轨,将 DIN 焊接到下一个 DIN,将 GND 焊接到下一个 GND。
完成后,条带应全部连接成 4 部分。
重要提示 :确保灯带方向箭头指向正确的方向,否则什么都不会
第 4 步:连接 Arduino


将 DIN 引脚连接到 arduino 板上的 5 号引脚。
我的带有一些我焊接的标题。
在图片中,我不小心使用了一根白线作为接地线,一根黑色线作为数据线。
不要混淆,条带的数据线需要连接到arduino板上的第4针。
可选 :您可以将 arduino 的 GND 引脚连接到 PSU GND,如果您使用 PC PSU 的单独电源,这将非常有用。
接下来将 arduino 连接到您的 PC 并安装必要的驱动程序(如果有)。
假设 :你知道如何将代码编译到你的arduino。
如果不是在网上搜索无数教程:) 使用 arduino 程序员使用以下代码编译和编程 arduino 板:
第 5 步:连接

如果您使用的是 WS2811/12 LED,则只需进行 3 个连接。
您必须将 5V 电源与 LED 上相应的 5V 线连接。
您必须将 PSU 的接地与 Arduino 的接地和 LED 的接地连接您必须将 LED 的数据线与 Arduino 的一个数字端口连接。
哪一个并不重要,但你必须记住这个数字。
第 6 步:软件
Adalight + Perismatic
去下面下载Arduino的Adalight代码。
(代码)
在 Arduino IDE 中打开它并确保您之前已经安装了 FastLED 库。








在代码中,我们所要做的就是定义引脚,在我的例子中是数字引脚 4,以及 LED 的数量,在我的例子中是 60。
编译,选择COM口,上传代码到Arduino。
在这里调整每种颜色,直到与背景墙的颜色相匹配,在我的情况下为白色。
点击下一步,我们就完成了。现在播放您在说明中找到的任何 RGB 测试视频,然后就可以了。
您现在可以观看带有 AMBILIGHT 效果的电影,这太棒了。

该应用程序还具有音效,LED 会根据您播放的音乐闪烁。
访问我的网站 DiY Projects Lab 有超过 25 个很棒的详细项目
代码
- 代码
代码Arduino
#include "FastLED.h"#define NUM_LEDS 240#define DATA_PIN 6 // 波特率,更高的速率允许更快的刷新率和更多的 LED(在 /etc/boblight.conf 中定义)#define serialRate 115200 // Adalight 发送一个发送像素前的“魔术字”(定义在/etc/boblight.conf中) datauint8_t prefix[] ={'A', 'd', 'a'}, hi, lo, chk, i;//初始化LED- arrayCRGB leds[NUM_LEDS];void setup() { // 使用 NEOPIXEL 保持真实色彩 FastLED.addLeds(leds, NUM_LEDS); // 初始 RGB 闪光 LEDS.showColor(CRGB(255, 0, 0));延迟(500); LEDS.showColor(CRGB(0, 255, 0));延迟(500); LEDS.showColor(CRGB(0, 0, 255));延迟(500); LEDS.showColor(CRGB(0, 0, 0)); Serial.begin(serialRate); // 发送“魔术字”字符串到主机 Serial.print("Ada\n");}void loop() { // 等待魔术字的第一个字节 for(i =0; i
示意图

制造工艺