一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Arduino篇—FastLED庫文件項(xiàng)目應(yīng)用

冬至子 ? 來源:X的創(chuàng)客課堂 ? 作者:MRXY ? 2023-11-02 11:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

課程目標(biāo)

  • 單個(gè)LED的控制方法
  • LED的運(yùn)動(dòng)模式
  • LED的多種顏色控制

電路搭建

所需材料

ArduinoUNO * 1
RGB燈帶30個(gè)LED * 1

電路連接

圖片

程序編寫

練習(xí)一:?jiǎn)蝹€(gè)LED閃爍

代碼方式:

/* 項(xiàng)目名稱: WS2812單個(gè)LED閃爍
 * 項(xiàng)目時(shí)間:2022.04.21
 * 項(xiàng)目作者:MRX
 */
#include "FastLED.h"


#define LEDS_NUM 30    //定義led燈珠的數(shù)量
#define DATA_PIN 9     //UNO輸出控制信號(hào)引腳
#define LED_TYPE WS2812 //LED燈帶型號(hào)
#define COLOR_ORDER GRB //RGB燈珠中三種顏色LED的排序


uint8_t bright = 128;  //LED亮度控制,范圍為0~255,數(shù)值越大LED越亮


CRGB leds[LEDS_NUM];   //創(chuàng)建燈帶leds


void setup() {
  Serial.begin(9600);
  delay(1000);


  LEDS.addLeds(leds,LEDS_NUM);  //初始化燈帶


  FastLED.setBrightness(bright);
}


void loop() {
    leds[0] = CRGB::Red;   //設(shè)置燈帶中第一個(gè)燈珠顏色為紅色,leds[0]為第一個(gè)
    FastLED.show();        //更新LED色彩
    delay(500);            //等待500毫秒

    leds[0] = CRGB::Black;   //熄滅燈帶第一個(gè)燈珠
    FastLED.show();          //更新LED色彩
    delay(500);              //等待500毫秒
  }
}

相關(guān)知識(shí):

**uint8_t:**其取值范圍為0255,由于FastLED庫做定義的LED亮度范圍剛好在0255,從最優(yōu)角度來看,這里使用這個(gè)變量類型剛好合適。

練習(xí)二:移動(dòng)的LED

代碼形式:

/* 項(xiàng)目名稱: WS2812單個(gè)LED閃爍移動(dòng)
 * 項(xiàng)目時(shí)間:2022.04.21
 * 項(xiàng)目作者:MRX
 */
#include "FastLED.h"


#define LEDS_NUM 30    //定義led燈珠的數(shù)量
#define DATA_PIN 9     //UNO輸出控制信號(hào)引腳
#define LED_TYPE WS2812 //LED燈帶型號(hào)
#define COLOR_ORDER GRB //RGB燈珠中三種顏色LED的排序


uint8_t bright = 128;  //LED亮度控制,范圍為0~255,數(shù)值越大LED越亮


CRGB leds[LEDS_NUM];   //創(chuàng)建燈帶leds


void setup() {
  Serial.begin(9600);
  delay(1000);


  LEDS.addLeds(leds,LEDS_NUM);  //初始化燈帶


  FastLED.setBrightness(bright);
}


void loop() {
  for(int i = 0;i <= LEDS_NUM; i++ ){  
    leds[i] = CRGB::Red;   //設(shè)置燈帶中第一個(gè)燈珠顏色為紅色
    FastLED.show();        //更新LED色彩
    delay(50);            //等待50毫秒

    leds[i] = CRGB::Black;   //熄滅燈帶第一個(gè)燈珠
    FastLED.show();          //更新LED色彩
    delay(50);              //等待50毫秒
  }
}

作用域符號(hào)”::“: 符號(hào)的前面一般是類名稱,后面一般是該類的成員名稱,C++為例避免不同的類有名稱相同的成員而采用作用域的方式進(jìn)行區(qū)分。

練習(xí)三:三色燈移動(dòng)

代碼形式:

/* 項(xiàng)目名稱: WS2812單個(gè)LED三種顏色循環(huán)閃爍
 * 項(xiàng)目時(shí)間:2022.04.21
 * 項(xiàng)目作者:MRX
 */
#include "FastLED.h"


