Anyone having issues with the lifabase sketch in Arduino IDE 1.0.5? I used it a few months ago then came back to install it on a different Arduino and now for some reason it won't compile. I tried uninstalling the Arduino for labview package from VI Package manager, then reinstalling and got the same errors.
Here is the errors:
C:\Users\Joshua\Documents\Arduino\libraries\LiquidCrystal/LiquidCrystal.h: In function 'void processCommand(unsigned char*)': C:\Users\Joshua\Documents\Arduino\libraries\LiquidCrystal/LiquidCrystal.h:136: error: 'void LiquidCrystal::init(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)' is private LabVIEWInterface:362: error: within this context
I had a need to use the Adafruit LDP8806-based LED strip for a project. And I wanted to use LabVIEW to do it. The Arduino provided an inexpensive way of controlling so long as I could figure out the control protocol for the LDP8806.
After some toiling, I figured it out using both a bitbang and SPI approach. Bitbang with the Arduino Uno is ridiculously slow; it lies on the LIFA digitalWrite.vi which limits speeds to about >90Hz, effectively, and things get flaky any faster. Although it is interesting to see the slow control of the LED strip, it's not practical to wait so long as a consequence of the communication method. SPI is much faster. New LED states are set "instantaneously".
The trick is in the attached "LED_list_to_hex_and_bool.vi". It creates the bytes needed to properly control the LED strip. Read the comments in the VI.
The main application is "write_data_spi.vi". Use the default MOSI and SCLK pins (13,11 on Arduino Uno) as the "DI" and "CI" pins, respectively, as labeled on the LED strips.
I followed the connection instructions found in the Arduino example sketch and made a few minor modifications to the example code (sketch with my edits can be found on the block diagram of the VI, make sure you have the Wire library installed in your IDE) so that the Arduino outputs the RGB and light values about every 200 ms instead of on request.
This VI (LV2012) reads CSV from the port, converts them to 8 bit numbers, renders the values in a color box and records the values in an array of clusters.
There is also an offset/tuning adjustment for each color, RED, GREEN, BLUE that are fun to play with.
The "CLEAR" value is supposed to be a light measurement but I haven't tried to convert it to Lumens yet. Right now it's expressed as an 8 bit number like the RGB values.
The original sketch has a calibration function and I've bypassed it, if you're trying to make very fine measurements you may want to begin with the original sketch and go from there. I'm just performing a rough validation of RED, GREEN, and BLUE
One more thing: Don't bother connecting the LED pin on the sensor board, it is so close to the sensor that everything gets washed out and only "white" is returned.
I think that LIFA is really an awsome tool by allowing a unique GUI interface to the Arduino. I wanted to share this project that I did for school. It's a wireless electrocardiogram that uses 3 leads. Inside the black box, is the ATMega328 processor (what is found on the Arduino) with all the signal conditioning and a Xbee unit. The device measures 3.8" x 2.4" x 1" and is carried in a simple case attached to a pocket. The ECG signal is transmitted to a computer for LabView to graph. But wait there's more! The ECG is also saved to a database to be viewed in real time over a webpage or Android App. All possible thanks to LIFA.
Attached is a word document with device and program screenshots.
Despite the obvious possibilities of using Arduino via LabView (or via Matlab or Python) to control instruments in scientific research settings, the Arduino platform had not been used very commonly. In an attempt to demonstrate the possibilities in driving LED intensity in neuroscience applications, we published the following paper:
Teikari, Petteri, Raymond P. Najjar, Hemi A.I. Malkki, Kenneth Knoblauch, Dominique Dumortier, Claude Gronfier, and Howard M. Cooper. “An Inexpensive Arduino-based LED Stimulator System for Vision Research.” Journal of Neuroscience Methods in press (2012). http://dx.doi.org/10.1016/j.jneumeth.2012.09.012
With the program code examples (LabView, Matlab and Python) available from Google Code: