Go Down

Topic: LED RGB 64-control individually (Read 14 times) previous topic - next topic

Omnimusha

someone was registered in the https://shop.austriamicrosystems.com/eng/Products/Lighting-Management/LED-Driver-ICs/AS1130 page?. to my I get this message.
Quote
Phone: Invalide Phone/Fax number.



Grumpy_Mike

Quote
I still need resistors?

No, a constant current drive means you non't need them.

Omnimusha

#39
Oct 02, 2012, 05:45 am Last Edit: Oct 02, 2012, 09:35 pm by Omnimusha Reason: 1
hi, my order arrived from Ebay. esperimentar's time. -_-.

I tell them that I decided on the 18-Channel RGB WS2803D. and rgb smd led 5050.
I connected the arduino exactly.I connected a single LED.



I loaded this library.
[url=https://github.com/adafruit/Adafruit-WS2801-Library]https://github.com/adafruit/Adafruit-WS2801-Library

and this example.
Code: [Select]

int dataPin  = 11;    // Yellow wire on Adafruit Pixels
int clockPin = 13;    // Green wire on Adafruit Pixels

// Don't forget to connect the ground wire to Arduino ground,
// and the +5V wire to a +5V supply

// Set the first variable to the NUMBER of pixels. 25 = 25 pixels in a row
Adafruit_WS2801 strip = Adafruit_WS2801(6, dataPin, clockPin);

// Optional: leave off pin numbers to use hardware SPI
// (pinout is then specific to each board and can't be changed)
//Adafruit_WS2801 strip = Adafruit_WS2801(25);

// For 36mm LED pixels: these pixels internally represent color in a
// different format.  Either of the above constructors can accept an
// optional extra parameter: WS2801_RGB is 'conventional' RGB order
// WS2801_GRB is the GRB order required by the 36mm pixels.  Other
// than this parameter, your code does not need to do anything different;
// the library will handle the format change.  Examples:
//Adafruit_WS2801 strip = Adafruit_WS2801(25, dataPin, clockPin, WS2801_GRB);
//Adafruit_WS2801 strip = Adafruit_WS2801(25, WS2801_GRB);

void setup() {
   
 strip.begin();

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


void loop() {
 // Some example procedures showing how to display to the pixels
 
 colorWipe(Color(255, 0, 0), 50);
 colorWipe(Color(0, 255, 0), 50);
 colorWipe(Color(0, 0, 255), 50);
 rainbow(20);
 rainbowCycle(20);
}

void rainbow(uint8_t wait) {
 int i, j;
 
 for (j=0; j < 256; j++) {     // 3 cycles of all 256 colors in the wheel
   for (i=0; i < strip.numPixels(); i++) {
     strip.setPixelColor(i, Wheel( (i + j) % 255));
   }  
   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) {
 int i, j;
 
 for (j=0; j < 256 * 5; j++) {     // 5 cycles of all 25 colors in the wheel
   for (i=0; i < strip.numPixels(); i++) {
     // tricky math! we use each pixel as a fraction of the full 96-color wheel
     // (thats the i / strip.numPixels() part)
     // Then add in j which makes the colors go around per pixel
     // the % 96 is to make the wheel cycle around
     strip.setPixelColor(i, Wheel( ((i * 256 / strip.numPixels()) + j) % 256) );
   }  
   strip.show();   // write all the pixels out
   delay(wait);
 }
}

// fill the dots one after the other with said color
// good for testing purposes
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);
 }
}

/* Helper functions */

// Create a 24 bit color value from R,G,B
uint32_t Color(byte r, byte g, byte b)
{
 uint32_t c;
 c = r;
 c <<= 8;
 c |= g;
 c <<= 8;
 c |= b;
 return c;
}

//Input a value 0 to 255 to get a color value.
//The colours are a transition r - g -b - back to r
uint32_t Wheel(byte WheelPos)
{
 if (WheelPos < 85) {
  return Color(WheelPos * 3, 255 - WheelPos * 3, 0);
 } else if (WheelPos < 170) {
  WheelPos -= 85;
  return Color(255 - WheelPos * 3, 0, WheelPos * 3);
 } else {
  WheelPos -= 170;
  return Color(0, WheelPos * 3, 255 - WheelPos * 3);
 }
}



... but the LED does not light.
any idea what's going on?

Go Up