×

使用SMT服务制作大RGB条带

消耗积分:0 | 格式:zip | 大小:0.02 MB | 2023-02-03

刘满贵

分享资料个

描述

我的游戏室需要一个大的 RGB 条纹,这样我就可以把它贴在我的设置上。但我需要一个具有更好耐用性和更亮且散热良好的 LED。WS2812 RGB neo 像素可能做得很好,但这些灯带带有柔性 PCB。我不推荐高亮度。因为这些新像素可能会随着时间的推移产生热量并烧毁 PCB 上的轨道。我非常沉迷于游戏,一旦开始就不知道什么时候结束。

但是现在让我们专注于主题,我想构建一个坚硬的 LED 灯带,具有理想的设计和用于散热的铝材料。我在互联网上找到的唯一可靠解决方案是使用JLCPCB SMT 组装服务。

ice_screenshot_20220309-211109_80EWvEfUHJ.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

它可以以非常低的价格为我焊接所有组件。JLCPCB 是节省时间和精力的最佳方法。立即结帐服务,SMT 组装8 美元起

新像素 LED:

mini_20220820_101243_43rUYVkA49.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

我选择漫射型 LED 来制作它,因为亮度不是唯一的优先事项。RGB 和过度对比度的影响被漫射器本身抵消了。这不仅让近距离看起来更好,而且在远距离看起来也很漂亮。过亮不会直接影响眼睛。好吧,您还可以按像素控制这些可寻址 LED。

ice_screenshot_20220824-124658_dZMSLwvMIs.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

我用的是WS2812-5050D led,里面有一个小的控制芯片。这个 led 有 4 个端子,两个用于电源,两个用于数据。我们可以串联多个 LED 来制作 RGB 滚动文本等项目和其他动画项目。

ice_screenshot_20220824-124708_086quiwcXw.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

特征:

  • 电压:3.3-4.5v
  • 每通道 16mA 工作电流。
  • 控制电路与RGB芯片集成
  • 内置电复位电路和掉电复位电路。
  • 灯光颜色高度一致,性价比高。

电路图:

 
 
 
ice_screenshot_20220824-123651_SyVn8ARg4y.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
1 / 2
 

我制作了电路,每个 PCB 共有 15 个 LED,我们可以将更多 PCB 与给定的输入/输出连接串联。需要Arduino来设置颜色、效果和亮度。无需外部电源调节器 IC,因为 Arduino 具有 5 伏 Ams1117 调节器,可支持高达 1 安培的电流。下面给出与Arduino NANO的连接电路。

所需组件:

mini_20220820_141241_tES8zVQONu.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

1) Arduino 纳米

2) ws2812 LED灯条

3)5v电源

设计制作:

JLCPCB SMT 组件支持最小 10mm 的厚度,所以我将宽度保持在 10mm,然后放置 15 个 LED 以及 100ohms 的限流电阻。然后我找到了 PCB 背层的连接点。

 

每个 PCB 有两个连接点,一个用于输入,另一个用于输出。为了尽量减少焊接间隙,我选择了非常端点,这样连接就不需要电线了。

焊接和 SMT 组装:

 

我选择 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 之间的数字)调整亮度。

mini_20220820_141352_JAox6ALkuh.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

功耗取决于亮度。我正在使用 60 个相互串联的 LED,它们总共消耗 170mA @5volts。每个 LED 在 100 亮度值时消耗非常小的 2.2mA 电流。

连接电路:

在代码中,您可以将 Led 引脚更改为任何数字引脚,并且可以根据使用的各自 LED 灯条更改 LED 计数。在这里,我使用了 4 个串联的条纹,每个条纹都有 15 个 LED。

ice_screenshot_20220824-224519_6ngMZ6Sb0u.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

每个 LED 都有一个限流电阻,因此您可以将 Stripe 的 VCC 直接连接到 +5 伏特。Arduino 可以使用 5v-12volts 的充电器/适配器供电。

#define LED_PIN 2 
#define LED_COUNT 60

在职的:

 
 
 
 
1 / 2
 

我在这些 PCB 上尝试了很多动画,您可以下载 Neo 像素库来尝试不同的动画。毕竟我是把4块PCB板连在一起来测试扩散效果的。现在它已准备好安装在我的设置的背面,这样当它从墙壁反射时会发光,看起来像 RGB,RGB = 更多的游戏 FPS!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !