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

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

3天内不再提示

制作Arduino LED节日彩灯

YYXIAO 来源:DevicePlus 作者:DevicePlus 2023-02-24 14:28 次阅读

这篇文章来源于DevicePlus.com英语网站的翻译稿。

poYBAGPzGEeAF0X5AAFtOUjrETs858.jpg

假日季节来临之际,我觉得利用Arduino和全彩LED灯条制作装饰彩灯将会很有趣。这些LED不仅会亮,而且具有多种不同的颜色,能够为您带来多彩的节日气氛!

今天的电子设计技巧

估计完成时间:60分钟

所需部件

Arduino UNO R3

WS2811 5M LED 灯条 240 SMD 5050

目录

LED灯条简介

如何连接LED灯条并接线

让我们来点亮LED灯吧!

1. LED灯条简介

LED灯条(或者也称为LED灯带)与普通的LED有些不同。总体来讲,就是多个LED灯连在一起,组成一个灯条或灯带。市面上销售的LED灯条长约30 cm至5 m。

pYYBAGPzGEmANyEoAAFbc1jQv44437.jpg

图1 LED灯条

LED灯条有两种。第一种是灯条上的所有LED同步开/关。另一种则具有一个控制IC,可以根据输入信号逐一控制灯条上的LED灯。虽然前者拥有更多的LED灯,但是基本上跟普通LED一样只有正负极端子。而后一种LED灯条则通常具有4个和5个端子,其中包括信号线和正负极端子,如图3所示。

此外,LED灯条还有一个特点,我们可以通过切割图2中的黄色虚线来调整其长度。(但是,如果我们切断了其他部件,就无法连接正负端子了)

pYYBAGPzGEuAZc5YAAGNLUZpuQU081.jpg

图2 全彩LED灯条的规格

poYBAGPzGEyAD4mJAAEr7sP22fo456.jpg

图3 全彩LED灯条端子

除了图1所示的之外,市面上还有许多类型的LED灯带。如果您在网上搜索,您会搜到多种不同版本的LED灯条。

pYYBAGPzGE-AJgBYAAFe9YQz3Y0632.jpg

图4 LED灯串

这一次,我们使用图4所示的LED灯串。

2. 如何连接LED灯串并接线

那么,我们现在该如何点亮全彩LED灯串呢?一个非常方便的库文件能够帮我们很容易地处理信号。您可以通过下面的链接打开页面,然后点击页面中的“Download Adafruit_NeoPixel for Arduino”按钮来下载该库。该页面还说明了库的添加方法。

Arduino库安装 – adafruit

https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-installation

pYYBAGPzGFCACQsjAAGDeTcS08w191.jpg

图5 下载Adafuit_Neopixel库

下载压缩文件之后,如果您用的是Arduino Create,请点击Libraries(库)→Import(导入)按钮,继续在Arduino Web Editor中安装。

如果您正在运行应用程序,则可以单击顶部菜单上的“Sketch”(草图),然后添加库。添加库之后,请将LED灯条连至Arduino。

这次使用的LED灯串所需电压是5V,且具有四个端子。检查文件时,除了正极和负极(GND)之外,开发板一侧还有一个信号端子和一个GND端子。由于LED的输入电压是5V,因此我想使用Arduino的5V电源。但是,LED灯条含有多个LED灯,所需电流较大,所以Arduino的5V不够用,否则Arduino将会损坏。所以,我们会准备一个外部5V电源。

poYBAGPzGFOAaIoQAACK-hEI4jo995.gif

图6 全彩LED灯带原理图

3. 让我们来点亮LED灯吧!

现在,我们编写一个程序来点亮LED灯串。下面的示例代码基于

Adafruit_NeoPixel代码示例。

LED灯条的示例程序

#include 
 
#define PIN 6   	//pin number of the signal terminal
#define LED_NUM 50  //number of LEDs
 
