今天分享的项目详细介绍了一个酷炫发光的 Magic LED Cube(LED立方体) 的完整制作步骤,并开源了所有必要的设计文件。如果感兴趣的话,可以动手做一个,还可以自定义灯光动画展示方式,可作为一个独特的装饰摆件用。
- 树莓派 RP2040
- SparkFun RGB LED 分线器 – WS2812B
- Altium 用于 PCB 绘图
- Solidworks 作为 CAD 用于外形设计
- Cura 作为 3D 打印的切片机
- Arduino IDE
- RP2040 MCU的基本电路设计
- WS2812 LED 设计方法,了解WS2812的优势
- 一些电子组装技巧
最重要的选择是合适的组件来创建电路设计。树莓派基金会自研的首款芯片RP2040,采用Arm Cortex M0+处理器架构,运行频率为133 MHz,拥有264K SRAM,2MB板载存储空间,可以解决模拟输入,低延迟,低功耗的问题。
这个板块可以看到PR2040所需的外围组件,MCU 电源线的去耦电容要尽量的靠近 PCB 设计中的电源引脚(推荐 100nF每个电源引脚电容) 。
PR2040与其他微控制器有点不同,需要一个外部存储芯片来加载程序代码,这个项目中使用的是 QSPI 存储芯片(推荐W25Q128JVS)。
该 MCU 需要 MCU 自身内部生成的 1.1V,以及还必须通过稳压器从外部提供的3.3V。
下面就是要将 25 个WS2812类型的 RGB LED 串联起来,并配有一些 100nF 去耦电容。
关于 PCB 设计,所有 Cube 部件都设置为相同尺寸大小,如40mm x 40mm,当然也可以选择更大的尺寸。
WS2812PCB板共需要5块,MCU底板焊接完成之后,如下图:
使用 RP2040 MCU 的最大优势是可以通过 Arduino IDE 对其进行编程(当然了,价格也是很便宜的)。在 Arduino IDE中,安装 Neopixel 库,可通过精确的时间控制,生成WS2812控制信号。将LED串联在一起并通过一个输出控制它们(意味着仅使用一个引脚就可以控制150个LED)。
因为Raspberry Pi Pico使用的MCU也是RP2040 ,所以通过板卡管理器将 Raspberry Pi Pico 板添加到 IDE中,就可以运行代码了。
需要注意的是:第一次运行时,通过 USB 连接板子时板子不会出现在 Arduino 的端口列表中,但只需单击上传代码,就会出现在端口列表中。
单面的立方体焊接完成之后,需要将它们连接在一起组成立方体形状。这里设计了一个组装辅助工具并 3D 打印出来,帮助实现立方体碎片的组装。
然后,使用 Solidworks 为 Cube 设计了一个很好的支架,用于放置Cube。设计零件的所有 STL 文件都可以下载。
每块PCB 都有 VDD、VSS、Din 和 Dout 的引脚,因此按照顺序将引脚连接起来:
最后,在 3D 打印支架上添加了一个电源开关和电源插孔连接器,并将电源线连接到 Cube 的 VDD 和 VSS。确保使用的电源适配器能够提供 5V 和高达 2A 的电流,因为这些 LED 在全亮度运行时可能高达 1.3A。
打开电源开关,立方体就会发光了,RGB LED 会通过一些美妙的彩色动画跳跃。当然,可以根据自己的喜好显示方式,也可以以此项目为参考,添加更多的功能,比如手机控制。