“彩灯的多种玩法”的版本间的差异
1196357542(讨论 | 贡献) (创建页面,内容为“{| style="width: 800px;" |- | <br> <big>此示例给出了控制彩灯的几种显示效果。</big> <br> <br> <p style="color: #E87E05;font-size:135%">硬件清单<...”) |
1196357542(讨论 | 贡献) |
||
第22行: | 第22行: | ||
<br> | <br> | ||
<p style="color: #E87E05;font-size:135%">代码</p> | <p style="color: #E87E05;font-size:135%">代码</p> | ||
+ | *呼吸灯 | ||
<source lang="cpp"> | <source lang="cpp"> | ||
#include <Microduino_ColorLED.h> //引用彩灯库 | #include <Microduino_ColorLED.h> //引用彩灯库 | ||
− | #define | + | #define PIN 6 //彩灯引脚 |
− | #define | + | #define NUMPIXELS 16 //级联彩灯数量 |
− | ColorLED strip = ColorLED( | + | |
+ | #define val_max 255 | ||
+ | #define val_min 0 | ||
+ | |||
+ | ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号 | ||
void setup() { | void setup() { | ||
− | strip.begin(); | + | strip.begin(); //彩灯初始化 |
− | + | strip.show(); | |
− | strip.show(); | ||
} | } | ||
void loop() { | void loop() { | ||
− | // | + | rainbowCycle( 255, 0, 0, 5);//红色呼吸 |
+ | rainbowCycle( 0, 255, 0, 5);//绿色呼吸 | ||
+ | rainbowCycle( 0, 0, 255, 5);//蓝色呼吸 | ||
+ | } | ||
+ | |||
+ | void colorSet(uint32_t c) { | ||
+ | for (uint16_t i = 0; i < strip.numPixels(); i++) { | ||
+ | strip.setPixelColor(i, c); | ||
+ | } | ||
+ | strip.show(); | ||
+ | } | ||
+ | |||
+ | void rainbowCycle( int r, int g, int b, uint8_t wait) { | ||
+ | for (int val = 0; val < 255; val++) | ||
+ | { | ||
+ | colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b))); | ||
+ | delay(wait); | ||
+ | } | ||
+ | for (int val = 255; val >= 0; val--) | ||
+ | { | ||
+ | colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b))); | ||
+ | delay(wait); | ||
+ | } | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | *闪烁灯 | ||
+ | <source lang="cpp"> | ||
+ | |||
+ | </source> | ||
+ | |||
+ | *彩虹灯 | ||
+ | <source lang="cpp"> | ||
+ | |||
+ | </source> | ||
+ | |||
+ | |||
<br> | <br> | ||
<p style="color: #E87E05;font-size:135%">相关案例</p> | <p style="color: #E87E05;font-size:135%">相关案例</p> |
2017年7月7日 (五) 06:05的版本
硬件清单
电路搭建 将彩灯的IN接到Hub的6/7引脚,实际使用的是6号引脚。
代码
#include <Microduino_ColorLED.h> //引用彩灯库
#define PIN 6 //彩灯引脚
#define NUMPIXELS 16 //级联彩灯数量
#define val_max 255
#define val_min 0
ColorLED strip = ColorLED(NUMPIXELS, PIN); //将ColorLED类命名为strip,并定义彩灯数量和彩灯引脚号
void setup() {
strip.begin(); //彩灯初始化
strip.show();
}
void loop() {
rainbowCycle( 255, 0, 0, 5);//红色呼吸
rainbowCycle( 0, 255, 0, 5);//绿色呼吸
rainbowCycle( 0, 0, 255, 5);//蓝色呼吸
}
void colorSet(uint32_t c) {
for (uint16_t i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, c);
}
strip.show();
}
void rainbowCycle( int r, int g, int b, uint8_t wait) {
for (int val = 0; val < 255; val++)
{
colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b)));
delay(wait);
}
for (int val = 255; val >= 0; val--)
{
colorSet(strip.Color(map(val, val_min, val_max, 0, r), map(val, val_min, val_max, 0, g), map(val, val_min, val_max, 0, b)));
delay(wait);
}
}
相关案例
|