I have arduino uno, neopixel led strip and 4 aa battery pack. When I connect Arduino to my laptop, the led works.
but It does not work when an external power source is connected to the battery pack.
led strip: WS2812B ( 4 LED ), conneted to Arduino VCC, GND, D5 port
external power: 4 AA battery pack, connected to Arduino
#include <Adafruit_NeoPixel.h>
#define PIN 5 // contol pin
#define NUMPIXELS 4 // LED COUNT
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 500; // delay for half a second
void setup() {
pixels.begin(); // This initializes the NeoPixel library.
}
void loop() {
for(int i=0;i<NUMPIXELS;i++){
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, pixels.Color(0,150,0)); // Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
}
OK, now tell me what "when an external power source is connected to the battery pack" means?
Four NeoPixels can be comfortably powered from the 5 V pin when you are supplying USB power as their maximum consumption is 240 mA. It is impractical to operate a much larger number of LEDs via the USB supply and of course you could never even dream of powering this via "Vin" or the essentially decorative "barrel jack" but a 4 AA battery pack will give 6 Volts so I am puzzled by your suggestion.
An "external power source" would need to comprise a regulated 5 V to the LED strip and back to the "5V" pin as you indicate.
If you told us what you had then we could tell you if it is compatible.
Simple things like what battery is it and how you wired it up.
Basically a WS2812 needs 5V and if your battery can't supply that directly ( no battery supplies 5V directly ) you have to regulate the battery to supply this voltage.
external power: 4 AA battery pack, connected to Arduino
How? My guess is that you haven't connected the battery ground to the Arduino ground.
Well, my sneaking suspicion here is that he thinks - because the Arduino "tutorials" regrettably suggest this - that it can in some perverse fashion, be powered through the "Vin" pin (or the "barrel jack").