我的游戏室需要一个大的 RGB 条纹,这样我就可以把它贴在我的设置上。但我需要一个具有更好耐用性和更亮且散热良好的 LED。WS2812 RGB neo 像素可能做得很好,但这些灯带带有柔性 PCB。我不推荐高亮度。因为这些新像素可能会随着时间的推移产生热量并烧毁 PCB 上的轨道。我非常沉迷于游戏,一旦开始就不知道什么时候结束。
但是现在让我们专注于主题,我想构建一个坚硬的 LED 灯带,具有理想的设计和用于散热的铝材料。我在互联网上找到的唯一可靠解决方案是使用JLCPCB SMT 组装服务。
它可以以非常低的价格为我焊接所有组件。JLCPCB 是节省时间和精力的最佳方法。立即结帐服务,SMT 组装8 美元起。
我选择漫射型 LED 来制作它,因为亮度不是唯一的优先事项。RGB 和过度对比度的影响被漫射器本身抵消了。这不仅让近距离看起来更好,而且在远距离看起来也很漂亮。过亮不会直接影响眼睛。好吧,您还可以按像素控制这些可寻址 LED。
我用的是WS2812-5050D led,里面有一个小的控制芯片。这个 led 有 4 个端子,两个用于电源,两个用于数据。我们可以串联多个 LED 来制作 RGB 滚动文本等项目和其他动画项目。
我制作了电路,每个 PCB 共有 15 个 LED,我们可以将更多 PCB 与给定的输入/输出连接串联。需要Arduino来设置颜色、效果和亮度。无需外部电源调节器 IC,因为 Arduino 具有 5 伏 Ams1117 调节器,可支持高达 1 安培的电流。下面给出与Arduino NANO的连接电路。
1) Arduino 纳米
2) ws2812 LED灯条
3)5v电源
JLCPCB SMT 组件支持最小 10mm 的厚度,所以我将宽度保持在 10mm,然后放置 15 个 LED 以及 100ohms 的限流电阻。然后我找到了 PCB 背层的连接点。
每个 PCB 有两个连接点,一个用于输入,另一个用于输出。为了尽量减少焊接间隙,我选择了非常端点,这样连接就不需要电线了。
我选择 SMT 组装是因为我不想花时间焊接这些面板。SMD LED 很难安装并且需要合适的工具。焊接温度的小幅升高或过热可能会永久损坏 LED。
因为我在运输过程中选择了保护侧烤架来保护我的 PCB,所以它们送达时非常好。然后我拆开侧面板,所有 PCB 都处于工作状态,焊接和组装服务非常好,而且价格低廉。试用 SMT 组装服务,8 美元起。现在注册 JLCPCB即可获得价值 54 美元的免费优惠券。
这段代码是为了一个RGB减速效果而设置的,你可以改变一些循环值,让它更正常。
#include
#ifdef __AVR__
#include /power.h> // Required for 16 MHz Adafruit Trinket
#endif
// Which pin on the Arduino is connected to the NeoPixels?
#define LED_PIN 2
// How many NeoPixels are attached to the Arduino?
#define LED_COUNT 60
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
// END of Trinket-specific code.
strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
strip.show(); // Turn OFF all pixels ASAP
strip.setBrightness(120); // Set BRIGHTNESS to about 1/5 (max = 255)
}
void loop() {
rainbow(255); // Flowing rainbow cycle along the whole strip
}
void rainbow(int wait) {
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
strip.rainbow(firstPixelHue);
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
}
}
正如我之前提到的,LED 的亮度可以通过软件(Arduino 代码)控制。在库中,可以通过 8 位模拟值(使用 0-255 之间的数字)调整亮度。
功耗取决于亮度。我正在使用 60 个相互串联的 LED,它们总共消耗 170mA @5volts。每个 LED 在 100 亮度值时消耗非常小的 2.2mA 电流。
在代码中,您可以将 Led 引脚更改为任何数字引脚,并且可以根据使用的各自 LED 灯条更改 LED 计数。在这里,我使用了 4 个串联的条纹,每个条纹都有 15 个 LED。
每个 LED 都有一个限流电阻,因此您可以将 Stripe 的 VCC 直接连接到 +5 伏特。Arduino 可以使用 5v-12volts 的充电器/适配器供电。
#define LED_PIN 2
#define LED_COUNT 60
我在这些 PCB 上尝试了很多动画,您可以下载 Neo 像素库来尝试不同的动画。毕竟我是把4块PCB板连在一起来测试扩散效果的。现在它已准备好安装在我的设置的背面,这样当它从墙壁反射时会发光,看起来像 RGB,RGB = 更多的游戏 FPS!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !