Difference between revisions of "Colored LED"
From Microduino Wiki
m |
(formatting) |
||
Line 1: | Line 1: | ||
− | |||
{| style="width: 800px;" | {| style="width: 800px;" | ||
|- | |- | ||
Line 12: | Line 11: | ||
*With built-in power-on and off reset circuits; | *With built-in power-on and off reset circuits; | ||
*Ultra low power and ultra long life. | *Ultra low power and ultra long life. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | ==Instructions== |
− | |||
− | |||
===Equipment=== | ===Equipment=== | ||
{|class="wikitable" | {|class="wikitable" | ||
Line 162: | Line 142: | ||
**b:(0-255)。 | **b:(0-255)。 | ||
**“uint8_t wait”: Define breathing speed in ms. The smaller the value is, the faster the LED will "breathe". | **“uint8_t wait”: Define breathing speed in ms. The smaller the value is, the faster the LED will "breathe". | ||
+ | |||
+ | ==Specification== | ||
+ | * Electrical specifications | ||
+ | **Operation voltage: 3.3V~5V | ||
+ | **Output device | ||
+ | *Tech parameter | ||
+ | **Utilizes WS2812 integrated light source control; | ||
+ | **Each pixel's RGB is capable of a 256-level brightness display. | ||
+ | **When the refresh rate is 30 frame/s, the cascade number is at least 1,024 points. | ||
+ | **When the transmission distance of any two points is within three meters, there is no need to add any circuitry. | ||
+ | *Size | ||
+ | **Size of LED: 5mm*5mm, | ||
+ | **Size of the board: 20mm*20mm | ||
+ | **1.27mm-pitch 4Pin interface connects to Sensorhub. | ||
+ | *Connection method | ||
+ | **System and LED (<big>IN</big>): The LED control needs to connect the Sensorhub to the "<big>IN</big>" base board of the LED. | ||
+ | **LED Cascade (<big>OUT</big>): The first LED's <big>OUT</big> connects to the next LED's <big>IN</big>. | ||
+ | [[File: CoreUSB_Ble_steup11.jpg|600px|center]] | ||
+ | |||
+ | Additional Specs: | ||
+ | [[File:ws2812.pdf]] | ||
+ | |||
==Application== | ==Application== |
Revision as of 23:00, 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
InstructionsEquipment
Preparation
Experiment One: Get the Light BrightenThe 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);
}
}
Code Debugging
Specification
Additional Specs: File:Ws2812.pdf
Application
|