带有Arduino的WS2812B可寻址RGB LED灯条指南

您所在的位置:网站首页 邯郸led灯条一般在哪儿买 带有Arduino的WS2812B可寻址RGB LED灯条指南

带有Arduino的WS2812B可寻址RGB LED灯条指南

2024-07-13 07:53| 来源: 网络整理| 查看: 265

带有Arduino的WS2812B可寻址RGB LED灯条指南

这篇文章是关于WS2812B LED灯带的,这是一个可寻址的RGB LED灯带。这篇文章中的信息也适用于其他类似的LED灯条,例如 WS28XX系列的灯条,Neopixel灯条等。 在这里插入图片描述

WS2812B LED灯带介绍

WS2812B可寻址LED灯带有几种型号,尺寸,密封胶或LED密度不同。选择最适合您目的的一种。

去哪买?

您可以访问Maker Advisor并找到WS2812B RGB LED灯条的最优惠价格。

在下图中,您可以看到我的WS2812B LED灯条。它长5米,LED封装在防风雨的硅树脂中。因此,它们可以不受雨淋和灰尘的影响而留在外面。 在这里插入图片描述

在我看来,这是最酷的LED灯条类型。您可以控制亮度和颜色的每个LED的独立,它可以让你产生一种简单的方式惊人的,复杂的影响。

该LED灯条由串联连接的WS2812B LED制成。这些LED的LED内建有一个IC。这允许通过单线接口进行通信。这意味着您仅需使用Arduino的一个数字引脚即可控制许多LED。

在下图中,您可以看到LED内的芯片。LED是RGB LED,工作原理是这样的。

在这里插入图片描述

这种条非常灵活,可以切成您想要的任何长度。如您所见,该条带分为多个段,每个段包含一个RGB LED。 在这里插入图片描述

您可以通过在合适的地方用剪刀剪裁条来调整其大小(标出了剪裁条的正确位置)。 在这里插入图片描述

这些条带的两端均带有连接器。我决定剪掉连接器和焊头引脚。如果您要将条带连接到Arduino或面包板,则更加方便。 在这里插入图片描述

给WS2812B LED灯条供电

LED灯条应使用5V电源供电。设置为全亮度时,在5V电压下,每个LED消耗约50mA电流。这意味着每30个LED灯带可能会消耗1.5 A电流。请确保选择的电源符合灯带的需求。提供5V和2A的AC到DC电源适配器应该可以完成以下工作:

5V 2A电源适配器

如果您使用外部电源,请不要忘记将电源接地线连接到Arduino接地线。

原理图

在此示例中,将使用5V Arduino引脚为WS2812B LED灯条供电。就我而言,我正在控制14个LED。如果要控制许多LED,则需要使用外部电源。 在这里插入图片描述

有用的 提示:

从电源到地连接一个电容,其电容在100uF和1000uF之间,以平滑电源。在Arduino数字输出引脚和条形数据输入引脚之间添加一个220或470欧姆的电阻,以减少该线上的噪声。使您的arduino,电源和插排之间的电线尽可能短,以最大程度地减少电压损失。如果条带损坏并且无法正常工作,请检查第一个LED是否损坏。如果是这样,则将其切下,然后重新焊接排针,它应该可以再次工作。 代码

要控制WS2812B LED灯条,您需要下载FastLED库。

安装FastLED库

单击此处下载FastLED库。您的下载文件夹中应该有一个.zip文件夹解压缩.zip文件夹,您应该得到FastLED-maste r文件夹重命名您的文件夹 ~~FastLED主控~~到FastLED将FastLED文件夹移至Arduino IDE安装库文件夹最后,重新打开您的Arduino IDE

安装所需的库后,将以下代码上传到Arduino板(这是库examples文件夹中提供的示例草图)。转到“文件” >“示例” >“ FastLED” >“ **ColorPalette”,**或复制以下代码。

#include #define LED_PIN 5 #define NUM_LEDS 14 #define BRIGHTNESS 64 #define LED_TYPE WS2811 #define COLOR_ORDER GRB CRGB leds[NUM_LEDS]; #define UPDATES_PER_SECOND 100 // This example shows several ways to set up and use 'palettes' of colors // with FastLED. // // These compact palettes provide an easy way to re-colorize your // animation on the fly, quickly, easily, and with low overhead. // // USING palettes is MUCH simpler in practice than in theory, so first just // run this sketch, and watch the pretty lights as you then read through // the code. Although this sketch has eight (or more) different color schemes, // the entire sketch compiles down to about 6.5K on AVR. // // FastLED provides a few pre-configured color palettes, and makes it // extremely easy to make up your own color schemes with palettes. // // Some notes on the more abstract 'theory and practice' of // FastLED compact palettes are at the bottom of this file. CRGBPalette16 currentPalette; TBlendType currentBlending; extern CRGBPalette16 myRedWhiteBluePalette; extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM; void setup() { delay( 3000 ); // power-up safety delay FastLED.addLeds(leds, NUM_LEDS).setCorrection( TypicalLEDStrip ); FastLED.setBrightness( BRIGHTNESS ); currentPalette = RainbowColors_p; currentBlending = LINEARBLEND; } void loop() { ChangePalettePeriodically(); static uint8_t startIndex = 0; startIndex = startIndex + 1; /* motion speed */ FillLEDsFromPaletteColors( startIndex); FastLED.show(); FastLED.delay(1000 / UPDATES_PER_SECOND); } void FillLEDsFromPaletteColors( uint8_t colorIndex) { uint8_t brightness = 255; for( int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3