本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Arduino + WS2812制作自己的LED心情灯
发布时间:2021-02-12
分享到:
基于Arduino + WS2812制作自己的LED心情灯
发布时间:2021-02-12
分享到:

我最近遇到了Greg Davill制作的LED Cube。这是一件很棒的艺术品。受到启发,即使我想做这样的事情。但是,这远远超出了我的范围。我决定一次迈出一步,并且将LED Cube的尺寸变小了一点。这可能是学习硬件(主要是LED和微控制器)以及控制它们的软件(创建动画)的良好起点。

在本教程中,我将向您展示如何使用流行的WS2812 LED制作LED立方体。

步骤1:您需要的东西

96个WS2812 LED
6x PCB
1个Arduino Nano
1个5V / 1A电源

步骤2:计划

该计划是制造一个情绪灯。我想保持简单,因此决定使用流行的WS2812可独立寻址LED。LED以级联方式连接,这意味着您可以通过微控制器的一条信号线/电线来控制所需的LED。这使得接线非常容易。
LED仅以SMD格式提供。因此,下一步将是设计PCB。
下一步是设计和3D打印结构,以将PCB保持为立方体形状。
LED将使用Arduino Nano进行控制。最后一步将是为Arduino设计和3D打印外壳。

步骤3:PCB设计

您可以使用任何喜欢的软件来设计PCB。
LED有4个引脚:
VDD-5V
DOUT-信号输出
VSS-接地
DIN-信号输入
如前所述,LED级联连接,这意味着信号从微控制器输入到DIN引脚上的第一个LED。信号从DOUT引脚到达第二个LED的DIN引脚。
在设计PCB时,我曾考虑过手工焊接LED,因此我在LED之间保持了足够的空间以使烙铁到达焊盘。但是稍后,正如您将看到的,我使用临时设置进行了回流焊接,因为如果正确完成,此方法将快速,简洁(并且令人满意)。

步骤4:组装PCB

首先,我开始手工焊接LED。结果不好,LED过热,这不是一个好兆头。而且,这是一个耗时的过程,焊接96个LED将需要大量时间。
焊接SMD组件最广泛使用的方法称为回流焊接。在这种方法中,将焊膏(焊剂和助焊剂的混合物)施加到PCB上的焊盘上,并将元件放置在其上。然后通过在回流焊炉中加热使焊膏熔化或“回流”。如果正确完成,这是一种快速而整洁的方法。
使用这种方法意味着我需要一个回流炉。但是后来我想起了一个网友使用了旧的扁铁和Wemos来控制温度。我手上唯一的东西是仍在使用的扁铁。铁的温度在最大设置下达到约220摄氏度,我购买的焊膏在183摄氏度下熔化。从LED数据表中查看回流焊接温度曲线,我们可以看到最高温度(Tp)为240度,持续10秒钟。一切看起来都很好,所以我尝试了一下。

步骤5: 组装立方体

我3D打印了一种将PCB固定在适当位置的结构。您需要打印1x骨架和6x支架。如图所示,使用强力胶将支架固定在PCB的背面。然后可以将PCB卡在骨架结构上的适当位置。可能需要打磨。

步骤6:组装底座

底座将容纳Arduino Nano。总共有3条电线连接到立方体。DIN,5V和GND。我通过USB电话充电器为立方体供电。确保它能够处理至少1A的电流。
DIN引脚可以连接到Arduino上的任何数字引脚。我选择了D4。

步骤7:编码时间

现在,我将使用FastLED库中的示例草图。使用库管理器安装库。从示例草图中打开DemoReel100。文件>示例> FastLED> DemoReel100
在上传代码之前,请进行以下更改:
将DATA_PIN(多维数据集的DIN连接到的Arduino引脚)定义为您选择的任何内容。就我而言,是4(数字引脚4)
将LED_TYPE定义为WS2812
将NUM_LEDS定义为96
然后,点击上传!

步骤8:尽情享受!

给灯通电,欣赏它吧!

感谢您坚持到底。希望大家都喜欢这个项目,并从中学到了新的东西。

步骤9:未来计划

使用ESP8266将多维数据集连接到互联网(IoT),并在发生“事件”时通知我。

创建自己的动画。

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论