ColorFromPalette函数返回指定色板中的颜色。我们可以将ColorFromPalette的返回值设置LED色彩。
用法
			leds[0] = ColorFromPalette( RainbowColors_p, 0, 128, LINEARBLEND);
以上语句将leds光带的第一个灯珠设置为RainbowColors_p色板中颜色序号为0的颜色(红色)。LED亮度为128。色彩过渡为线性过渡效果(LINEARBLEND)。
			 leds[9] = ColorFromPalette( OceanColors_p, 120, 255, LINEARBLEND); 
以上语句将leds光带的第十个灯珠设置为OceanColors_p色板中颜色序号为120的颜色。LED亮度为255。色彩过渡为线性过渡效果(LINEARBLEND)。
如需了解更多FastLED库色板的知识,请点击这里。
示例程序
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63  | 
						/*  * beatSine  * 太极创客 http://www.taichi-maker.com/  * 03/11/2018  *   * =====================功能说明=====================  * 闪烁彩色 LED 灯珠 犹如星空中的彩色星星闪烁效果   * 版本-2: 使用 Palettte 色彩   *   * 本示例程序需要Arduino第三方库FastLED。如有需要,可通过以下链接下载该库:  * http://www.taichi-maker.com/homepage/download/#library-download  *   * 如需了解如何为Arduino IDE安装第三方库,请参见以下链接地址的视频教程:  * http://www.taichi-maker.com/homepage/reference-index/arduino-library-index/install-arduino-library/  *    * =====================电路连接======================  * 此示例程序中,Arduino输出控制信号引脚为9号引脚。  *   * 如需获得详细电路连接说明图,请参阅太极创客网站中  * 有关WS2812 LED光带方面的相关内容,太极创客网站地址:  *   *  http://WWW.TAICHI-MAKER.COM  *   * 此示例程序为配合太极创客制作的  * 《零基础入门学用ARDUINO教程-智能应用篇》使用  */ #include "FastLED.h"            // 此示例程序需要使用FastLED库 #define NUM_LEDS 30             // LED灯珠数量 #define DATA_PIN 9              // Arduino输出控制信号引脚 #define LED_TYPE WS2812         // LED灯带型号 #define COLOR_ORDER GRB         // RGB灯珠中红色、绿色、蓝色LED的排列顺序 #define twinkleInterval  100    //  闪烁间隔时间 (毫秒) #define twinkleChance 80        //  闪烁数量,数值越大闪烁越多(0-255)  uint8_t max_bright = 128;       // LED亮度控制变量,可使用数值为 0 ~ 255, 数值越大则光带亮度越高 CRGB leds[NUM_LEDS];            // 建立光带leds void setup() {    Serial.begin(9600);           // 启动串行通讯   delay(1000);                  // 稳定性等待   LEDS.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);  // 初始化光带   FastLED.setBrightness(max_bright);                            // 设置光带亮度 } void loop() {         int pos = random8(NUM_LEDS);   EVERY_N_MILLISECONDS( twinkleInterval ) {      if( random8() < twinkleChance) {       leds[pos] = ColorFromPalette( PartyColors_p, random8(255), 128, LINEARBLEND);     }      }   EVERY_N_MILLISECONDS( 20 ) {      fadeToBlackBy( leds, NUM_LEDS, 10);   }       FastLED.show();    delay(50);        }  |