Difference between revisions of "Colored LED"
From Microduino Wiki
Line 8: | Line 8: | ||
Microduino-Color LED is a colored LED light with an built-in IC control chip, which can be cascaded arbitrarily. With only one I/O port, you can control all the lights. Each light can be controlled separately. | Microduino-Color LED is a colored LED light with an built-in IC control chip, which can be cascaded arbitrarily. With only one I/O port, you can control all the lights. Each light can be controlled separately. | ||
==Features== | ==Features== | ||
− | *The chip adopts 5050 package | + | *The chip adopts a 5050 package that includes a control circuit and RGB chip inside. |
− | *With single bus control, you only need one I/O port to receive data and decode | + | *With single bus control, you only need one I/O port to receive data and decode. |
− | * | + | *Built-in IC control and serial cascading interface for cascade control. |
− | *Each pixel's trichromatic color can achieve 256- | + | *Each pixel's trichromatic color can achieve 256-levels of brightness, completing a full display of 16,777,216 colors and with a scanning frequency greater than 400Hz/s; |
− | * | + | *Built-in power-on and off reset circuits; |
*Ultra low power and ultra long life. | *Ultra low power and ultra long life. | ||
Revision as of 23:47, 15 August 2016
ContentsOutlineMicroduino-Color LED is a colored LED light with an built-in IC control chip, which can be cascaded arbitrarily. With only one I/O port, you can control all the lights. Each light can be controlled separately. Features
Materials
Instructions
Experiment One: Change LED ColorsThe LED will change color between red, green, and blue every 500ms.
#include <Adafruit_NeoPixel.h>
#define PIN 6 //led control pin
#define PIN_NUM 2 //Light number allowed
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); // The first light goes read and after 500ms, the second light will go red.
colorWipe(strip.Color(0, 255, 0), 500); // The first light goes read and after 500ms, the second light will go green.
colorWipe(strip.Color(0, 0, 255), 500); // The first light goes read and after 500ms, the second light will go blue.
}
// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
//Let each light turn to a specific color in loop. "C" indicates color; "wait" represents the time duration of each light .
for (uint16_t i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
Program Debugging
Experiment Two: Breathing Light
#include <Adafruit_NeoPixel.h>
#define PIN 6 //LED light control pin
#define PIN_NUM 2 //LED light number allowed
#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);//Red breathing
rainbowCycle( 0, 255, 0, 10);//Green breathing
rainbowCycle( 0, 0, 255, 10);//Blue breathing
}
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);
}
}
Program Debugging
Specifications
Additional Specs: File:Ws2812.pdf
Applications
|