Adafruit_NeoPixel ledtape = Adafruit_NeoPixel(LED_NUM, PIN, NEO_GRB + NEO_KHZ800);  //if the control IC of the LED tape used is WS2812, the third parameter is NEO_KHZ800 and if WS2811 then NEO_KHZ400
 
void setup() {
  ledtape.begin();
  ledtape.show();   //reflects once in all OFF state
}
 
void loop() {
 uint16_t i, j;
 
 for(j=0; j <256; j++) {
   for(i=0; i < ledtape.numPixels(); i++) {
     ledtape.setPixelColor(i, rotateColor((((i) * 256 / ledtape.numPixels()) + j) & 255));
   }
   ledtape.show();
   delay(20);
 }
}
 
//RGB color transition function
uint32_t rotateColor(byte WheelPos) {
  if(WheelPos < 85) {
   return ledtape.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if(WheelPos < 170) {
   WheelPos -= 85;
   return ledtape.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
   WheelPos -= 170;
   return ledtape.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}

如果已经连接LED灯带并且程序运行正常,您将会看到LED灯点亮。

poYBAGPzGEeAF0X5AAFtOUjrETs858.jpg

图7 LED灯串点亮

而且,如果稍微改变一下程序,我们也可以一个接一个地点亮LED灯。

一次点亮一个LED灯的示例程序

#include 
 
#define PIN 6   	//pin number of the signal terminal
#define LED_NUM 50  //number of LEDs
 
Adafruit_NeoPixel ledtape = Adafruit_NeoPixel(LED_NUM, PIN, NEO_GRB + NEO_KHZ800);  //if the control IC of the LED tape used is WS2812, the third parameter is NEO_KHZ800 and if WS2811 then NEO_KHZ400
 
void setup() {
  ledtape.begin();
  ledtape.show();   //reflects once in all OFF state
}
 
void loop() {
  uint16_t i, j;
 
//Set the state of all colors of the LED in minutes and light in show
 for(i=0; i < ledtape.numPixels(); i++) {
   ledtape.setPixelColor(i, Wheel((((i) * 256 / ledtape.numPixels()) + j) & 255));
   ledtape.show();
   ledtape.setPixelColor(i, ledtape.Color(0,0,0));
   delay(20);
   ledtape.show();
 }
}
 
//RGB color transition function
uint32_t rotateColor(byte WheelPos) {
  if(WheelPos < 85) {
   return ledtape.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  } else if(WheelPos < 170) {
   WheelPos -= 85;
   return ledtape.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else {
   WheelPos -= 170;
   return ledtape.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
}

现在您可以使用我们刚刚编程的LED灯串装饰您的室内或室外空间了!点燃万圣节南瓜灯(即使万圣节已经过去)后,您会觉得万圣节又来了!

今天,我们学习了如何使用LED灯条/灯串的基本知识。下次,我们将使用ROHM传感器评估套件的传感器构建一个根据传感器输入值控制LED灯串的设备。假日已经提前来临了!让我们用这些炫酷的LED灯条/灯串项目,为家里增添一些节日气氛吧!

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

审核编辑黄宇

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

    关注

    237

    文章

    22454

    浏览量

    645894
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184848
收藏 人收藏

    评论

    相关推荐

    设计一个节日彩灯控制器。

    设计一个节日彩灯控制器。:彩灯分为红色、黄色、绿色三种色彩,通过按键控制,可完成指定模式流动。流动模式:先红色彩灯流动、然后是黄色彩灯流动、
    发表于 07-03 12:14

    如何用PYNQ做一个节日立方彩灯

    用PYNQ做一个节日立方彩灯
    发表于 02-04 07:35

    设计8路节日彩灯控制器的相关资料分享

    任务设计8路节日彩灯控制器,要求在Protues中设计接口电路图,并编程实现节日彩灯闪烁方式的控制:通过P1.0到P1.2来控制3个按键。3个按键分别对应3种
    发表于 11-10 08:43

    节日彩灯控制器的相关资料推荐

    单片机-节日彩灯控制器彩灯及点阵方案设计各功能键设计各模块设计设计环境效果彩灯及点阵方案设计每次只亮一个彩灯,从左至右循环移动,点阵显示小狗
    发表于 01-24 06:29

    节日彩灯控制器

    节日里用彩灯装饰和美化环境可以得到很好的效果。这里介绍的控制器使节日彩灯具有动感,交替闪亮的彩灯好似流水。它的
    发表于 05-28 10:10 183次下载

    89C51单片机节日彩灯控制器

    全自己制作的89C51单片机节日彩灯控制器,8*8LED矩阵,protues仿真,protel99se原理图和pcb图,供大家参考。
    发表于 02-23 17:14 73次下载

    关于制作Arduino LED节日彩灯流程和感想

    这次使用的LED灯串所需电压是5V,且具有四个端子。检查文件时,除了正极和负极(GND)之外,开发板一侧还有一个信号端子和一个GND端子。由于LED的输入电压是5V,因此我想使用Arduino的5V
    的头像 发表于 08-22 15:47 7676次阅读

    单片机实验:节日彩灯控制器

    任务设计8路节日彩灯控制器,要求在Protues中设计接口电路图,并编程实现节日彩灯闪烁方式的控制:通过P1.0到P1.2来控制3个按键。3个按键分别对应3种
    发表于 11-05 09:06 38次下载
    单片机实验:<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b>控制器

    基于单片机节日彩灯控制器系统设计-protues仿真资料

    基于单片机节日彩灯控制器系统设计-protues仿真资料
    发表于 11-23 17:21 40次下载
    基于单片机<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b>控制器系统设计-protues仿真资料

    单片机-节日彩灯控制器

    单片机-节日彩灯控制器彩灯及点阵方案设计各功能键设计各模块设计设计环境效果彩灯及点阵方案设计每次只亮一个彩灯,从左至右循环移动,点阵显示小狗
    发表于 11-29 11:51 19次下载
    单片机-<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b>控制器

    基于c51的节日彩灯控制器的设计

    基于c51的节日彩灯控制器的设计自认为本代码核心在于按键状态的保存和重置标记的设立。
    发表于 11-29 12:36 16次下载
    基于c51的<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b>控制器的设计

    使用Raspberry Pi或Arduino:DIY LED矩阵彩灯

    电子发烧友网站提供《使用Raspberry Pi或Arduino:DIY LED矩阵彩灯.zip》资料免费下载
    发表于 11-04 14:55 2次下载
    使用Raspberry Pi或<b class='flag-5'>Arduino</b>:DIY <b class='flag-5'>LED</b>矩阵<b class='flag-5'>彩灯</b>

    如何用LED灯条制作节日窗饰

    电子发烧友网站提供《如何用LED灯条制作节日窗饰.zip》资料免费下载
    发表于 12-13 09:52 0次下载
    如何用<b class='flag-5'>LED</b>灯条<b class='flag-5'>制作</b><b class='flag-5'>节日</b>窗饰

    如何利用Arduino实现激光绊线

    ARDUINO激光绊线,目的:本教程描述了如何使用Arduino Uno制作一个激光绊线。在制作Arduino
    的头像 发表于 02-24 14:36 833次阅读
    如何利用<b class='flag-5'>Arduino</b>实现激光绊线

    利用接近传感器制作Arduino LED节日彩灯

    这篇文章来源于DevicePlus.com英语网站的翻译稿。在 制作Arduino LED节日彩灯中,我们用
    的头像 发表于 02-24 09:51 1318次阅读
    利用接近传感器<b class='flag-5'>制作</b><b class='flag-5'>Arduino</b> <b class='flag-5'>LED</b><b class='flag-5'>节日</b><b class='flag-5'>彩灯</b>