Help with Andymark LED strip

Hi my team bought the 8.2 ft. RGB LED light strip complete kit with Arduino controller (am-2645) from Andy-mark and we can’t get it to work properly.We are using the FastLed library to program these lights but it doesn’t work properly. If we tell the strip to show the first Led as red, it will light up the first 10 Leds white and the last one being blue. if we use the cylon example code modified to fit this specific strip, it will do the cylon motion for a few moments and then it will turn on a random assortment of lights afterwards. I had a couple of mentors look at it and they cant find whats wrong. We have it set up to exactly to how the instructions say and they are hooked up to a test robot we have been using. Any help would be appreciated. Attached is the pdf i have been using for reference.

Arduino_and_LED_strip_Rev1pt1pt1.pdf (548 KB)


Arduino_and_LED_strip_Rev1pt1pt1.pdf (548 KB)

I almost purchased one of these, wish I had.

Are you using the example code? Can you post a picture of the arduino board when it is hooked up?

You can always shoot support (at) andymark.com an email if you need help.

I will as soon as i can but our meeting ended for today and i wont be able to get to the setup until wendsday :frowning:

Can you give us the chip set or model number of the led strip along with the code.

It looks like that strand uses the WS2801 LEDs. These work by sending a serial message down the strip. An LED will see three bytes, use them to set color levels, and then pass the rest down the strip. All white would mean that the LED is receiving all 1s on this binary stream. What appears to be happening is that the first 10 are getting all 1s, and the last one is getting all ones for the blue value, or 31bytes of 1s are being sent on the line.

Here’s a few things you can try:
0. Double check ALL of your digital signal connections. Clock seems to be ok, but your data line might not be.

  1. Verify the Arduino clock speed when you select your device if you aren’t using the Arduino Ethernet (which defaults to 16MHz)
  2. Try a different Arduino if you have one (and set it to 16MHz as well)
  3. Try a different library (https://github.com/adafruit/Adafruit-WS2801-Library)

Hope this helps.

Sorry for the very late response but here is the code i am using:

#include “FastLED.h”
#define NUM_LEDS 5
#define DATA_PIN 6
#define CLOCK_PIN 13

CRGB leds[NUM_LEDS];

void setup() {
FastLED.addLeds<WS2801, DATA_PIN, CLOCK_PIN, RGB>(leds, NUM_LEDS);

}

void loop() {
// First slide the led in one direction
for(int i = 0; i < NUM_LEDS; i++) {
// Set the i’th led to red
leds* = CRGB::Red;
// Show the leds
FastLED.show();
// now that we’ve shown the leds, reset the i’th led to black
leds* = CRGB::Black;
// Wait a little bit before we loop around and do it again
delay(30);
}

// Now go in the other direction.  
for(int i = NUM_LEDS-1; i &gt;= 0; i--) {
	// Set the i'th led to red 
	leds* = CRGB::Red;
	// Show the leds
	FastLED.show();
	// now that we've shown the leds, reset the i'th led to black
	leds* = CRGB::Black;
	// Wait a little bit before we loop around and do it again
	delay(30);
}

}

We are using the andymark micro-controller and have arduino Ethernet selected on the program. The five files attached are photos of our setup disconnected from the robot. Just imagine the wago connector piece is connected to the robot. The black block has all of the negative connections on it having them go back through the wago to the robot, the equivalent of the terminal block in the original schematic. The blue clock wire is connected to the 13th pin and the green data wire is connected to 6. The led strip was shortened to 5 leds to see if length was a problem (it didn’t help :frowning: ). The dc-dc converter is has the red + wire connected to the wago and in turn the robot, both black - wires are connected to the block, and the yellow + wire is going to the strip whose black - wire is connected to the block as well. All wires are connected to pins, wago connectors, or wrapped in a wire nut and electrical tape. We have tested with another arduino and have recieved the same results. The full model number of the chip is WS280ISOXW140110. We have also sent an email to AndyMark for help but they have not responded.****

20141203_154702.jpg
20141203_154712.jpg
20141203_154729.jpg
20141203_154739.jpg
20141203_154755.jpg


20141203_154702.jpg
20141203_154712.jpg
20141203_154729.jpg
20141203_154739.jpg
20141203_154755.jpg

I can’t tell from your pictures, but it looks like you may be using two separate power supplies without a common ground. Try connecting the grounds together and see if that works. Without a common ground, the led strip may not be interpreting the signals correctly. Another option is to power your Arduino from the same source as the LED strip.

Mike

I think Mike has this one nailed. Try connecting the gnd pin on the Arduino to your grounding slot on the terminal block. They both need to have the same 0V reference point to get valid data.

I assume you’ll want to power it from the 5V regulator anyway, so it might be a good exercise to run the 5V to the Arduino as well. Disconnect it from your FTDI cable when you do this though.

[ninja edit] Don’t power the Arduino via the 5V pin. Tying the grounds together shouldn’t be an issue, but when you do install this and need external power, use the actual VIN and a 12V line from the Wago. Check the power section here for more info: http://arduino.cc/en/Main/arduinoBoardEthernet

Thank you so much for your advice it finally worked like it was supposed to. I followed what you guys said about the common ground and it fixed my problem. I can get back to coding the lights and do cool things now thanks again :slight_smile: !