0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样将LED灯带连接到Arduino

454398 来源:网络整理 作者:网络整理 2019-11-28 10:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

LED照明的兴起是平流层,很容易理解为什么。它们的生产成本低廉,比其他照明选项消耗的功率少得多,并且在大多数情况下不会发热,因此可以安全地用于多种用途。

最常见的LED产品之一是灯带。在本文中,我们将介绍如何使用Arduino设置两种最常见的类型。这些项目非常简单,即使您是Arduino或DIY电子产品的初学者,您也可以做到这一点。

我们还将使用Arduino IDE对其进行控制。该项目使用Arduino Uno,尽管您几乎可以使用任何兼容的板(例如NodeMCU)。

选择条带

在购买LED条带时,需要注意以下几点:考虑。首先是功能。如果您打算将这些灯条主要用于环境照明,那么简单的 12v RGB LED 灯条( SMD5050 )将是正确的选择。

这些条带中的许多条带红外遥控器来控制它们,尽管在本项目中,我们将使用Arduino代替。花一些时间购物,在撰写本文时,有可能以每米1美元的低价获得这些带。

图片来源:通过Shutterstock的phanu suwannarat

如果您想要更高一点的技术,请考虑 WS2811 / 12 / 12B 。这些条带(有时称为 Neopixels )具有集成的芯片组,可以单独进行寻址。这意味着它们不仅具有环境照明的功能。

您可以使用它们从头开始构建便宜的LED像素显示器。您甚至可以使用它们来制作自己的个人室内暴风云灯。

这些条只需5v即可为其供电。虽然可以直接从Arduino板上直接为少量的电源供电,但通常最好使用单独的5V电源,以免被油炸Arduino散发出臭味。如果您正在寻找可单独编程的LED,那么这些适合您。在撰写本文时,它们的价格为每米4美元左右。

要考虑的另一件事是这些条带可能在哪里使用。这两种类型的灯带都有不同的长度,LED密度(每米的LED数量)和不同的耐候程度。

在查看LED灯带时,请注意清单上的数字。通常,第一个数字是每米的LED数量,字母 IP 后跟数字是其防风雨性能。例如,如果列表中显示 30个IP67 ,则表示每米将有 30 个LED。 6 表示已完全隔绝灰尘,而 7 表示已对其进行了防护,防止其暂时浸入水中。 (了解有关防风雨和IP等级的更多信息。)一旦选择了LED灯条,就可以将其与Arduino链接了。让我们从SMD5050开始。

开始连接

为了将12v LED灯条连接到Arduino,您将需要一些组件:

12v RGB LED灯条( SMD5050 )

1 x Arduino Uno(任何兼容的板都可以)

3 x 10k 欧姆电阻

3 x 逻辑电平 N沟道MOSFET

1 x面包板

连接线

12v电源

在设置电路之前,我们先讨论一下 MOSFET 。

每当您控制的电压高于微控制器的电压时,都需要在两者之间进行控制以防止电路板被炸。一种简单的方法是使用MOSFET。通过将脉宽调制( PWM )信号发送到 gate 支路,可以控制在漏极和之间传递多少功率源腿。通过使LED灯带的每种颜色都通过MOSFET,您可以控制LED灯带上每种颜色的亮度。

使用微控制器时,使用逻辑电平组件以确保性能很重要。按照您希望他们的方式工作。确保您的MOSFET是逻辑电平,而不是标准。

像这样设置电路:

将Arduino引脚 9 , 6 和 5 连接到门支脚,然后将与之成一直线的 10k 电阻连接到接地轨。

将 Source 支脚连接到地面

将排水支脚连接到绿色,红色和蓝色连接器

将电源导轨连接到LED灯条的 + 12v 连接器(请注意,在此图像中,电源线为黑色,以匹配连接器的颜色)

将Arduino地面连接到接地轨。

将您的 12v 电源连接到电源轨。

大多数LED灯带都带有Dupont连接器,易于连接到。如果不是,则可能需要将导线焊接到LED灯条上。如果您不熟悉焊接,请不要着急,这是一件容易的事,如果有需要,我们会提供焊接入门指南。

