Issues getting Neopixel to work
Moderators: adafruit_support_bill, adafruit

Issues getting Neopixel to work

by randym1 on Sat Jan 12, 2013 8:31 am

Hello Yall,

Question concerning the Neopixel, I bought this item thinging it would be as easy to manage as the Digital RGB LED Weatherproof Strip 32 LED . This strip has only 3 wires . i receieved this product 2 weeks ago , i have never been able to get it going .

Can someone help me in connection this to my ARDUINO UNO R3 ?

:( :|

BLACK GOES TO GND , DATA GOES TO # 11 , AND RED STAYS LOOSE ON THE ARDUINO SIDE. ON THE FAR END I CONNECT POS TO THE POS SIDE OF THE ADAPTER , AND SAME WITH NEGATIVE . WHAT AM I DOING WRONG OR MISSING ?

ANY ANSWER IS HIGHLY APRECIATED .
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by adafruit_support_bill on Sat Jan 12, 2013 9:47 am

Are you using the example code from the NeoPixel library? https://github.com/adafruit/Adafruit_NeoPixel
Have you changed to code to use pin 11 instead of pin 6?
Are you connecting the data pin to the Input end of the strip?
User avatar
adafruit_support_bill
 
Posts: 32625
Joined: Sat Feb 07, 2009 10:11 am

Re: Issues getting Neopixel to work

by randym1 on Sun Jan 13, 2013 12:15 am

Are you using the example code from the NeoPixel library? https://github.com/adafruit/Adafruit_NeoPixel
Have you changed to code to use pin 11 instead of pin 6?
Are you connecting the data pin to the Input end of the strip?


Thank you for answering,

I am using that code provided by paintyourdragon, from the NeoPixel Library,

I have changed to code from 6 to 11. i have tried pins3 5 6 9 10

Yes ,on the closer side of the arduino I connected the ground to gnd, and data to pin 11, on the other side going to the power source i connect pos to pos and neg to neg to power source.


I run the code in the arduino softward doing a strandtest try all thost pins all i get is ........ this line turns orange Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, 11, NEO_GRB + NEO_KHZ800);

then at the bottom says

Adafruit_NeoPixel does not name a type .

at that point this is as far as i have gotten


still no luck

Please help,

Your help is very appriciated
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by pburgess on Sun Jan 13, 2013 3:29 am

Ah! Sounds like the library is not correctly installed.

1. Download the ZIP from Github.
2. Uncompress the ZIP.
3. Rename the resulting folder to 'Adafruit_NeoPixel'. Directly inside this folder should be 'Adafruit_NeoPixel.cpp', 'Adafruit_NeoPixel.h', an 'examples' folder and a couple other files. Depending on your OS, sometimes unzipping creates an extra nested folder...don't want that, move it up out of there.
4. Move the Adafruit_NeoPixel library into the Arduino libraries folder. On Mac this is (home folder)->Documents->Arduino->Libraries. On Windows, I think this is (home folder)->My Documents->Arduino->Libraries, and on Linux it's (home folder)->Sketchbook->libraries
5. Restart the Arduino IDE. You should then be able to access the strandtest sketch by navigating through the menus File->Sketchbook->Libraries->Adafruit_NeoPixel->strandtest. If this is not present, the library still isn't correctly named or located.
User avatar
pburgess
 
Posts: 2760
Joined: Sun Oct 26, 2008 2:29 am

Re: Issues getting Neopixel to work

by randym1 on Sun Jan 13, 2013 7:36 am

thank you so much i spent hours trying to figure it out .

1 quiestion. this Neopixel can it be used for a ambilighting project ?
or as a steady color ?
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by pburgess on Sun Jan 13, 2013 9:18 pm

The WS2811 pixels won't work with Adalight, and a port is unlikely. They require very strict timing that can't be done while simultaneously receiving data over USB. The other pixel types allow some 'wiggle room' in this regard.
User avatar
pburgess
 
