First some information:
- I have tried both an Arduino Uno and a Teensy 3.0 and get the same behaviour.
- While the images and video I have taken show my own wiring, I got the same results when using the default wiring out of the package.
- I am using the Arduino 1.0.3 IDE.
- The base code that I am using is strandtest.
- I have tried different output pins on my chips
- I have tried a few different strands, as well as tried chopping off some of the LEDs to no avail.
- I am somewhat new to the world of wiring things up, not new when it comes to the programming side of things.
So now for videos of the problem:
- 22 LED strip where I'm trying to set pixel two (LED three) to red.
- The LED I am manipulating isn't always set to the proper colour for some reason.
- Pixel zero (LED one) for some reason is always "on" and is pretty much always white.
- The other LEDs in the strip randomly turn on and off at low power. From experimenting, I have determined that this is caused when the show() method is called. This was discovered when I simply had a loop with only strip.show() in it.
- This is the code that I was using:
- Code: Select all
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel strip = Adafruit_NeoPixel(22, 6, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
strip.setPixelColor(2, strip.Color(255, 0, 0));
strip.show();
delay(200);
}
- 22 LED strip where I am using colorWipe(strip.Color(255, 0, 0)
- Again notice how the first LED in the strip is pretty much always white.
- The strip sort of starts off ok with pixels being set to red, but then the pixels start being set to random colours right after.
- This is the code that I was using:
- Code: Select all
#include <Adafruit_NeoPixel.h>
Adafruit_NeoPixel strip = Adafruit_NeoPixel(22, 6, 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);
}
}
Now for details of my wiring job:
- I wired positive (red wire) to +5V and negative to the ground.
- The digital input is wired to pin 6 on the Arduino Uno. I have tried other pins to no luck.
- The chip is being powered by USB whereas the LED strip is being powered by a 5 volt, 10 amp power supply.
- Picture one:
- Picture two:
Here are the materials I am using:
- Arduino Uno
- Adafruit NeoPixel
- 5V 10A switching power supply
- USB Cable - Standard A-B
- Female DC Power adapter - 2.1mm jack to screw terminal block
- Some breadboard wires, though I got the same results using the pre-soldered wires that came out of the package
Please let me know if you need more information to help troubleshoot the problem.

