0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

制作Arduino LED節(jié)日彩燈

YYXIAO ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-02-24 14:28 ? 次閱讀

這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。

poYBAGPzGEeAF0X5AAFtOUjrETs858.jpg

假日季節(jié)來臨之際,我覺得利用Arduino和全彩LED燈條制作裝飾彩燈將會很有趣。這些LED不僅會亮,而且具有多種不同的顏色,能夠為您帶來多彩的節(jié)日氣氛!

今天的電子設(shè)計技巧

估計完成時間:60分鐘

所需部件

Arduino UNO R3

WS2811 5M LED 燈條 240 SMD 5050

目錄

LED燈條簡介

如何連接LED燈條并接線

讓我們來點亮LED燈吧!

1. LED燈條簡介

LED燈條(或者也稱為LED燈帶)與普通的LED有些不同??傮w來講,就是多個LED燈連在一起,組成一個燈條或燈帶。市面上銷售的LED燈條長約30 cm至5 m。

pYYBAGPzGEmANyEoAAFbc1jQv44437.jpg

圖1 LED燈條

LED燈條有兩種。第一種是燈條上的所有LED同步開/關(guān)。另一種則具有一個控制IC,可以根據(jù)輸入信號逐一控制燈條上的LED燈。雖然前者擁有更多的LED燈,但是基本上跟普通LED一樣只有正負極端子。而后一種LED燈條則通常具有4個和5個端子,其中包括信號線和正負極端子,如圖3所示。

此外,LED燈條還有一個特點,我們可以通過切割圖2中的黃色虛線來調(diào)整其長度。(但是,如果我們切斷了其他部件,就無法連接正負端子了)

pYYBAGPzGEuAZc5YAAGNLUZpuQU081.jpg

圖2 全彩LED燈條的規(guī)格

poYBAGPzGEyAD4mJAAEr7sP22fo456.jpg

圖3 全彩LED燈條端子

除了圖1所示的之外,市面上還有許多類型的LED燈帶。如果您在網(wǎng)上搜索,您會搜到多種不同版本的LED燈條。

pYYBAGPzGE-AJgBYAAFe9YQz3Y0632.jpg

圖4 LED燈串

這一次,我們使用圖4所示的LED燈串。

2. 如何連接LED燈串并接線

那么,我們現(xiàn)在該如何點亮全彩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(導入)按鈕,繼續(xù)在Arduino Web Editor中安裝。

如果您正在運行應(yīng)用程序,則可以單擊頂部菜單上的“Sketch”(草圖),然后添加庫。添加庫之后,請將LED燈條連至Arduino。

這次使用的LED燈串所需電壓是5V,且具有四個端子。檢查文件時,除了正極和負極(GND)之外,開發(fā)板一側(cè)還有一個信號端子和一個GND端子。由于LED的輸入電壓是5V,因此我想使用Arduino的5V電源。但是,LED燈條含有多個LED燈,所需電流較大,所以Arduino的5V不夠用,否則Arduino將會損壞。所以,我們會準備一個外部5V電源。

poYBAGPzGFOAaIoQAACK-hEI4jo995.gif

圖6 全彩LED燈帶原理圖

3. 讓我們來點亮LED燈吧!

現(xiàn)在,我們編寫一個程序來點亮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);
  }
}

如果已經(jīng)連接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);
  }
}

現(xiàn)在您可以使用我們剛剛編程的LED燈串裝飾您的室內(nèi)或室外空間了!點燃萬圣節(jié)南瓜燈(即使萬圣節(jié)已經(jīng)過去)后,您會覺得萬圣節(jié)又來了!

