【Arduino 动手做】构建一个迷你 Las Vegas RGB LED 球体

2025-05-293288




【Arduino 动手做】构建一个迷你 Las Vegas RGB LED 球体图1

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(25)
驴友花雕
驴友花雕
作者



驴友花雕
驴友花雕
作者



驴友花雕
驴友花雕
作者
## 第 24 步:下一步
我对这个项目的结果非常满意。这是我第一次使用 LED 灯条和 Ws2812b LED。它肯定比我计划的要复杂得多。我真的很喜欢这个,但我肯定会制作一个 v2。以下是我想要改进的地方。首先,我想为我和你们所有人去除焊接。我以为编码会是最糟糕的部分(我不擅长编码),但令人惊讶的是,这是最简单的。组装和焊接是最难的,因为铜焊盘不需要焊料。我还想让球体更大。我计划让我的第二个球体有 2 组条带,而不是 1 组。尽管这意味着我将需要一个更强大的微控制器。我打算使用更坚固的 esp32,它可以像微风一样运行 LED 灯条。它还有我打算使用的 wifi。我可以取下 IR 遥控器并使用我的手机运行它。最后,我想有更多的动画。总的来说,我真的很喜欢这个项目,在经历了所有的失败之后,我计划很快做一个新的项目。

驴友花雕
驴友花雕
作者
## 第 23 步:结果
这很难制作,但我喜欢这个结果。对于我的第一个 LED 项目,我认为结果非常好。
(照片看起来比实际糟糕得多,因为它无法捕捉到所有的 LED。我试图获取烟花模式的视频,但由于同时发生了很多事情,相机无法顺利对焦和捕捉视频,导致模糊不清。





驴友花雕
驴友花雕
作者
## 第 22 步:布线/3D 模型
现在我们需要完成接线。您可以按照顶部的接线图进行作。然后按照图片了解如何插入所有组件。我建议将 IR 接收器和电源连接器粘合在一起。最后,您可以将扩散器(白色圆顶)粘在底座上,但我认为您不需要这样做。




驴友花雕
驴友花雕
作者
## 步骤 21:代码(程序集)
Code (assembly)
现在我们需要对其进行编码。首先,您需要确保我的 IR 遥控器值与您的值一致。要测试此作,请将代码上传到 Arduino 并按下按钮。如果你能改变颜色,你就会知道一切都正常。如果没有任何反应,您需要转到串行监视器。每次按下按钮时,它都应该显示该值。您需要更改每个值,并使其与我的值相对应。接下来,您需要设置 LED 级别。所以现在你需要输入每个级别上有多少个 LED。例如,如果 LED 的第 1 级是 50,第 2 级是 50,第 3 级是 48,那么在值中应将其写为 50、50、48。现在所有颜色都应该可以工作,并且其中 3 个动画应该可以工作。最后,如果您想要表情符号动画,则需要输入更多值。您需要输入每个指示灯的位置。因此,您将从底部开始,然后加起来得出它是什么 LED。有关详细信息,请参阅照片。

驴友花雕
驴友花雕
作者
## 第 20 步:Soldering_2(组装)
现在我们需要焊接数据引脚。首先,如果您没有 LED,请给 LED 镀锡,然后给电线镀锡。我还建议减少数据线的长度,因为我的数据线太大了,这导致了非常难看的外观。一旦你的数据线都焊接好了,你需要测试它是否有效。这意味着我们需要上传代码。
注意:
尽管焊接看起来像 2 个步骤,但我花了一整天的时间来完成焊接。如果您决定这样做,请在焊接所有东西时耐心等待。此外,要非常脆弱,因为电线会想要解开,这可能会撕裂铜垫,弄乱整个条带。


驴友花雕
驴友花雕
作者
## 第 19 步:粘合
现在我们必须粘合 LED 灯条。我们还不打算焊接数据引脚,因为它们相距很远,但是一旦 LED 安装在球体上,LED 的数据引脚就会彼此相邻。为了粘合它,我建议使用一些带有加速器的 CA 粘合。仔细检查您是否已写入每个级别的 LED 数量,然后取下胶带。


驴友花雕
驴友花雕
作者
## 第 18 步:Soldering_1(组装)
Soldering_1 (assembly)
现在我需要焊接它们。焊接它们需要很长时间,因为铜焊盘太小了,不想与焊料粘合。我焊接了 2 排正极和负极的金属丝。为了防止短路,我使用了热胶作为绝缘材料。这比电线干净得多,但花了我更长的时间,因为我正在检查短路。我建议您仅在有万用表检查短路时才这样做。您可以使用电阻模式进行检查,将一个探头放在正极上,将一个探头放在负极上,如果显示 0 或发出哔哔声,则表示您短路。我还强烈建议您在数据板上镀锡,因为我没有这样做,这使得第 2 个焊接步骤非常困难。

驴友花雕
驴友花雕
作者
## 第 16 步:动画
要开始编写动画代码,我需要弄清楚我想要多少个。开始时,我只有 4 个按钮,所以我只能做 4 个动画。我想要的第一个是螺旋模式,它基本上会螺旋出彩虹。然后我使用第二个按钮来制作淡化动画。这将形成每个级别的彩虹。接下来,我使用第 3 个按钮来制作烟花动画。这将是我的第一个复杂动画。我希望它看起来像烟花从底部开始,在空中飞翔,然后**。我通过将每个级别中的第一个 LED 变为白色半秒钟来做到这一点。当它上升时,我让它**并使用随机功能随机打开每个级别的 LED。因此,第一层会亮起,然后第二层会亮起,依此类推。在那之后,我真的很觉得我可以编码,所以我决定编写非常流行的表情符号。首先,我在眼睛上工作。我给出了一个我希望 LED 的位置。例如,我希望它是第 100 个 LED。然后为了让它来回移动,我使用了数学运算,让它移动那个 LED。然后我开始研究第二只眼睛和微笑。由于 LED 非常小,我决定让多个 LED 充当眼睛和微笑。因此,它不是为每只眼睛激活一个 LED,而是激活 5 个以产生一个更大的圆圈。
## 第 17 步:组装
我将向您展示如何组装它以及我遇到的一些问题。
我要警告你,组装起来非常非常困难。
首先,我需要将 LED 切割成一定长度。切割时要小心,只在铜焊盘所在的地方切割。接下来,我需要获取每行上的 LED 数量。我没有单独计算每个 LED,而是在 fusion 中制作了一个模型来为您计算它们。我得到了一些尺寸,然后将其转换为 1:1 比例的图纸。一旦我打印出来(在纸上,而不是 3D 打印机上),我就得到了一个几乎完美对齐的复制品,它有多达 40 个 LED。这使得计数速度提高了一百万倍。然后,我用它们所在的行和 LED 的数量标记它们。我还建议将它们写在一张纸上。



驴友花雕
驴友花雕
作者
## 第 15 步:最终代码
最后,我需要制作自己的代码。
为了开始这段代码,我决定更改库,这使得编码变得更加容易。我选择了 fastLED 库,因为我看到了更多关于如何使用它的教程。我首先定义了我想要的所有变量,例如图钉。然后我定义了每行有多少个 LED。这为我提供了我想要的 LED 的捷径。如果我知道之前有多少个 LED,那么我不必计算每个 LED 的数量,那么我只需计算该行上的 LED 并将其他行相加。我还打开了我可以制作的新动画。接下来,我定义了每个 remote 值。现在我需要将其与 LED 灯条的 PWM 信号相关联。我通过使用 switch 语句来执行此作。它基本上是很多 if 语句,但要简化得多。例如,我的陈述是 “如果” 值 (变量) 正确 “然后” 做 “其他” 的事情。这是一个非常简化的用法,但还有许多其他情况可以使用它,您可以在此处找到更多详细信息。我本来打算制作没有图像的简单动画,但当我意识到编码是多么容易时,我决定添加一些。

驴友花雕
驴友花雕
作者
## 第 14 步:电子表格
现在我记录了我的价值观。我喜欢使用电子表格,因为它们非常有条理。我首先标记了我所有的按钮。然后我在按钮旁边写下了我的值。现在我需要记录我的 PWM 值。首先,我将控制器上看到的颜色与我想要的 LED 灯条的颜色对齐。然后我读取串行监视器以查看它显示的颜色。它显示一个像 (255,255,0) 这样的输出是黄色的,然后我把它写在电子表格上。现在是制作真实代码的时候了。

驴友花雕
驴友花雕
作者
## 第 13 步:代码设置
首先,我需要弄清楚我的 IR 接收器值或它发出的信号。我首先在此处使用了一些示例代码。该代码还有助于解释 IRremote 库的工作原理。现在我已经有了它为每个按钮发送的信号,然后我需要将其与 PWM 信号对齐。
接下来,我需要写下我想要的颜色。由于我们解读颜色的方式都不同,因此我想将我在控制器上看到的颜色与我希望的 LED 灯条的颜色相匹配。为此,我编写了一些代码,其中使用了 3 个控制所有 3 种颜色的电位计。因此,一个电位计将控制红色的 R,另一个电位计将控制绿色的 G,最后相同的蓝色。然后,我让 Arduino Nano 发送 PWM 信号,该信号类似于 (0,0,0),这意味着 0 红色、绿色和蓝色,然后我可以创建我想制作的任何颜色。现在我需要记录这些值。
你可以看到我是如何在顶部连接它的。

驴友花雕
驴友花雕
作者
## 第 12 步:最后的润色(建模)
最后,我添加了其余的内容。这包括一个圆顶和一个支架。我还挖空了球体以减少细丝浪费并留出更多空间。我为插头添加了孔,并为 IR 接收器提供了一个位置。我本来打算让 IR 接收器曝光,但我觉得这会破坏美感。我决定把它藏在里面,但要靠近外面。最后,我在顶部和底部添加了一个圆角,使其更加光滑。


驴友花雕
驴友花雕
作者
## 步骤 11:测量(建模)
接下来,我需要测量地球仪,看看它是否足够小。正如我在第 5 步中所说,我需要确保球体不会使用太多 LED。为此,我必须测量球体上每个圆的周长,一旦我得到所有的测量值,它加起来就略高于 5.5 米,这太多了。我决定只切掉底部的第一部分,使其下降到略小于 5 米。


驴友花雕
驴友花雕
作者
## 第 10 步:Lights_3(建模)
现在我需要挖空内部并将其与真正的球体相结合。我首先将切口挤出到我得到光滑边缘的地方。然后我对所有的切割都做了这个,最后我基本上得到了一个球体的外壳。最后,我使用剪切工具将其组合起来,它显示了我想要的结果。基本上是一个块状的球体。
造型灯总结
我基本上需要去除球体上的平滑度,以便为 LED 创建一个受控区域来包裹。我所做的是制作与球体一样光滑的物体。然后,我使用该对象从中心球体中切出,以创建一个块状且受控的球体。
我很想听听你是否对如何做到这一点有任何更好的想法,因为这可能比它需要的要复杂得多。



驴友花雕
驴友花雕
作者
## 第 9 步:Lights_2(建模)
要做到这一点,我需要切割球体。我计划使用构造平面,但我意识到你不能对它们进行建模,这意味着切割模型需要很多时间。这里有一个关于它的论坛。我意识到我可以使用曲面工具进行图案设计。曲面建模是 Fusion 360 中的另一种建模类型,它进行 2D 建模而不是 3D 建模。我意识到我可以将曲面建模用作构造平面。这允许我像工作平面一样对表面进行图案化。然后,我切割模型以获得球体的一小部分。




驴友花雕
驴友花雕
作者
## 第 8 步:灯光(建模)
现在我需要弄清楚如何添加灯光。如果我只是将它们缠绕在球体上,就很难将它们保持在适当的位置,并且不会受到控制。我需要控制它,因为它看起来非常丑陋且非常难以编码。当我思考想法时,我想到创造像楼梯一样的线条。然而,当我制作时,我意识到楼梯的想法会让它看起来像一个圆锥体,而不是一个球体。那是因为球体形状是弯曲的,所以在某些部分它看起来几乎是直的,但越高,它开始向内弯曲。然后我想到了另一个想法,可以给出完美的水平线并创建一个球体。


驴友花雕
驴友花雕
作者
## 第 6 步:草图/建模
现在我有了草图,我不能有尺寸,因为我只需要反复试验球体需要多大。如果它太大了几毫米,那么所需的 LED 长度将显着增加。经过多次测试,我最终得到了一个 100 毫米的球体。它会有点小,但扩散器会让它看起来更大。现在我开始为我的第一张草图建模。
## 第 7 步:球体(建模)
我从对我的草图进行建模开始。我首先制作了一个直径为 100 毫米的圆。然后我创建了一条线,将圆切成两半。我还在圆圈中添加了另一个 5/8 的剪辑。然后我旋转草图以制作一个球体。最后,我用 5/8 线剪掉了底部。接下来,我需要弄清楚如何安装灯。