/*
* 通过HSV颜色控制LED光带
* 太极创客 http://www.taichi-maker.com/
* 03/15/2018
*
* =====================功能说明=====================
* 使用Arduino Uno开发板控制WS2812光带通过HSV颜色控制LED光带
*
* 本示例程序需要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 LED_DT 9 // Arduino输出控制信号引脚
#define LED_TYPE WS2812 // LED灯带型号
#define COLOR_ORDER GRB // RGB灯珠中红色、绿色、蓝色LED的排列顺序
uint8_t max_bright = 128; // LED亮度控制变量,可使用数值为 0 ~ 255, 数值越大则光带亮度越高
CRGB leds[NUM_LEDS]; // 建立光带leds
//HSV方法定义颜色
CHSV myHSVcolor(80,255,200); //HSV方法定义颜色 myHSVcolor(色调,饱和度,明亮度)
void setup() {
LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS); // 初始化光带
FastLED.setBrightness(max_bright); // 设置光带亮度
}
void loop () {
// 演示如何使用.h方法改变CHSV颜色的某一个数值
myHSVcolor.h++; // 修改HSV定义颜色的单一数值
// myHSVcolor.h为myHSVcolor的色调数值
fill_solid(leds, NUM_LEDS, myHSVcolor);
FastLED.show();
delay(10);
} // loop()