“炫彩LED灯”的版本间的差异
(→实验一:点亮彩灯) |
|||
第67行: | 第67行: | ||
void setup() { | void setup() { | ||
strip.begin(); | strip.begin(); | ||
− | |||
} | } | ||
void loop() { | void loop() { | ||
− | + | strip.setPixelColor(0, strip.Color(255, 0, 0));//红 | |
− | + | strip.show(); | |
− | + | delay(1000); | |
− | + | strip.setPixelColor(0, strip.Color(0, 255, 0));//绿 | |
− | + | strip.show(); | |
− | + | delay(1000); | |
− | + | strip.setPixelColor(0, strip.Color(0, 0, 255));//蓝 | |
− | + | strip.show(); | |
− | + | delay(1000); | |
− | + | strip.setPixelColor(0, strip.Color(0, 0, 0));//灭 | |
− | + | strip.show(); | |
− | + | delay(1000); | |
− | |||
} | } | ||
</source> | </source> | ||
第93行: | 第91行: | ||
**编译成功后可以直接下载,提示下载成功表示程序下载完毕。 | **编译成功后可以直接下载,提示下载成功表示程序下载完毕。 | ||
[[file:upload-led.JPG|600px|center]] | [[file:upload-led.JPG|600px|center]] | ||
− | * | + | *结果每隔1s切换一个灯显示,颜色分别是红,绿,蓝,灭依次循环。 |
===程序调试=== | ===程序调试=== |
2016年2月22日 (一) 06:05的版本
概述Microduino-Color led是彩色LED灯,内置IC控制芯片,单总线控制,可任意级联,只需要一个I/O口就可以控制所有的灯,每个彩灯都可以单独控制。 特色
规格
文档开发设备
准备
实验一:点亮彩灯
#include <Adafruit_NeoPixel.h>
#define PIN 6 //led灯控制引脚
#define PIN_NUM 2 //允许接的led灯的个数
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIN_NUM, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
}
void loop() {
strip.setPixelColor(0, strip.Color(255, 0, 0));//红
strip.show();
delay(1000);
strip.setPixelColor(0, strip.Color(0, 255, 0));//绿
strip.show();
delay(1000);
strip.setPixelColor(0, strip.Color(0, 0, 255));//蓝
strip.show();
delay(1000);
strip.setPixelColor(0, strip.Color(0, 0, 0));//灭
strip.show();
delay(1000);
}
程序调试
实验二:呼吸灯
#include <Adafruit_NeoPixel.h>
#define PIN 6 //led灯控制引脚
#define PIN_NUM 2 //允许接的led灯的个数
#define val_max 255
#define val_min 0
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIN_NUM, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show();
}
void loop() {
rainbowCycle( 255, 0, 0, 10);//红色呼吸
rainbowCycle( 0, 255, 0, 10);//绿色呼吸
rainbowCycle( 0, 0, 255, 10);//蓝色呼吸
}
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);
}
}
调试代码
应用
|