Go Down

Topic: Arduino + Neopixel Jewels (whole pcb's not working?) (Read 711 times) previous topic - next topic

xl97

Hey gang-

So I ordered 5 of the Neopixel 'Jewels'..  they arrived..

I wired them all up in series....  (cap and resistor as well)...  when I uploaded the code, and powered things up..

only the first '2' Jewels  (each Jewel consists of 7 leds each, just so we are all on the same page here!) :)  lit up!

The remaining '3' jewels did nothing..

I un-soldered the Jewels/pcbs' that were working.. and tried them each individually on the Arduino Nano...

NOTHING...

but again.. the first '2' pcb's (Jewels) are working fine still......   I'm guess bad luck and I got some duds?  (which is a bit odd)..

So my question(s) to you all are:

1.)  Is there any know mfg. glitch/change that is known out there?  Such as: "oh I read that in some clones these pads are reversed..etc"  (or whatever)

2.) I'm not clear on the exact pin-out/schematic on these Jewels...  I wanted to check if these were perhaps used before? and the first led was blown?  (but I'm not clear on the pinout of the 5050 package, and what order the next led is, to try and jumper the DATA IN to the next led?  see if its just the first led blown.. and perhaps I can replace it?)

3.) Anyone know of a FAST USA located seller/store where I can buy some new ones from? (cheap?)...   its for a Halloween costume that needs to get shipped out by (I think) the 17th of this month to make it in time!


Appreciate all suggestions! 

Thanks




DVDdoug

Quote
3.) Anyone know of a FAST USA located seller/store where I can buy some new ones from? (cheap?)...  
As far as I know Adafruit is 'The Place' for Neopixels.    I've only ordered from them once (and it wasn't Neopixels) but I trust them.    I haven't checked prices and I assume Adafruit isn't the cheapest, but maybe "cheap" is what got you into trouble already.  

xl97

* And the prices were not THAT different either.

I just know shipping also adds to the costs (even though it could be sent for few bucks tops!)  :)

Was hoping someone would share some secret I missed.. LOL

pads different, need to instantiate/code in a certain way for these.. (I have only used strips and a few 'rings')..  but to me..  once wired in series...  they are just a 'strips' anyways..

DrAzzy

Have you tried switching the order of the "jewels"? My guess is yhat either the third one is bad, or your code is wrong, or theres a loose wite

Also - if youre trying to power it from the arduino - you cant light up 35 neopixels at full brightness powered from arduino. You only get 500mA from yhe usb port, which is 10 ws2812 leds on full brightness. 8-9 in practice sinc3 the arduino draws some curent too. You need a separate power supply

Oh - and always order a spare, preferably several - especially if ordering from overseas
ATTinyCore for x4/x5/x61/x7/x8/x41/1634/828/x313 megaTinyCore for the megaavr ATtinies - Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts, mosfets, awesome prototyping board in my store http://tindie.com/stores/DrAzzy

xl97

Yes.. I took the 'bad ones' out of the series.. and tried them individually.

(the 3 in series, as well as each directly connected)

I am using a bench top power supply, @5v 1.5A to power the Arduino..

Neopixel are current using VIN, GND and A5 to power it, with cap on power lines and 330Ohm resistor on data line.


Very simple code to just turn them 1 color (red):


Code: [Select]

/neopixels
#include <Adafruit_NeoPixel.h>
#define NUMPIXELS 35 // number of LEDs on jewel (need to declare all 144 on the jewel to not get extra data/overflow following leds not in use)
#define PINforControl A5 // pin connected to the small NeoPixels ring-1
Adafruit_NeoPixel jewel = Adafruit_NeoPixel(NUMPIXELS, PINforControl, NEO_GRB + NEO_KHZ800); //Adafruit


//pre-defined colors
uint32_t red = jewel.Color(255, 0, 0);
uint32_t orange = jewel.Color(255, 25, 0);
uint32_t green = jewel.Color(0, 255, 0);
uint32_t blue = jewel.Color(0, 0, 255);
uint32_t nocolor = jewel.Color(0, 0, 0);



void setup() {
  //debug (monitor)
  Serial.begin(9600);

  Serial.println(F("turn all leds off")); //read current volume
  jewel.begin(); // Initialize pins for output
  jewel.show(); //reset all leds to off - doesnt work
  clearall();

  //example function call:
  setColor(red);
}

void loop() {
 


}

void clearall() {
  for (int i = 0; i < NUMPIXELS; i++) {
    jewel.setPixelColor(i, jewel.Color(0, 0, 0));
  }
  jewel.show();
  Serial.println(F("--should be all cleared--"));
}

void setColor(uint32_t targetColor) {
  for (int i = 0; i < NUMPIXELS; i++) {
    jewel.setPixelColor(i, targetColor);
    Serial.print(F("LED Count: "));
    Serial.println(i);
    /*
    if (i < NUMPIXELS) {
      jewel.setPixelColor(i, targetColor);
    } else {
      jewel.setPixelColor(i, 0, 0, 0);
    }
    */
  }
  jewel.show();
}



ch8s3

I know it's 2 years late but the solution is to change "NEO_GRB" to "NEO_GRBW"

Yes.. I took the 'bad ones' out of the series.. and tried them individually.

(the 3 in series, as well as each directly connected)

I am using a bench top power supply, @5v 1.5A to power the Arduino..

Neopixel are current using VIN, GND and A5 to power it, with cap on power lines and 330Ohm resistor on data line.


Very simple code to just turn them 1 color (red):


Code: [Select]

/neopixels
#include <Adafruit_NeoPixel.h>
#define NUMPIXELS 35 // number of LEDs on jewel (need to declare all 144 on the jewel to not get extra data/overflow following leds not in use)
#define PINforControl A5 // pin connected to the small NeoPixels ring-1
Adafruit_NeoPixel jewel = Adafruit_NeoPixel(NUMPIXELS, PINforControl, NEO_GRB + NEO_KHZ800); //Adafruit


//pre-defined colors
uint32_t red = jewel.Color(255, 0, 0);
uint32_t orange = jewel.Color(255, 25, 0);
uint32_t green = jewel.Color(0, 255, 0);
uint32_t blue = jewel.Color(0, 0, 255);
uint32_t nocolor = jewel.Color(0, 0, 0);



void setup() {
  //debug (monitor)
  Serial.begin(9600);

  Serial.println(F("turn all leds off")); //read current volume
  jewel.begin(); // Initialize pins for output
  jewel.show(); //reset all leds to off - doesnt work
  clearall();

  //example function call:
  setColor(red);
}

void loop() {
 


}

void clearall() {
  for (int i = 0; i < NUMPIXELS; i++) {
    jewel.setPixelColor(i, jewel.Color(0, 0, 0));
  }
  jewel.show();
  Serial.println(F("--should be all cleared--"));
}

void setColor(uint32_t targetColor) {
  for (int i = 0; i < NUMPIXELS; i++) {
    jewel.setPixelColor(i, targetColor);
    Serial.print(F("LED Count: "));
    Serial.println(i);
    /*
    if (i < NUMPIXELS) {
      jewel.setPixelColor(i, targetColor);
    } else {
      jewel.setPixelColor(i, 0, 0, 0);
    }
    */
  }
  jewel.show();
}




xl97

I know it's 2 years late but the solution is to change "NEO_GRB" to "NEO_GRBW"

.....why?
I dont recall the fix in the end.  But I dont recall them being RGBW leds (jewels)... especially back then.

Go Up