Posts: 2760
Joined: Sun Oct 26, 2008 2:29 am

Re: Issues getting Neopixel to work

by randym1 on Sun Jan 13, 2013 9:38 pm

Thank you so much for you help. Could not have done it without you. Which led would you recommend for the best ambilighting. I have a 60 inch led tv. And I'm planning on buying the best LEDs for the job. Which would u recommend ?
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by pburgess on Sun Jan 13, 2013 10:23 pm

The Adalight project was originally designed around our 12mm RGB LED pixels, and I think those are still the most flexible all-around. Some folks have used LPD8806 flex strips in their place...nice and slim, but the LED spacing is fixed in that case and can't be adapted to different situations.
User avatar
pburgess
 
Posts: 2760
Joined: Sun Oct 26, 2008 2:29 am

Re: Issues getting Neopixel to work

by randym1 on Wed Jan 16, 2013 2:24 am

ok final question

1. i would like to set the strip to 1 static color. what part of the codedo i modify ?

im impressed with this strip.

would using this strip with the teensy3.0 speed up the color rotation ?

i ask becuase im going to make a large purchase and i need advice.
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by pburgess on Wed Jan 16, 2013 4:05 pm

I've not yet had time to test the code on Teensy 3.0. Might work, might not, but the sure bet for now is to use the 2.0 board. You won't notice any difference in speed for this application, since the frame rate is going to be capped on the PC end.
User avatar
pburgess
 
Posts: 2760
Joined: Sun Oct 26, 2008 2:29 am

Re: Issues getting Neopixel to work

by osbock on Wed Jan 16, 2013 4:33 pm

To set one color, you could use the colorWipe function, or write your own:
Code: Select all | TOGGLE FULL SIZE
 for(uint16_t i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, c);
  }
  strip.show();


For speed, if you are talking about the example code, there is a delay parameter on most of the routines, change this to a lower number, and the wipes and rainbows will happen faster.
osbock
 
Posts: 138
Joined: Tue Jan 23, 2007 1:12 pm

Re: Issues getting Neopixel to work

by paulstoffregen on Thu Jan 31, 2013 9:08 am

A high performance WS2811 library is currently in development for Teensy 3.0. It's in beta testing now.... release is expected in about 1 week.

Among the many improvements, it allows driving 8 strips, totalling about 1000 to 2000 LEDs per Teensy 3.0, with minimal impact to CPU time, interrupt latency, and communication on USB, Serial, I2C, etc.
paulstoffregen
 
Posts: 350
Joined: Sun Oct 11, 2009 11:23 am
Location: Portland, Oregon, USA

Re: Issues getting Neopixel to work

by randym1 on Sun Feb 03, 2013 1:44 am

i have purchase 25 meters for the lpd8806 led strip for a large matrix wall i would like to build ,
i am havinf trouble setting the colos to 1 single color .
here is the code i am using .

Code: Select all | TOGGLE FULL SIZE
#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 = 34;

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

// 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() {

 
  // 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
}

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
}

/* 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));
}



what part of the code do i adjust to set strip to 1 color ?

any reply is highly appreciated.
Last edited by adafruit_support_bill on Wed Feb 06, 2013 7:03 am, edited 1 time in total.
Reason: Please use the 'Code' button for submitting code
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by randym1 on Wed Feb 06, 2013 1:04 am

?
randym1
 
Posts: 7
Joined: Thu Jan 03, 2013 1:25 pm

Re: Issues getting Neopixel to work

by adafruit_support_bill on Wed Feb 06, 2013 7:06 am

what part of the code do i adjust to set strip to 1 color ?

This is your loop:
Code: Select all | TOGGLE FULL SIZE
void loop() {

 
  // 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
}


You are setting the strip to red, then green, then blue, then doing the rainbow and rainbow cycle.

Delete or comment out the parts you don't want.
User avatar
adafruit_support_bill
 
Posts: 32625
Joined: Sat Feb 07, 2009 10:11 am