My target is to control an digital led strip using commands from my pc/smartphone which are then going to get processed by an Arduino.
Till now I haven't owned an Arduino yet (only a RaspberryPi) and my question is, if this project could be done using an Arduino and/or if there are better alternatives for achieving my wanted results.
I have bought this LED-Strip, upon examination I noticed that the strip was using 12v to run and had no clock line, only vcc, gnd, gnd, di / do (data in / data out). I also noticed that the leds can only be controlled in groups of three, which isn't really a problem for me, but I thought it was maybe important enough to mention it.
The first problem I (with my limited knowledge on these things) see is that the strip is missing a clock line, which I think is quite essential for serial data.
The second problem I think are the 12v. If I understand things correctly I should connect the gnd of the strip to the arduino to get a common ground. But are the 12v then gonna be a problem? Or am I understanding this whole thing wrong?
I look forward to any help and guidance which is greatly appreciated.
First of all, I don't know the strip. And because it's a set you made it a bit harder for yourself... Now you have to figure out what kind of controller does it use. But if I see correctly there are chips on the strip? And can you read them? If so, there is probably already a library written for you, read to use (Maybe even a whole project...Arduino + Led strip is done so many times before...)
shock2provide:
The first problem I (with my limited knowledge on these things) see is that the strip is missing a clock line, which I think is quite essential for serial data.
Uhm, if the missing clock is a problem, how come the controller you received it with can control the strip? There are some types of led controllers that only use a data line. They are a bit more time critical then the ones with a clock but it can be done. And if you're lucky (any you probably are) there's already a Arduino library.
And the 12V doesn't need to be a problem. Because the leds are controlled per three it sounds to me like a 12V supply with 3 leds in series. Confirm this by measuring the voltage at the strip with a multimeter. But that does not mean the data line is 12V, this can be 5V. The datasheet will tell. And in fact, the 12V is fine, now you can use the power supply it came with and you don't need a beefy 5V supply.
I took a closer look at the strip and with a magnifiying glass and the right lighting I could read TM1829 on the chip and something even smaller under it that started with BC... or something similar to that.
Now I googled and it seems that the TM1829 chip is in fact only capable of controlling leds in groups of three which exactly matches up with my strip, so I think that's the right one.
It also seems like there is already some code out there to control them: Here
It seems like I have now everything that I need (right?). So am I right in assuming I can now just buy an Arduino (looking at the Uno R3 at the moment), hook the data and ground up directly to the arduino and use the code to control the strips?
shock2provide:
I took a closer look at the strip and with a magnifiying glass and the right lighting I could read TM1829 on the chip and something even smaller under it that started with BC... or something similar to that.
Yep, that's the chip. Pro tip for reading numbers like that, just make (under an angle, like you read it now) a photo with your smartphone. I find that way more readable then a magnifier and good for documentation.
shock2provide:
is in fact only capable of controlling leds in groups of three
Look again It's indeed capable of driver exactly three groups of LEDS. Namely Red Green and Blue per chip. And each led on you strip has in fact three leds, a Red, a Green and a Blue. It's just a handy choice to use three leds per group/color. The chip can drive LEDs up to 30V (9 leds). But with a 12V supply you are limited to 3 in series (because each led need around 3,3V, so for 3 that makes 3 x 3,3V = 9,9V. With a fourth you would exceed the 12V).
shock2provide:
It also seems like there is already some code out there to control them: Here
That's just for BobLight and based on the FastLed library. And I don't know if the FastLed library works, I don't see them mention the TM1829...
shock2provide:
It seems like I have now everything that I need (right?). So am I right in assuming I can now just buy an Arduino (looking at the Uno R3 at the moment), hook the data and ground up directly to the Arduino and use the code to control the strips?
Yeay, get yourself an Arduino, an Uno is a good start. Indeed you need to connect the GND and the data. But like I said, don't know if the library will work... If there is no library yet you have to make your own (or branch the FastLed or something) but it's possible to drive them with an Arduino.
septillion:
That's just for BobLight and based on the FastLed library. And I don't know if the FastLed library works, I don't see them mention the TM1829...
Oh ok... I just thought because I read in the Readme.md that there was a modified version of Adafruit_NeoPixel for use with the TM1829.
Anyway thanks for helping me, gonna order the arduino tonight and hope it arrives fast here and let's just hope that the library is gonna work.
Alternatively I have also found this page here where another patched NeoPixel version can be found.