LED 塔艺术
组件和用品
| × | 288 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 12 | ||||
| × | 10 |
必要的工具和机器
| ||||
| ||||
| ||||
|
应用和在线服务
|
关于这个项目
这个项目的灵感是由圆柱体和平面相交产生的无数曲线!我想创建一个 LED 灯光秀,但最近我已经构建了几个 LED 立方体。我想做一些不同的事情,从硬件和软件的角度来看。我认为这将是一个有趣的编程环境 - 与立方体一样具有潜力的东西,但完全不同!
我选择为这座塔使用 8 毫米 APA106 可编程 LED。比普通 RGB LED 更贵,但从硬件和软件的角度来看,它们都更容易使用。没有移位寄存器——一切都由两条数据线控制。并且没有 ISR(中断服务程序),也没有 LED 层之间的多路复用——这些 LED 一直亮着。
我决定将我的圆柱/塔构建为一组 12 个相互堆叠的环。环的直径为 8",每个环包含 24 个 LED,间距为 1"(实际上是 π * 8 / 24 但接近一英寸)。环本身相隔 1 英寸,因此 LED 在两个方向上相距 1"。亚克力棒用于将环固定在一起以形成塔。
APA106 LED 可以在最大亮度和白色下吸收 60 毫安电流,因此在最坏的情况下,这座塔可以吸收 17 安培电流!但是这些 LED 太亮了,我很少在软件中将亮度设置为 10% 以上。将整个塔变成白色也没有在任何地方真正完成。所以在实践中,我从来没有遇到过使用 USB 端口为其供电的问题。如果您想使用单独的电源,2 安培似乎可以正常工作。
施工
我在亚马逊上发现了一些直径为 8 英寸的金属环,我认为它们可以为我的 LED 环打下良好的基础。当我发现我可以轻松地焊接到它们时,这实际上是一个惊喜!术语“容易”是相对的 - 环是很重,需要大量的热量才能让它足够热,所以我的 40 瓦烙铁一直被调高,它通常必须在焊料熔化前在那里静置 5-10 秒。我先用焊料润湿环在尝试将 LED 焊接到它之前,并始终在 LED 的引线上使用夹子散热器。
但我有点超前了。在开始将 LED 焊接到环上之前,您需要按照下图对其中的 24 个进行引线成型
作为引线成型操作的一部分,我在接地引线的末端放置了一个小弯。它既便于识别,又便于将其连接到戒指上。
将 LED 焊接到环之前的另一个准备步骤是在将放置 LED 的环上划出 24 个均匀的空间。我还发现在连接 LED 时需要垂直夹住环。我最终使用下面的装置将戒指固定到位,
一旦将几个 LED 焊接到环上,就需要将数据输入引线连接到数据输出引线,如下所示。请注意,夹式散热器始终用于保护 LED。
在所有 LED 都在环上之后,您应该有一个用于整个环的数据输入引线,它对面的数据输出引线准备好进入它上面的下一个环。此时,我们已准备好将所有 +5 伏引线与一根拉直的 22 号镀锡铜线连接在一起。将一根 26" 长的电线夹在台钳上,用钳子用力拉另一端,然后将其拉直,然后将其连接到 LED 上,如下所示。
完成戒指后,您可以使用我提供的测试草图对其进行测试。测试很重要 - 现在修复坏的 LED 或冷焊点比在完成的塔中间容易得多!测试是通过将开放数据输入引脚连接到 UNO 引脚 6 来完成的。随附的测试草图与本视频中的略有不同,但应该会告诉您戒指是否工作正常。
现在你必须再制作 11 个戒指。工作量很大,但只要稍加练习,您就可以将一个戒指的制作时间缩短到几个小时。
重要的是每个环中的 LED 与其他环上的 LED 对齐。如果 LED 的间距完美,这不是问题,但我的间距变化足够小,我发现有必要使用一个环作为其他环的模板,始终小心地放置开放的数据输入引线(一个没有连接到数据输出引线)在同一个地方。 (如果你仔细观察我的塔,前两个环并不能很好地相互对齐。但之后,我使用这种模板方法得到了很大的改进。)
一旦你建造了至少四个环,你就可以开始组装塔的过程。下部四个环的初始组装可能是施工中最关键的部分。我们不想建造比萨斜塔!要将戒指放在一起,您需要 22 毫米高的垫片以在戒指之间形成 1 英寸的空间。我的垫片使用了 3D 打印的黑色塑料,但 1/4 英寸的定位销也同样适用。为了将垫片固定到位,我使用了一点 Blue Tack,一种临时粘合剂。
使用六个 12 英寸长的亚克力棒将这些环固定在一起形成塔。在应用这些棒之前,将所有东西都准确地固定到位非常重要。一旦棒被热粘到环上,几乎不可能进行任何更改,因此首先将所有东西放在您想要的地方。一切就绪后,您可以将塔翻转过来,然后将亚克力棒热粘到环上。下面的照片显示了前四个环和前三个连接杆。然后又附加了三个,总共六个。杆放置在 LED 之间,每个杆之间有 4 个 LED。
一旦所有杆都连接到环上,就可以移除垫片,然后在添加额外的环时重新使用。当所有 12 个环都到位后,我们准备连接环之间的接地、+5v 和数据线。这是使用 22 号镀锡铜线完成的。电源轨与所有 12 个环并联连接。
有两条数据线,每条有 144 个 LED——一根用于顶部 6 个环(最终连接到 UNO 引脚 6),一根用于底部 6 个环(最终连接到 UNO 引脚 7)。每条数据线从最低的环开始,一直到最高的环。我原本计划只有一条数据线,但到了 8 号环,我开始看到一些奇怪的不需要的闪光。我一开始以为可能是电源轨,但在轨上增加一些电容器并没有帮助,所以我诉诸于将塔分成两条数据线。那解决了问题。
所以上面是完成的塔的图片。 Arduino UNO 安装在底部。我实际上是用剩下的 4 根丙烯酸棒来悬挂 UNO,使用热胶将所有东西粘在一起。另一种方法可能是将塔安装在内部装有 UNO 的底座上。有 4 个连接到 UNO、接地和 +5v 导轨,连接到所有 12 个环,两条数据线连接到引脚 6 和 7。
软件
像 APA106 这样的可编程 LED 很容易使用,因为有几个可用的库来处理用于控制它们的数据脉冲的时序。对于我之前使用 APA106 LED 完成的项目(我的第二个 5x5x5 RGB 立方体和三角形艺术项目),我使用了 Adafruit 流行的 NeoPixel 软件库。但是对于这座塔,我选择了 FastLED 库。它有许多很棒的功能以及一些我认为会派上用场的快速数学函数。它还让我可以轻松地用 256 步调色板替换我相当粗糙的 43 步彩虹调色板。它有数百个函数、预定义的调色板和其他我没有在这个项目中使用过的东西,但这使它成为这个项目和未来项目的绝佳选择。我发现 FastLED 的另一个非常方便的功能是它能够轻松进行淡入淡出。
我总是喜欢有一个功能可以让我轻松指定 LED 及其颜色。对于这个塔,它需要采用 setColor(row, column, color) 的形式,其中 row 是它在哪个环上,column 是那个环上的哪个位置。这一例程处理 LED 所在数据线及其在数据链中的位置的所有转换。
FastLED 库中的一个强大工具是其所有网络命名颜色的对象类。您只需将颜色指定为 CRGB::HotPink,其中 CRGB 是类,HotPink 是该类的成员。但是类成员很难继续输入并且烦人地将其作为参数传递给函数,所以我使用 #define 语句来设置一个小的命名颜色调色板,我可以简单地通过它们的名称而不是 CRGB::来引用它们。
我还有另一个函数可以将特定 LED 的颜色设置为从 0 到 255 的彩虹调色板色调。在这两个函数之间,我可以轻松指定 10 种命名颜色或为塔中的任何 LED 生成平滑的彩虹调色板。
我创建的另一个基本函数是旋转(环,方向),它旋转该环上任何环的内容。每次调用都是一个步骤,但是这个例程可以用来旋转整个塔的内容,或者反方向旋转塔的部分等,创造许多有趣的效果。
关于 FastLED 库,我可能会提到的另一件事是它直接支持我正在使用的 APA106 LED。虽然 Adafruit 的 NeoPixel 库也可与 APA106 配合使用,但我必须对设置进行试验才能使其正确。使用 FastLED,只需将 APA106 指定为您正在使用的 LED,即可自动进行设置。
正如我在开头所说的,您可以使用此塔创建的更有趣的效果之一是圆柱体和平面之间的交叉点。起初我想尝试用数学来快速完成这个任务。但是存在关于 UNO 是否足够快的问题,结果证明在表格中执行它非常容易,所以我采用了后一种方法。基本上这张桌子以 18 个不同的角度照亮了飞机与塔的交叉点,并且交叉点发生的高度可以改变。您将在节目中的多个不同位置看到结果。
我使用相同的表格方法来创建圆柱体与球体的各种交叉点。它奏效了,虽然不如与飞机相交那样有效。节目中有一种效果使用了它。这两个表都存储在程序存储器中,以免消耗RAM。
软件包中包含三个 UNO 草图:
1) 单环快速测试。
2) 45 秒的节目预览
3) 8 分钟长的表演,有 16 种不同的效果或动画
在这篇文章中的视频中显示了所有三个(尽管环测试与视频中的测试有些不同)。
关于软件的最后一件事。在调用不同动画的主循环结束时,我添加了软件重置。这通常不是必需的,但我的软件中某处有错误。如果没有重置,通过所有动画运行无数遍后,程序会挂起。可能我有一些东西没有从 RAM 中的堆栈中脱离出来。它甚至可能是 FastLED 库中的一个问题。但我从来没有找到它,软件重置确保了流畅的操作,虽然不是最优雅的解决方案。
代码
- 用于 LED 塔艺术的 Arduino 代码
- 塔艺术软件
用于 LED 塔艺术的 Arduino 代码Arduino
此下载是一个包含 3 个草图的 zip 文件:1) 环测试从引脚 6 测试单个环
2) 快速展示 - 45 秒预览
3) 8 分钟后重复播放
无预览(仅限下载)。
塔艺术软件Arduino
此下载是一个包含 3 个草图的 zip 文件:1) 环测试从引脚 6 测试单个环
2) 快速展示 - 45 秒预览
3) 8 分钟后重复播放
无预览(仅限下载)。
示意图
制造工艺