今天,我們學習了如何使用LED燈條/燈串的基本知識。下次,我們將使用ROHM傳感器評估套件的傳感器構(gòu)建一個根據(jù)傳感器輸入值控制LED燈串的設(shè)備。假日已經(jīng)提前來臨了!讓我們用這些炫酷的LED燈條/燈串項目,為家里增添一些節(jié)日氣氛吧!

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設(shè)備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    22907

    瀏覽量

    650110
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185922
收藏 人收藏

    評論

    相關(guān)推薦

    設(shè)計一個節(jié)日彩燈控制器。

    設(shè)計一個節(jié)日彩燈控制器。:彩燈分為紅色、黃色、綠色三種色彩,通過按鍵控制,可完成指定模式流動。流動模式:先紅色彩燈流動、然后是黃色彩燈流動、
    發(fā)表于 07-03 12:14

    如何用PYNQ做一個節(jié)日立方彩燈

    用PYNQ做一個節(jié)日立方彩燈
    發(fā)表于 02-04 07:35

    設(shè)計8路節(jié)日彩燈控制器的相關(guān)資料分享

    任務(wù)設(shè)計8路節(jié)日彩燈控制器,要求在Protues中設(shè)計接口電路圖,并編程實現(xiàn)節(jié)日彩燈閃爍方式的控制:通過P1.0到P1.2來控制3個按鍵。3個按鍵分別對應(yīng)3種
    發(fā)表于 11-10 08:43

    節(jié)日彩燈控制器的相關(guān)資料推薦

    單片機-節(jié)日彩燈控制器彩燈及點陣方案設(shè)計各功能鍵設(shè)計各模塊設(shè)計設(shè)計環(huán)境效果彩燈及點陣方案設(shè)計每次只亮一個彩燈,從左至右循環(huán)移動,點陣顯示小狗
    發(fā)表于 01-24 06:29

    節(jié)日彩燈控制器

    節(jié)日里用彩燈裝飾和美化環(huán)境可以得到很好的效果。這里介紹的控制器使節(jié)日彩燈具有動感,交替閃亮的彩燈好似流水。它的
    發(fā)表于 05-28 10:10 ?183次下載

    走馬彩燈控制實驗

    實驗九      走馬彩燈控制實驗?zāi)康模涸O(shè)計制作節(jié)目用走馬彩燈控制電路。實驗要求:我校大門節(jié)日彩燈
    發(fā)表于 09-25 15:12 ?1246次閱讀

    帶模式控制的LED彩燈制作方法

    帶模式控制的LED彩燈制作方法 8個LED燈直接連接到Vcc 上,不需要限流電阻。本制作利用到同步定時器,及使用睡眠的方式節(jié)省電力。
    發(fā)表于 05-12 10:19 ?2635次閱讀
    帶模式控制的<b class='flag-5'>LED</b><b class='flag-5'>彩燈</b>的<b class='flag-5'>制作</b>方法

    89C51單片機節(jié)日彩燈控制器

    全自己制作的89C51單片機節(jié)日彩燈控制器,8*8LED矩陣,protues仿真,protel99se原理圖和pcb圖,供大家參考。
    發(fā)表于 02-23 17:14 ?75次下載

    關(guān)于制作Arduino LED節(jié)日彩燈流程和感想

    這次使用的LED燈串所需電壓是5V,且具有四個端子。檢查文件時,除了正極和負極(GND)之外,開發(fā)板一側(cè)還有一個信號端子和一個GND端子。由于LED的輸入電壓是5V,因此我想使用Arduino的5V
    的頭像 發(fā)表于 08-22 15:47 ?7835次閱讀

    單片機實驗:節(jié)日彩燈控制器

    任務(wù)設(shè)計8路節(jié)日彩燈控制器,要求在Protues中設(shè)計接口電路圖,并編程實現(xiàn)節(jié)日彩燈閃爍方式的控制:通過P1.0到P1.2來控制3個按鍵。3個按鍵分別對應(yīng)3種
    發(fā)表于 11-05 09:06 ?38次下載
    單片機實驗:<b class='flag-5'>節(jié)日</b><b class='flag-5'>彩燈</b>控制器

    基于c51的節(jié)日彩燈控制器的設(shè)計

    基于c51的節(jié)日彩燈控制器的設(shè)計自認為本代碼核心在于按鍵狀態(tài)的保存和重置標記的設(shè)立。
    發(fā)表于 11-29 12:36 ?18次下載
    基于c51的<b class='flag-5'>節(jié)日</b><b class='flag-5'>彩燈</b>控制器的設(shè)計

    使用Raspberry Pi或Arduino:DIY LED矩陣彩燈

    電子發(fā)燒友網(wǎng)站提供《使用Raspberry Pi或Arduino:DIY LED矩陣彩燈.zip》資料免費下載
    發(fā)表于 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燈條制作節(jié)日窗飾

    電子發(fā)燒友網(wǎng)站提供《如何用LED燈條制作節(jié)日窗飾.zip》資料免費下載
    發(fā)表于 12-13 09:52 ?0次下載
    如何用<b class='flag-5'>LED</b>燈條<b class='flag-5'>制作</b><b class='flag-5'>節(jié)日</b>窗飾

    如何利用Arduino實現(xiàn)激光絆線

    ARDUINO激光絆線,目的:本教程描述了如何使用Arduino Uno制作一個激光絆線。在制作Arduino
    的頭像 發(fā)表于 02-24 14:36 ?1039次閱讀
    如何利用<b class='flag-5'>Arduino</b>實現(xiàn)激光絆線

    利用接近傳感器制作Arduino LED節(jié)日彩燈

    這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。在 制作Arduino LED節(jié)日彩燈中,我們用
    的頭像 發(fā)表于 02-24 09:51 ?1611次閱讀
    利用接近傳感器<b class='flag-5'>制作</b><b class='flag-5'>Arduino</b> <b class='flag-5'>LED</b><b class='flag-5'>節(jié)日</b><b class='flag-5'>彩燈</b>