#define LEDS_NUM 30    //定義led燈珠的數(shù)量
#define DATA_PIN 9     //UNO輸出控制信號(hào)引腳
#define LED_TYPE WS2812 //LED燈帶型號(hào)
#define COLOR_ORDER GRB //RGB燈珠中三種顏色LED的排序


uint8_t bright = 128;  //LED亮度控制,范圍為0~255,數(shù)值越大LED越亮


CRGB leds[LEDS_NUM];   //創(chuàng)建燈帶leds


void setup() {
  Serial.begin(9600);
  delay(1000);


  LEDS.addLeds(leds,LEDS_NUM);  //初始化燈帶


  FastLED.setBrightness(bright);
}


void loop() {
  for(int i = 0;i <= LEDS_NUM; i++ ){  
    leds[i] = CRGB::Red;   //設(shè)置燈帶中第一個(gè)燈珠顏色為紅色
    FastLED.show();        //更新LED色彩
    delay(50);            //等待500毫秒


    leds[i] = CRGB::Green;   //設(shè)置燈帶中第一個(gè)燈珠顏色為綠色
    FastLED.show();        //更新LED色彩
    delay(50);            //等待50毫秒


    leds[i] = CRGB::Blue;   //設(shè)置燈帶中第一個(gè)燈珠顏色為藍(lán)色
    FastLED.show();        //更新LED色彩
    delay(50);            //等待50毫秒

    leds[i] = CRGB::Black;   //熄滅燈帶第一個(gè)燈珠
    FastLED.show();          //更新LED色彩
    delay(50);              //等待50毫秒
  }
}

練習(xí)四:多個(gè)三色燈移動(dòng)

代碼形式:

/* 項(xiàng)目名稱: WS2812多個(gè)LED循環(huán)移動(dòng)
 * 項(xiàng)目時(shí)間:2022.04.21
 * 項(xiàng)目作者:MRX
 */
#include "FastLED.h"


#define LEDS_NUM 30    //定義led燈珠的數(shù)量
#define DATA_PIN 9     //UNO輸出控制信號(hào)引腳
#define LED_TYPE WS2812 //LED燈帶型號(hào)
#define COLOR_ORDER GRB //RGB燈珠中三種顏色LED的排序


uint8_t bright = 128;  //LED亮度控制,范圍為0~255,數(shù)值越大LED越亮


CRGB leds[LEDS_NUM];   //創(chuàng)建燈帶leds


void setup() {
  Serial.begin(9600);
  delay(1000);


  LEDS.addLeds(leds,LEDS_NUM);  //初始化燈帶


  FastLED.setBrightness(bright);
}


