From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW controlled Arduino outputting self-clocking signal

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!

0 Kudos
Message 1 of 2
(2,190 Views)

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.

0 Kudos
Message 2 of 2
(2,168 Views)