02-16-2014 01:15 PM
Hello All,
I am trying to be able to control my LED light strip (http://www.adafruit.com/products/1376) using LabVIEW and Arduino. To do so I need to make Arduino output a digital self-clocking signal, specifically a combination of two square waves of fixed frequency with varying duty cyle. The two waves represent either a 0 or 1 to the LED strip.
0 = HIGH for 400 ns then LOW for 850 ns
1 = HIGH for 800 ns then LOW for 450 ns
In the end, using either of those waves as a bit, I would like the full signal to have 3600 bits. After one full signal the pin would remain LOW until I want to change the color again, and would send another 3600 bit signal.
(If you want more info on the data transmission protocol, there is more info here: http://learn.adafruit.com/adafruit-neopixel-uberguide/advanced-coding#writing-your-own-library)
Is there a way of controlling the output of the Arduino at such high speeds through LabVIEW. If you can think of any way of doing this, please let me know.
Thanks!
02-16-2014 02:47 PM
AFAIK, the arduino LabVIEW interface module only reads and writes pin values, and it can't do this with the timing precision you need. The only way around this is to write some arduino code, which can't be done in LabVIEW.