“炫彩LED灯”的版本间的差异
853387039@qq.com(讨论 | 贡献) (→硬件测试) |
853387039@qq.com(讨论 | 贡献) |
||
第54行: | 第54行: | ||
*Setup 2:将CoreUSB,Hub,Color LED连接在一起。通过USB数据线将接入电脑。 | *Setup 2:将CoreUSB,Hub,Color LED连接在一起。通过USB数据线将接入电脑。 | ||
[[file:mCookie-strandtext-pc.JPG|600px|center]] | [[file:mCookie-strandtext-pc.JPG|600px|center]] | ||
− | *Setup | + | *Setup 3:打开Arduino IDE,将下列代码复制到IDE中。 |
− | + | <source lang="cpp"> | |
+ | #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(); | ||
+ | strip.show(); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | colorWipe(strip.Color(255, 0, 0), 500); // 每隔500ms切换到下一个灯显示红色 | ||
+ | colorWipe(strip.Color(0, 255, 0), 500); // 每隔500ms切换到下一个灯显示绿色 | ||
+ | colorWipe(strip.Color(0, 0, 255), 500); // 每隔500ms切换到下一个灯显示蓝色 | ||
+ | } | ||
+ | |||
+ | // Fill the dots one after the other with a color | ||
+ | void colorWipe(uint32_t c, uint8_t wait) { | ||
+ | //循环依次让每隔灯亮指定的颜色,C表示颜色,wait表示每个灯的颜色持续的时间 | ||
+ | for (uint16_t i = 0; i < strip.numPixels(); i++) { | ||
+ | strip.setPixelColor(i, c); | ||
+ | strip.show(); | ||
+ | delay(wait); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
*Setup 4:选择正确的板卡和COM端口,编译通过后直接下载。参考[[AVR核心:Getting started/zh]] | *Setup 4:选择正确的板卡和COM端口,编译通过后直接下载。参考[[AVR核心:Getting started/zh]] | ||
[[file:upload.JPG|thumb|800px|center]] | [[file:upload.JPG|thumb|800px|center]] | ||
第62行: | 第90行: | ||
===程序调试=== | ===程序调试=== | ||
*“#define PIN 6”定义了控制LED的引脚,6表示Microduino的D6引脚,可通过Hub转接出来,用户可以更改。 | *“#define PIN 6”定义了控制LED的引脚,6表示Microduino的D6引脚,可通过Hub转接出来,用户可以更改。 | ||
− | * | + | *“#define PIN_NUM 2”定义了允许接的led灯的个数。 |
*“colorWipe(uint32_t c, uint8_t wait)”函数说明: | *“colorWipe(uint32_t c, uint8_t wait)”函数说明: | ||
**“uint32_t c”定义灯的颜色,格式“strip.Color(R, G, B)” | **“uint32_t c”定义灯的颜色,格式“strip.Color(R, G, B)” | ||
第68行: | 第96行: | ||
***G:绿色值(0-255)。 | ***G:绿色值(0-255)。 | ||
***B:蓝色值(0-255)。 | ***B:蓝色值(0-255)。 | ||
− | **“uint8_t | + | **“uint8_t wait”定义单个灯延时时间。 |
− | **例子:colorWipe(strip.Color(255, 0, 0), | + | **例子:colorWipe(strip.Color(255, 0, 0), 500);每隔500ms切换到下一个灯显示红色。 |
**用户可以用颜色工具来更改颜色[http://www.atool.org/colorpicker.php color]。 | **用户可以用颜色工具来更改颜色[http://www.atool.org/colorpicker.php color]。 | ||
− | |||
==应用== | ==应用== |
2015年10月14日 (三) 09:32的版本
Language | English |
---|
概述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();
strip.show();
}
void loop() {
colorWipe(strip.Color(255, 0, 0), 500); // 每隔500ms切换到下一个灯显示红色
colorWipe(strip.Color(0, 255, 0), 500); // 每隔500ms切换到下一个灯显示绿色
colorWipe(strip.Color(0, 0, 255), 500); // 每隔500ms切换到下一个灯显示蓝色
}
// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
//循环依次让每隔灯亮指定的颜色,C表示颜色,wait表示每个灯的颜色持续的时间
for (uint16_t i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
程序调试
应用
|