Introduction
This is a kind of chip_inside LED strip, so you can control each LED individually! There are 60RGB LEDs per meter, it is so wonderful when you change the color of them. And for the control of the LEDs, it only need one digital pin of your Arduino of other MCU power supply from 3.3V-5V.
The chip in every LED called WS2812, you can find the datasheet in our website. And once we know how long your strip is, you can get the amount of the LEDs easily.
Technical Specifications
- 60 LEDs/meter *3m
- Power supply: 5V @ 1A/m (can work at 3.3V to 5V)
- For this strip you need 5V/3A at least as it is 3m long, if current was not enough, the color may not be correct
- IC name: WS2812
- Brightness Grade Amount: 256
- Weatherproof contains
Connection Guide
As the LED strip needs about over 3A current, so the power should be able to supply 5V@3A so we can make our Arduino work use this source. And the image upon shows how to uses a 5V power to feed our Arduino.
Sample Code
#include <Adafruit_NeoPixel.h>
#define PIN 6
#define LED_COUNT 180
// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_RGB Pixels are wired for RGB bitstream
// NEO_GRB Pixels are wired for GRB bitstream
// NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels)
// NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
// Some example procedures showing how to display to the pixels:
colorWipe(strip.Color(255, 0, 0), 50); // Red
colorWipe(strip.Color(0, 255, 0), 50); // Green
colorWipe(strip.Color(0, 0, 255), 50); // Blue
rainbow(20);
rainbowCycle(20);
}
// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
void rainbow(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
}
// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
if(WheelPos < 85) {
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
} else if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
} else {
WheelPos -= 170;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
}
This code is changed by sample code downloaded from www.adafruit.com, and the library is also downloaded from https://www.adafruit.com/, if any problems of copyright, let me know: Holiday.jin@dfrobot.com.
How to do when my strip doesn't work
First, I am so sorry that you have to check this module, but it is not hard to make your strip work again. As your strip needs a program controlling, so one of the reason can be the code, check that if you have downloaded the code successfully. You can use the led connected with digital pin13 for the test or use the sample code Blinking.
If you can download the code well, check the power supply, it need 3.3V to 5V but no more than 6V as recommend, and the power also must be able to supply enough current for 1A/m,that means what you have bought from DFRobot is 3m and your power need to supply 3A for the strip, never forget when connect the wire ensure the voltage. If too high voltage has supplied, may good luck be with you because I used to supply more than 6V for a short while bu nothing happen.
OK, no problem with the code or the power, now you need to check whether the led is broken. Unpin the signal pin with Arduino, but let the power supply connect as usual. You need to use a jumper cable like Arduino Jumper Cables (M/M) (65 Pack) to connect the Arduino pin to the second signal point in the strip which means use the jumper cable to connect the Arduino and the strip but not in the origin way for maybe the first led of your strip is broken. For this way, check the third or the fifteenth until the strip shine again.Then cut the broken led off and use the new point for signal point, this step you may need to solder the cable or use a clamp to connect the line.
Documents
- Arduino Library for LED Strip
- RGB LED Strip Datasheet
- Part of the library is quoted from Adafriut which is another open source hardware company, and if any copyright problems, email Holiday.Jin@DFRobot.com