LPD8806 LED(DMS D705B) with arduino UNO

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
exue
 
Posts: 4
Joined: Tue Jul 15, 2014 3:03 am

LPD8806 LED(DMS D705B) with arduino UNO

Post by exue »

hi all,
I am new to programming LED strip.
I have a 8 LED strip lights, that is based on the LPD8806 chip set. they are each 2.5 meters long with 80 single colour LEDs.
when I connect them to the Arduino UNO board and use the standtest. the LEDs are always lit up not as bright as when the program is running. but still on.
and I have know Idea what size of a resistor to use in the circuit.

I have done a Schem to show
electrical schemtic of the idea
electrical schemtic of the idea
Arduino schem.jpg (103.72 KiB) Viewed 948 times
I would be very helpful for any information

thanks for your time.

User avatar
Franklin97355
 
Posts: 23912
Joined: Mon Apr 21, 2008 2:33 pm

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by Franklin97355 »

Which product do you have? Could you give me the Adafruit product number? Thanks.

exue
 
Posts: 4
Joined: Tue Jul 15, 2014 3:03 am

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by exue »

hello franklin97355,
thanks for answering

this is not a adafruit product as such, it a China product based on the afafruit product. I think I cant find out much information on them.
I have tried all the Arduino library and only LPD8806.h library works with these lights.

the product part number is ell-fw50us32dmx-pg-5vdc.
the information on the chip is
DMS
D705B
1317.

these are a single colour LED I have 20meter of red and 20meters of green LED.
I have found out that I can control 20meters (640 LEDs) of the strip using the LPD8806.h standard test.
when I turn on the LED's strips all the LED's are lit up (a medium light) and when the code runs you can see the light working.


here is the code, that I'm using

Code: Select all

#include "LPD8806.h"
#include "SPI.h"

// Example to control LPD8806-based RGB LED Modules in a strip

/*****************************************************************************/

// Number of RGB LEDs in strand:
int nLEDs = 640;

// Chose 2 pins for output; can be any valid output pins:
int dataPin  = 11;
int clockPin = 13;

// First parameter is the number of LEDs in the strand.  The LED strips
// are 32 LEDs per meter but you can extend or cut the strip.  Next two
// parameters are SPI data and clock pins:
LPD8806 strip = LPD8806(nLEDs, dataPin, clockPin);

// You can optionally use hardware SPI for faster writes, just leave out
// the data and clock pin parameters.  But this does limit use to very
// specific pins on the Arduino.  For "classic" Arduinos (Uno, Duemilanove,
// etc.), data = pin 11, clock = pin 13.  For Arduino Mega, data = pin 51,
// clock = pin 52.  For 32u4 Breakout Board+ and Teensy, data = pin B2,
// clock = pin B1.  For Leonardo, this can ONLY be done on the ICSP pins.
//LPD8806 strip = LPD8806(nLEDs);

void setup() {
  // Start up the LED strip
  strip.begin();

  // Update the strip, to start they are all 'off'
  strip.show();
}


void loop() {

  // Send a simple pixel chase in...
  colorChase(strip.Color(127, 127, 127), 50); // White
  colorChase(strip.Color(127,   0,   0), 50); // Red
  colorChase(strip.Color(127, 127,   0), 50); // Yellow
  colorChase(strip.Color(  0, 127,   0), 50); // Green
  colorChase(strip.Color(  0, 127, 127), 50); // Cyan
  colorChase(strip.Color(  0,   0, 127), 50); // Blue
  colorChase(strip.Color(127,   0, 127), 50); // Violet

  // Send a theater pixel chase in...
  theaterChase(strip.Color(127, 127, 127), 50); // White
  theaterChase(strip.Color(127,   0,   0), 50); // Red
  theaterChase(strip.Color(127, 127,   0), 50); // Yellow
  theaterChase(strip.Color(  0, 127,   0), 50); // Green
  theaterChase(strip.Color(  0, 127, 127), 50); // Cyan
  theaterChase(strip.Color(  0,   0, 127), 50); // Blue
  theaterChase(strip.Color(127,   0, 127), 50); // Violet

  // Fill the entire strip with...
  colorWipe(strip.Color(127,   0,   0), 50);  // Red
  colorWipe(strip.Color(  0, 127,   0), 50);  // Green
  colorWipe(strip.Color(  0,   0, 127), 50);  // Blue

  rainbow(10);
  rainbowCycle(0);  // make it go through the cycle fairly fast
  theaterChaseRainbow(50);
}

void rainbow(uint8_t wait) {
  int i, j;
   
  for (j=0; j < 384; j++) {     // 3 cycles of all 384 colors in the wheel
    for (i=0; i < strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel( (i + j) % 384));
    }  
    strip.show();   // write all the pixels out
    delay(wait);
  }
}