为此,我们将通过USB为Arduino板供电项目。您可以选择使用VIN引脚为电路板供电,但在执行此操作之前,请确保您知道电路板的电源限制。

电路完成后,电路外观应如下所示:

现在您已经连接了所有东西,是时候制作一个简单的Arduino草图来对其进行控制了。

淡化

通过USB将Arduino开发板连接到计算机,然后打开Arduino IDE。确保在工具》电路板和工具》端口菜单中为电路板选择了正确的电路板和端口号。打开一个新草图并用适当的名称保存它。

此草图将一次将灯光淡化为一种颜色,将其保持点亮几秒钟,然后将其淡出直到再次熄灭。您可以按照此处进行操作,自己制作草图,也可以直接从GitHub下载完整代码。

首先定义要使用哪些引脚来控制MOSFET。

》 #define RED_LED 6

#define BLUE_LED 5

#define GREEN_LED 9

下一步,您需要一些变量。创建一个整体的亮度变量,并为每种颜色的亮度创建一个变量。我们将仅使用主亮度变量来关闭LED,因此在此处将其设置为最大亮度值255。

您还需要创建一个变量来控制褪色发生的速度。

int brightness = 255;

int gBright = 0;

int rBright = 0;

int bBright = 0;

int fadeSpeed = 10;

在您的设置功能中,我们将Arduino引脚设置为输出。我们还将调用两个延迟5秒的函数。这些功能尚不存在,但是不用担心,我们将介绍它们。

void setup() {

pinMode(GREEN_LED, OUTPUT);

pinMode(RED_LED, OUTPUT);

pinMode(BLUE_LED, OUTPUT);

TurnOn();

delay(5000);

TurnOff();

}

现在创建 TurnOn()方法:

void TurnOn() {

for (int i = 0; i 《 256; i++) {

analogWrite(RED_LED, rBright);

rBright +=1;

delay(fadeSpeed);

}

for (int i = 0; i 《 256; i++) {

analogWrite(BLUE_LED, bBright);

bBright += 1;

delay(fadeSpeed);

}

for (int i = 0; i 《 256; i++) {

analogWrite(GREEN_LED, gBright);

gBright +=1;

delay(fadeSpeed);

}

}

这三个 for 循环使每种颜色在 fadeSpeed 指定的时间内达到其全亮度。 》值。

最后,您需要创建 TurnOff()方法:

void TurnOff() {

for (int i = 0; i 《 256; i++) {

analogWrite(GREEN_LED, brightness);

analogWrite(RED_LED, brightness);

analogWrite(BLUE_LED, brightness);

brightness -= 1;

delay(fadeSpeed);

}

}

void loop() {

}

此方法将应用我们的亮度变量设置为所有三个色针,并在一段时间内将其减小为零。为了避免编译错误,我们在这里也需要一个空循环方法。

完成此草图后,请保存它。验证草图并将其上传到您的Arduino开发板。如果出现错误,请再次检查代码中是否有讨厌的拼写错误或分号丢失。

现在,您应该看到LED灯条将每种颜色分别倾斜,保持白色5秒钟,然后均匀地逐渐消失:

如果遇到任何困难,请仔细检查接线并再次编码。

该项目是入门的简单方法,但是可以扩展其中包含的思想,以实现真正有效的照明。仅需几个组件,您就可以创建自己的日出警报。如果您的Arduino带有入门套件,则可以在进入房间时使用任何按钮或传感器来触发LED,例如:

现在我们已经介绍了 SMD5050s ,让我们继续进行 WS2812B 条带。

好主意

这些条带需要更少的组件要使它们运行,就可以使用哪些组件的确切值还有一些余地。该电路中的电容器可确保5v LED获得稳定的电源。电阻器确保从Arduino接收的数据信号不受任何干扰。

您将需要:

WS2811 / 12 / 12B 5v LED灯带(所有三种型号都集成了芯片,并且工作方式大致相同)

1个Arduino Uno(或类似的兼容板)

1 x 220-440欧姆电阻(这两个值之间的任何值都可以)