void loop() {
  for(int i = 0;i <= 30; i++ ){  
    leds[i-1] = CRGB::Red;
    leds[i] = CRGB::Red;   //設(shè)置燈帶中第一個(gè)燈珠顏色為紅色
    leds[i+1] = CRGB::Red;
    FastLED.show();        //更新LED色彩
    delay(50);            //等待500毫秒


    leds[i-1] = CRGB::Green;
    leds[i] = CRGB::Green;   //設(shè)置燈帶中第一個(gè)燈珠顏色為綠色
    leds[i+1] = CRGB::Green;
    FastLED.show();        //更新LED色彩
    delay(50);            //等待50毫秒


    leds[i-1] = CRGB::Blue;
    leds[i] = CRGB::Blue;   //設(shè)置燈帶中第一個(gè)燈珠顏色為藍(lán)色
    leds[i+1] = CRGB::Blue;
    FastLED.show();        //更新LED色彩
    delay(50);            //等待50毫秒

    leds[i-1] = CRGB::Black;
    leds[i] = CRGB::Black;   //熄滅燈帶第一個(gè)燈珠
    leds[i+1] = CRGB::Black;
    FastLED.show();          //更新LED色彩
    delay(50);              //等待50毫秒
  }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • LED控制
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    17153
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    807

    瀏覽量

    59939
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192196
  • 三色燈
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6322
  • WS2812
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    6721
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【mBot試用體驗(yàn)】使用Arduino IDE文件配置詳解

    是使用Arduino IDE編程,下面來介紹一下Arduino 編程的相關(guān)文件配置和Arduino 使用的簡(jiǎn)單介紹:首先大家需要下載下面這
    發(fā)表于 12-25 01:29

    圖書《arduino程序設(shè)計(jì)基礎(chǔ)》

    Arduino… 1004.3.1編寫頭文件… 1004.3.2預(yù)處理命令… 1014.3.3宏定義… 1024.3.4文件包含… 1024.3.5條件編譯… 1024.3.6版本
    發(fā)表于 06-12 14:37

    Arduino開發(fā)實(shí)戰(zhàn)指南 AVR

    第一基礎(chǔ)第1章初識(shí)Arduino第2章編寫Arduino程序第3章Arduino的基本函數(shù)第4章Ar
    發(fā)表于 08-03 16:14

    ESP-IDF添加arduino作為component的方式創(chuàng)建項(xiàng)目,在使用arduno的時(shí)找不到頭文件的原因?

    ,提示找不到對(duì)應(yīng)的頭文件。請(qǐng)問使用idf.py命令方式編譯,怎樣才能編譯arduino,并且在項(xiàng)目中可調(diào)用。謝謝
    發(fā)表于 02-10 08:14

    ESP-IDF添加arduino作為component的方式創(chuàng)建項(xiàng)目,在使用arduno的時(shí),找不到頭文件怎么解決?

    對(duì)應(yīng)的頭文件。請(qǐng)問使用idf.py命令方式編譯,怎樣才能編譯arduino,并且在項(xiàng)目中可調(diào)用。謝謝
    發(fā)表于 03-03 09:10

    ESP-IDF添加arduino作為component的方式創(chuàng)建項(xiàng)目,在使用arduno的時(shí),找不到頭文件的原因?

    ,提示找不到對(duì)應(yīng)的頭文件。請(qǐng)問使用idf.py命令方式編譯,怎樣才能編譯arduino,并且在項(xiàng)目中可調(diào)用。
    發(fā)表于 03-08 09:09

    樂為物聯(lián)網(wǎng)平臺(tái)的接入Arduino文件

    樂為物聯(lián)網(wǎng)平臺(tái)的接入Arduino文件,方便開發(fā)調(diào)用。
    發(fā)表于 10-29 11:05 ?32次下載

    yeelink物聯(lián)網(wǎng)平臺(tái)的接入Arduino文件

    yeelink物聯(lián)網(wǎng)平臺(tái)的接入Arduino文件,方便開發(fā)調(diào)用。
    發(fā)表于 10-29 11:04 ?24次下載

    FastLED-3.1.0

    arduino 2812控制文件 arduino 2812控制文件
    發(fā)表于 12-03 18:02 ?6次下載

    鼠標(biāo)輪編碼器AD、Solidworks項(xiàng)目和STEP文件

    鼠標(biāo)輪編碼器AD、Solidworks項(xiàng)目和STEP文件,感興趣的可以看看。
    發(fā)表于 05-11 16:33 ?0次下載

    arduino MPU-6050文件

    arduino MPU-6050文件Arduino+MPU6050+卡爾曼濾波自平衡車
    發(fā)表于 05-23 18:21 ?53次下載

    如何安裝FastLED.io

    Internet上有許多非常酷的附加代碼可供下載,這些代碼Arduino IDE添加了功能。每個(gè)人都為IDE提供了一些獨(dú)特的通信技能,使Arduino可以與獨(dú)特的硬件模塊“對(duì)話”
    的頭像 發(fā)表于 11-15 10:38 ?1.2w次閱讀

    Arduino實(shí)現(xiàn)電子時(shí)鐘的文件資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino實(shí)現(xiàn)電子時(shí)鐘的文件資料合集免費(fèi)下載。
    發(fā)表于 06-02 08:00 ?6次下載
    <b class='flag-5'>Arduino</b>實(shí)現(xiàn)電子時(shí)鐘的<b class='flag-5'>庫</b><b class='flag-5'>文件</b>資料合集免費(fèi)下載

    Arduino IED中安裝TimeOne文件

    Arduino IED中安裝TimeOne文件
    發(fā)表于 04-25 09:45 ?4次下載

    涂鴉智能物聯(lián)網(wǎng)平臺(tái)mcu方案arduino文件

    涂鴉智能物聯(lián)網(wǎng)平臺(tái)mcu方案arduino文件,使用可以輕松接入涂鴉平臺(tái),實(shí)現(xiàn)遠(yuǎn)程控制、OTA等平臺(tái)能力
    發(fā)表于 04-28 17:43 ?6次下載