// Slightly different, this one makes the rainbow wheel equally distributed 
// along the chain
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;
  
  for (j=0; j < 384 * 5; j++) {     // 5 cycles of all 384 colors in the wheel
    for (i=0; i < strip.numPixels(); i++) {
      // tricky math! we use each pixel as a fraction of the full 384-color wheel
      // (thats the i / strip.numPixels() part)
      // Then add in j which makes the colors go around per pixel
      // the % 384 is to make the wheel cycle around
      strip.setPixelColor(i, Wheel( ((i * 384 / strip.numPixels()) + j) % 384) );
    }  
    strip.show();   // write all the pixels out
    delay(wait);
  }
}

// Fill the dots progressively along the strip.
void colorWipe(uint32_t c, uint8_t wait) {
  int i;

  for (i=0; i < strip.numPixels(); i++) {
      strip.setPixelColor(i, c);
      strip.show();
      delay(wait);
  }
}

// Chase one dot down the full strip.
void colorChase(uint32_t c, uint8_t wait) {
  int i;

  // Start by turning all pixels off:
  for(i=0; i<strip.numPixels(); i++) strip.setPixelColor(i, 0);

  // Then display one pixel at a time:
  for(i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c); // Set new pixel 'on'
    strip.show();              // Refresh LED states
    strip.setPixelColor(i, 0); // Erase pixel, but don't refresh!
    delay(wait);
  }

  strip.show(); // Refresh to turn off last pixel
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
  for (int j=0; j<10; j++) {  //do 10 cycles of chasing
    for (int q=0; q < 3; q++) {
      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, c);    //turn every third pixel on
      }
      strip.show();
     
      delay(wait);
     
      for (int i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
  for (int j=0; j < 384; j++) {     // cycle all 384 colors in the wheel
    for (int q=0; q < 3; q++) {
        for (int i=0; i < strip.numPixels(); i=i+3) {
          strip.setPixelColor(i+q, Wheel( (i+j) % 384));    //turn every third pixel on
        }
        strip.show();
       
        delay(wait);
       
        for (int i=0; i < strip.numPixels(); i=i+3) {
          strip.setPixelColor(i+q, 0);        //turn every third pixel off
        }
    }
  }
}
/* Helper functions */

//Input a value 0 to 384 to get a color value.
//The colours are a transition r - g -b - back to r

uint32_t Wheel(uint16_t WheelPos)
{
  byte r, g, b;
  switch(WheelPos / 128)
  {
    case 0:
      r = 127 - WheelPos % 128;   //Red down
      g = WheelPos % 128;      // Green up
      b = 0;                  //blue off
      break; 
    case 1:
      g = 127 - WheelPos % 128;  //green down
      b = WheelPos % 128;      //blue up
      r = 0;                  //red off
      break; 
    case 2:
      b = 127 - WheelPos % 128;  //blue down 
      r = WheelPos % 128;      //red up
      g = 0;                  //green off
      break; 
  }
  return(strip.Color(r,g,b));
}

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by adafruit_support_mike »

You'll need to find a datasheet for the controller chips. There's just no other way to know what kind of circuit they want.

exue
 
Posts: 4
Joined: Tue Jul 15, 2014 3:03 am

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by exue »

adafruit_support_mike wrote:You'll need to find a datasheet for the controller chips. There's just no other way to know what kind of circuit they want.
I not quite understand what you mean by
what kind of circuit they want
?
could you explain a little more?

User avatar
Franklin97355
 
Posts: 23912
Joined: Mon Apr 21, 2008 2:33 pm

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by Franklin97355 »

I have tried all the Arduino library and only LPD8806.h library works with these lights.
If they don't work as you want them then you will have to find out why. Since they aren't Adafruit lights they probably won't work with Adafruit libraries correctly. You should direct these questions to your Chinese seller.

User avatar
adafruit_support_mike
 
Posts: 67454
Joined: Thu Feb 11, 2010 2:51 pm

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by adafruit_support_mike »

exue wrote:could you explain a little more?
If you look at the datasheets for other LED drivers we carry:

http://www.adafruit.com/datasheets/tlc59711.pdf
http://www.adafruit.com/datasheets/PCA9685.pdf

They have "typical application" schematics that show you how to build a circuit using the chip. Sometimes the chip only does part of the job, and needs external components to work correctly.

The datasheet will also tell you what kinds of control signals the chip wants and what data format it uses. Both of those vary from one chip to the next, so there's no way to predict one chip's behavior from the behavior of another.

exue
 
Posts: 4
Joined: Tue Jul 15, 2014 3:03 am

Re: LPD8806 LED(DMS D705B) with arduino UNO

Post by exue »

thanks to adafruit_support_mike, franklin97355,

for all the help that both of you have given me..
I have been looking to see how makes these light.
so far I have found a datasheet on the chip. DMS D705B.
that been in chinese.
here is the link.http://aitendo3.sakura.ne.jp/aitendo_da ... 05B_gb.pdf
and I think that I have found out how makes these.
here the link for that
https://messe.nikkei.co.jp/files/LD1532 ... 440196.pdf
the image of the LED stipes in near the bottom the white LED strip.
it looks like some company called elumenled makes them.
so I have e-mailed them for the data sheet.

thanks again.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”