这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 电源与模拟 » 制作ArduinoLED节日彩灯

共3条 1/1 1 跳转至

制作ArduinoLED节日彩灯

工程师
2022-08-14 19:24:11     打赏

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


arduino led

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

 

今天的电子设计技巧

估计完成时间:60分钟

所需部件

  • Arduino UNO R3

  • WS2811 5M LED 灯条 240 SMD 5050

 

目录
  1. LED灯条简介

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

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

 

1. LED灯条简介

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

arduino led

图1  LED灯条

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

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

arduino led

图2  全彩LED灯条的规格

 

arduino led

图3  全彩LED灯条端子

 

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

arduino led

图4   LED灯串

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

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

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

 

Arduino库安装 – adafruit

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

arduino led

图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电源。

arduino led

图6 全彩LED灯带原理图

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

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

Adafruit_NeoPixel代码示例。

 

LED灯条的示例程序

#include <Adafruit_NeoPixel.h>   #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灯点亮。

arduino led

图7 LED灯串点亮

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

 

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

#include <Adafruit_NeoPixel.h>   #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灯条/灯串项目,为家里增添一些节日气氛吧!





关键词: 制作     ArduinoLED     节日     彩灯    

工程师
2022-08-14 22:47:48     打赏
2楼

动手能力还是非常强的


工程师
2022-08-14 23:01:17     打赏
3楼

感谢您的分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]