-A year or so ago... my original intention was to buy a simple SMD RGB led, with a common gnd and 3 positive pins for each led inside, very simple to command. I thought WS2812B on aliexpres was the correct thing, having 4 pins by the look of it and by the name "5050 SMD WS2812 Individually Addressable Digital RGB LED". After I receive them, I store the leds and didnt touch them until yesterday. But nothing worked in the beginning. I started to understand it's pin configuration from it's datasheet : https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf . It still didn't work even if I power it correctly, adding a 1k and then 10k on the + side, since it was very bright after I slide or quick touch the positive pin (with the resistor on it) with pin 4 (DIN) of this chip. So pretty much I made it work !!! Hurray. But the color changes Randomly, as I contact the DIN wire. If I put the DIN wire to the gnd, nothing happens. It only accepts bursts of positive signals from what I can figure out with my analog tests.
-I only buy this type as 100pcs pack : https://www.aliexpress.com/item/32881704200.html?spm=a2g0s.9042311.0.0.27424c4d9H8lrz .
-But, they can come also already mounted on a role strip (that I dont have) with connectors already printed on it and they can be commanded from only 1 pin (the DIN pin), all 500 leds in series from the strip they come assembled.
-All the tutorials out there are using arduino to command it. I have an arduino uno and I try it. I downloaded 2 libraries and try them out. It didnt work for me. It even changed the COM port from my initial setting COM8 into COM1, and I had some FUN time figure that out. Now is back in bizniz on COM8 as it is working fine for me, but I can not use those libraries.
-My original intention is to command these leds from an analog input. I only want (for the moment) to power them up and command their color and intensity, with analogue means. Simple and to the basics. Just to lit 1 led to an interesting color and leave it as that. I am able to command their intensity with my 10k resistor on the positive rail, so far, which is good. But the color is more hard... by looking on the datasheet, it seems they require signals between 400ns to 800ns. Which the arduino can not deliver such small signals, Ive looked for it, and the lowest delay it has, is the delayMicroseconds(x) function. Ive also google for "arduino delay nanoseconds" and I got the answers, that it is not possible. I wonder now, how those libraries are possible commanding these leds from arduino...very strange.
I've also made a couple of small testing programs in arduino without any "helpful" libraries, but none worked because it needs these nano seconds commands signals.
-I only used a single (one 1) rgb led so far in all my tests.
-The only practical solution I can see and do, is :
1- program my dinky PIC 12F508 a burst of signal between 400ns to 800ns, like they say in the datasheet and also provide this wave form , I guess :
At this part, I have trouble understand it, for me it appears very sketchy instructions. But is all that I got, so... I will walk on it as far as I can.
2- use a 555 timer or even a flipflop, to generate that very fast waveform.
-Again, right now, I can change the color, by touching the DIN wire to the + rail (through the 10k) , but the colors are random and sometime they change ,sometime they not. I guess, my touching the wires, I generate some interferences that are recorded as signal by its internal chip of the led. Like a bouncing button interference is what I am generating.
It is good so far because I managed to power the thing, lit it, and even controlling it. So... half of the road is done.
-What I am asking from you, if you have experience with this particular type of RGB led WS2812B, to directly guide my ass to the final working result. Ideally!! If you didnt worked with these specific components, then I am more than happy to read any suggestion you may have, since, I am quite out of good ideas, and my ideas are a bit too sophisticated to quickly try and im not sure if they are even on the correct path. If nothing else, they remain to be tried as a last resort. Until then, I am welcoming your help !
-Thank you !
-I only buy this type as 100pcs pack : https://www.aliexpress.com/item/32881704200.html?spm=a2g0s.9042311.0.0.27424c4d9H8lrz .
-But, they can come also already mounted on a role strip (that I dont have) with connectors already printed on it and they can be commanded from only 1 pin (the DIN pin), all 500 leds in series from the strip they come assembled.
-All the tutorials out there are using arduino to command it. I have an arduino uno and I try it. I downloaded 2 libraries and try them out. It didnt work for me. It even changed the COM port from my initial setting COM8 into COM1, and I had some FUN time figure that out. Now is back in bizniz on COM8 as it is working fine for me, but I can not use those libraries.
-My original intention is to command these leds from an analog input. I only want (for the moment) to power them up and command their color and intensity, with analogue means. Simple and to the basics. Just to lit 1 led to an interesting color and leave it as that. I am able to command their intensity with my 10k resistor on the positive rail, so far, which is good. But the color is more hard... by looking on the datasheet, it seems they require signals between 400ns to 800ns. Which the arduino can not deliver such small signals, Ive looked for it, and the lowest delay it has, is the delayMicroseconds(x) function. Ive also google for "arduino delay nanoseconds" and I got the answers, that it is not possible. I wonder now, how those libraries are possible commanding these leds from arduino...very strange.
I've also made a couple of small testing programs in arduino without any "helpful" libraries, but none worked because it needs these nano seconds commands signals.
-I only used a single (one 1) rgb led so far in all my tests.
-The only practical solution I can see and do, is :
1- program my dinky PIC 12F508 a burst of signal between 400ns to 800ns, like they say in the datasheet and also provide this wave form , I guess :
At this part, I have trouble understand it, for me it appears very sketchy instructions. But is all that I got, so... I will walk on it as far as I can.
2- use a 555 timer or even a flipflop, to generate that very fast waveform.
-Again, right now, I can change the color, by touching the DIN wire to the + rail (through the 10k) , but the colors are random and sometime they change ,sometime they not. I guess, my touching the wires, I generate some interferences that are recorded as signal by its internal chip of the led. Like a bouncing button interference is what I am generating.
It is good so far because I managed to power the thing, lit it, and even controlling it. So... half of the road is done.
-What I am asking from you, if you have experience with this particular type of RGB led WS2812B, to directly guide my ass to the final working result. Ideally!! If you didnt worked with these specific components, then I am more than happy to read any suggestion you may have, since, I am quite out of good ideas, and my ideas are a bit too sophisticated to quickly try and im not sure if they are even on the correct path. If nothing else, they remain to be tried as a last resort. Until then, I am welcoming your help !
-Thank you !
Last edited: