Go Down

Topic: Uno controlling 12v addressable LED strips, I got it kinda working... (Read 2562 times) previous topic - next topic

taylorhayis

I am working on a project using 12v LED strips., and running into a problem... This is my first post here, and from all of my lurking and reading - this seems like an awesome community. Happy to be part of it!
Here is the LED strip Im using ( http://www.jaycar.com.au/productView.asp?ID=SL3954 )

After 5 minutes playing with the included controller, I cut it off and attached the 12v 5amp power supply directly to the strand of LED's, and popped my uno on the data line. I ran Adafruits Neopixels example, and lo and behold they started flashing! After hours of trouble shooting and playing around I have solved a few problems (common ground and whatnot) But I am stuck now.

I am trying to make a block of LED's chase down the strand, but when I run my program it doesnt work, the LED's just kinda randomly light up until the whole strand is lit. I can make it do what I want by rapidly disconnecting and reconnecting the 12v power from the strand, then it works like a charm and the block of light moves down like a treat. This strand has no clock, the 4 pins are

VCC (12)
GND
GND
DIN

Im pretty sure its not code related, but who knows. Here is my code, and some pictures. The code is a hardly modified slimmed down example from AF, I have tried changing to 400mhz - then nothing happens at all.

Code: [Select]



#include <Adafruit_NeoPixel.h>

#define PIN      6
#define N_LEDS 50

Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();
  strip.show();
 
}

void loop() {
chase(strip.Color(255, 0, 0)); // blue
  //chase(strip.Color(0, 255, 0)); // Green
  //chase(strip.Color(0, 0, 255)); // red?
 
}

static void chase(uint32_t c) {
  for(uint16_t i=0; i<strip.numPixels()+4; i++) {
      strip.setPixelColor(i  , c); // Draw new pixel
      strip.setPixelColor(i-4, 0); // Erase pixel a few steps back
      delay(50);
      strip.show();
      delay(20);
  }
}



Here are some pics of my very basic setup.





Any idea why it wont chase unless I pulse the power to the strip?

Thanks so much!

Grumpy_Mike

Yes those connectors into the arduino are very poor. Use a proper header pin for both signals and ground and solder them up. I fixed someone's set up exactly like this only two weeks ago.

taylorhayis


Yes those connectors into the arduino are very poor. Use a proper header pin for both signals and ground and solder them up. I fixed someone's set up exactly like this only two weeks ago.


Is it really that sensitive? I had a few issues when my ground wire was running against the data line, but I lenthened my leads and figured that fixed it. I guess not!
So you reckon I should solder my data line to a header pin, and plug it in? Instead if just plugging the data line wire into the arduino? Or solder direct to the board...
Thanks for the quick reply!

taylorhayis

I cleaned up the wiring, soldered it all to an empty shield! And no difference. If I pulse ground to the LED strip it works... but other than that its stuck. Anyone?  :~

Grumpy_Mike

Looking at that picture I can't see any ground connected to the arduino.
Can you take a picture of your new layout please.

rbrewer

I bought some Alarmpore 12v strings from Amazon, only to find out the LEDs are not individually addressable, but addressable in blocks of 3.  This means turning on LED #24 in a string 75 pixels long turns on the last 3 pixels in the string.  Conversely, turning on pixel #0 turns on the first three. 

R. Brewer

CrossRoads

Post a clear, close up picture of one of the sections so we can see what you're dealing with
Make sure the control chip is readable.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Grumpy_Mike

I bought some Alarmpore 12v strings from Amazon, only to find out the LEDs are not individually addressable, but addressable in blocks of 3.  This means turning on LED #24 in a string 75 pixels long turns on the last 3 pixels in the string.  Conversely, turning on pixel #0 turns on the first three. 

R. Brewer
Is their a question here? That is how they will behave. This was a three year old dead thread you resurrected, why?

Wawa

I bought some Alarmpore 12v strings from Amazon, only to find out the LEDs are not individually addressable, but addressable in blocks of 3.  This means turning on LED #24 in a string 75 pixels long turns on the last 3 pixels in the string.  Conversely, turning on pixel #0 turns on the first three.
You get what you pay for.
12volt addressable strips use one driver per three LEDs.
5volt addressable strips use one driver chip per LED.
Leo..

Go Up