1 x 100-1000 microFarad 电容器(任何值)在这两个值之间都可以)

面包板并连接导线

5V电源

按如下所示设置电路:

请注意,电容器的方向必须正确。您可以通过查找电容器主体上的减号(-)来确定哪一侧连接到接地轨。

这一次,我们将使用5v电源为Arduino供电。尽管这里有一些重要的事情要注意,但这使项目一旦完成就成为独立项目。

首先,请确保在将板连接到电源上之前,您的板可以接收5v电源。几乎所有开发板都通过USB端口以5v的电压运行,但是某些开发板上的电源输入引脚有时会跳过稳压器,而变成烤面包片。

此外,请确保将多个独立的开发板分开电源未连接到Arduino —每当使用外部电源时,请断开USB电缆。

插入电源后应如下所示:

现在我们的LED灯条已连接好,让我们继续进行代码。

跳舞灯

为了安全地对我们的电路板进行编程,从电源线断开 VIN 线。您将在稍后重新连接。

将Arduino连接到计算机,然后打开Arduino IDE。检查您在工具》板子和工具》端口菜单中选择的板子和端口号是否正确。

我们将使用 FastLED 库以测试我们的设置。您可以通过单击素描》包括库》管理库并搜索FastLED来添加库。单击安装,该库将添加到IDE。

在文件》示例》 FastLED 下,选择 DemoReel100 草图。该草图循环了 WS2812 LED灯带可以完成的各种事情,并且设置起来非常简单。

您需要更改的只是 DATA_PIN 变量,使其与引脚13 和 NUM_LEDS 变量相匹配,以定义您正在使用的灯条中有多少个LED。在这种情况下,我只使用从较长条带上切下的一小行10个LED。

就是这样!将草图上传到板上,断开USB电缆的连接,然后打开5v电源。最后,将Arduino的VIN重新连接到电源线并观看表演!

如果什么都没发生,请检查接线并指定正确的Arduino

无尽的可能性

该演示草图展示了WS2812试条可以实现的多种可能效果组合。除了从常规的LED灯带升级之外,它们也可以投入实际使用。一个不错的下一个项目将是为媒体中心建立自己的氛围。

尽管这些灯带肯定比SMD5050更实用,但还不要打折标准的12v LED灯带。它们在价格方面是无与伦比的,并且LED灯条的应用很多。

学习使用LED灯条是熟悉Arduino上基本编程的好方法,但是最好的学习方法是修修补补。修改上面的代码,看看可以做什么!如果这一切对您来说太多了,请考虑从适合初学者的Arduino项目开始。

责任编辑:wv

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

    关注

    243

    文章

    24438

    浏览量

    687462
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195974
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LED离线语音控制方案WTK6900P

    在家居装饰以及部分公共空间装饰已LED经成为了一种主流的灯饰方案,今天我们主要讲的是家居内部空间的控制,因为公共部分的灯具不适用语音
    的头像 发表于 09-15 17:31 691次阅读

    CY7C65223D-32LTXI 2 个 UART 连接到该芯片,但设备没有响应是怎么回事?

    我有 CY7C65223D-32LTXI 芯片, 2 个 UART 连接到该芯片,但设备没有响应,RX1_LED 和 RX0_LED 一直亮着。我一直尝试在 Windows 和 Li
    发表于 08-04 07:56

    2.4 A / 2 A 双路独立闪光 LED 驱动器, TrueFlash™ skyworksinc

    电子发烧友网为你提供()2.4 A / 2 A 双路独立闪光 LED 驱动器, TrueFlash™相关产品参数、数据手册,更有2.4 A / 2 A 双路独立闪光
    发表于 07-30 18:30
    2.4 A / 2 A 双路独立闪光<b class='flag-5'>灯</b> <b class='flag-5'>LED</b> 驱动器,<b class='flag-5'>带</b> TrueFlash™ skyworksinc

    LED珠来料检验

    珠是LED灯具最核心的原物料,直接决定了灯具的性能和可靠性。大多LED照明厂商出于投资回报比的考量,并未采购专业的微观结构检测设备,也缺乏材料学科的专业技术人员。LED
    的头像 发表于 07-24 11:30 1388次阅读
    <b class='flag-5'>LED</b><b class='flag-5'>灯</b>珠来料检验

    WICED IDE 6.6.1.1怎样才能连接到自定义硬件?

    )我们使用 JTAG? 设备启动的先决条件是什么? 有启动选项的 ROM 启动加载器吗? WICED-IDE 是否期望准确看到连接 Evalboard 时设备管理器显示的 WICED-USB
    发表于 07-09 07:01

    CYW20706基于硅的蓝牙模块(CYBT-343151-02)连接到定制板上的MCU,怎样才能将链接配置为未确认数据模式?

    CYW20706 基于硅的蓝牙模块(CYBT-343151-02)连接到定制板上的 MCU。 它在确认数据模式下工作,没有问题 但是我怎样才能将链接配置为未确认数据模式
    发表于 06-27 08:23

    瑞萨RA系列FSP库开发实战指南(19)使用寄存器点亮LED

    野火启明6M5开发板的LED电路图如图所示。图中RA6M5芯片的P400、P403、P404引脚分别通过一个2.2 KΩ的限流电阻连接到LED1、LED2、
    的头像 发表于 06-11 15:06 1737次阅读
    瑞萨RA系列FSP库开发实战指南(19)使用寄存器点亮<b class='flag-5'>LED</b><b class='flag-5'>灯</b>

    零知开源——使用 GPIO 模拟时序驱动 WS2812B LED

    ​利用零知增强版的GPIO 模拟时序        在本教程中,我们探讨如何使用 零知增强版的 GPIO 接口来模拟 WS2812B LED 的信号传输时序,从而实现对单色或多彩
    的头像 发表于 02-20 15:43 2094次阅读
    零知开源——使用 GPIO 模拟时序驱动 WS2812B <b class='flag-5'>LED</b> <b class='flag-5'>灯</b><b class='flag-5'>带</b>

    零知开源——使用 GPIO 模拟时序驱动 WS2812B LED

    WS2812B LED 的信号传输时序,从而实现对单色或多彩 LED 的控制。这种技术
    发表于 02-20 14:31

    DLPC3478 LED_SEL_0和LED_SEL_0无输出是什么原因导致的?

    LED_SEL_0和LED_SEL_0无输出,导致无法打开LEDLED_SEL_0和LED
    发表于 02-20 08:28

    开源项目!手把手教你制作一个互动式LED墙壁时钟!

    完成整个显示屏的组装。 步骤六:焊接LED连接器 直接LED
    发表于 02-08 17:47

    使用插件Excel连接到MySQL/MariaDB

    使用插件 Excel 连接到 MySQL/MariaDB 适用于 MySQL 的 Devart Excel 插件允许您将 Microsoft Excel 连接到 MySQL 或 MariaDB
    的头像 发表于 01-20 12:38 1130次阅读
    使用插件<b class='flag-5'>将</b>Excel<b class='flag-5'>连接到</b>MySQL/MariaDB

    EE-321:Blackfin处理器连接到AD7656 SAR ADC

    电子发烧友网站提供《EE-321:Blackfin处理器连接到AD7656 SAR ADC.pdf》资料免费下载
    发表于 01-06 16:04 0次下载
    EE-321:<b class='flag-5'>将</b>Blackfin处理器<b class='flag-5'>连接到</b>AD7656 SAR ADC

    EE-219:字符LCD面板连接到ADSP-21262 SHARC DSP

    电子发烧友网站提供《EE-219:字符LCD面板连接到ADSP-21262 SHARC DSP.pdf》资料免费下载
    发表于 01-05 10:10 0次下载
    EE-219:<b class='flag-5'>将</b>字符LCD面板<b class='flag-5'>连接到</b>ADSP-21262 SHARC DSP

    在实际的电气连接中,是直接Exposed Thermal Pad连接到AGND吗?

    在阅读ADS8568数据手册时,在第6页至第9页无Exposed Thermal Pad介绍,通过查找的方式发现也无Exposed Thermal Pad相关介绍。请问在实际的电气连接中,直接
    发表于 12-24 06:04