LabVIEW Interface for Arduino Documents

Showing results for 
Search instead for 
Did you mean: 

LabVIEW Interface for Arduino Setup Procedure

by Active Participant Sammy_K on ‎05-04-2011 08:28 AM

Setting up the LabVIEW Interface for Arduino is a six step process that you will only need to complete once.  Please follow the instructions below to start creating applications with the LabVIEW Interface for Arduino.

(For a brief overview of the LabVIEW Interface for Arduino see Michaels post here).

1. Install LabVIEW

  • If you purchased the LabVIEW and Arduino bundle from Sparkfun.com you can install LabVIEW  from the included DVD.
  • If you do not own a copy of LabVIEW you can download and install the 30 day evaluation version here.

2. Install the NI-VISA drivers.

3. Install JKI VI Package Manager (VIPM) Community Edition (Free).

4. Install the LabVIEW Interface for Arduino as described in KB 5L38JQYG

5. Connect your Arduino to your PC as described in KB 5INA7UYG

6. Load the LabVIEW Interface for Arduino Firmware onto your Arduino as described in KB 5LPAQIYG

     (We are working to fix the above document.  The firmware can be found in <LabVIEW>\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base .  Use the arduino IDE to deploy this firmware to your Arduino.)

You are now ready to use the LabVIEW Interface for Arduino.  Click here to see some examples to help get you started.

Comments
Member CDee
Member

Points 4 through 6 are missing the links. Can you please update

Knight of NI Knight of NI
Knight of NI

Link in point (6) gives authorization error.

Knight of NI Knight of NI
Knight of NI

What is the "LabVIEW and Arduino bundle"? Does not seem to exist.

Member Che_T.
Member

Step 6 entails the following:

  1. Open the Arduino IDE by browsing to the folder that you extracted in step 1 and double clicking arduino.exe
  2. The Arduino IDE will open.  Click File»Open and browse to LVIFA_Base.pde found in C:\Program Files\National Instruments\LabVIEW 2010\vi.lib\Arduino\Firmware\LVIFA_Base

  3. Choose the Arduino board type by clicking Tools»Board»Arduino Uno

  4. Choose the COM port by clicking Tools»Serial Port and choosing the COM port that corresponds to your Arduino Uno

  5. Click the Upload button to upload the firmware to the Arduino Uno.

  6. The Arduino IDE should report Done Uploading when the firmware has been succesfully uploaded to the Arduino

Active Participant Sammy_K
Active Participant

Altenbach,

Thats for catching this.  Seems to be a duplication error on our servers.  I'll get this fixed ASAP.

-Sam

Active Participant Sammy_K
Active Participant

Altenbach,

The 'LabVIEW and Arduino bundle' is a product that will be available on sparkfun.com containing an arduino and a student edition of LabVIEW.  It should be available on their site in a week or two.  We'll make sure to add a link when it is released.

-Sam

Member vishots.com
Member

The path for step 6 is actually:

C:\Program Files\National Instruments\LabVIEW 2010\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base

---

Michael - vishots.com

Active Participant Harold_Timmis
Active Participant

I am getting the same thing altenbach

Active Participant Harold_Timmis
Active Participant

this is nice so pretty much no need to program the arduino on the Arduino IDE? not bad

Member cadiz1
Member

Hi Everyone  , I have  gone  throught  all the procedure  down loaded  LVFIA_Base. Problems  arise   when i run the  example  programs  from the search arduino In LV .  Error  5005 unable to  find  Arduino .

I suspect  that  it is due to   using arduino Mega 1280 . Am I correct ? anyone .

In  the drop down options  it give uno  and mega 2560 whilst  double clicking on INIT icon.

Member teoserio
Member

Hi, I have the same problem but I use Arduino ATmega 328...

Member vishots.com
Member

I took a quick look at the Init code. I think the Init.vi is indifferent to which board you have. I think the board type input is used later on.

Are you sure you have NI-Visa installed? Do you see the Arduino comm port show up in NI Measurement and Automation Explorer (MAX)?

---

Michael - vishots.com

Member teoserio
Member

Sorry, I have Arduino 2009... Problem arise when I run the example programs: ERROR 5002, "Init.vi. Unable to establish connection with Arduino.  Please ensure that you have selected the correct COM port and that you have flashed the Arduino with the correct firmware."

In the NI Measurement and Automation Eplorer Device status is: "This device is working properly"

Member cadiz1
Member

Hi  I have  solved the  problem . 

1. You have to  add a control to the VISA resouce link to the   INIT block on the block diagram.

2 . Add  a control  to the Board type .

done.

Then  on the  Front panel   set the  two control  to   your settings.

Mine works a treat . Tell me   if this does the trick

Tariq maruf

Member jmbeuken
Member

Hi

I have a problem connecting with my Uno or my Mega 2650 under MacOS X 10.6 with Labview 2010 ( full install : NI-VISA, NI-DAQmx, ...)

no problem to upload the  LVIFA_Base.pde with the Arduino IDE

problem when I run "Arduino Analog Read Pin.vi" example : error 5005 : "Unable to find Arduino.  Please make sure the Arduino is connected to your system and that the Arduino drivers are installed."

rem : no problem under Windows 7

has anyone succeeded in making run under MacOS X and Labview 2010 ?

thanks

jmb

Member Ben_J1
Member

Jmbeuken,

  Here is a link to a KnowledgeBase covering that error. Can you find the Arduino COM port in MAX? A workaround that will probably resolve the issue is to manually choose a COM port in the INIT.VI so that it does not automatically search for an Arduino. This will also save you time.

-Ben

Active Participant Sammy_K
Active Participant

cadiz1,

When using the 1280, Duemilanove, or any other board that does not show up with the name Arduino in MAX (or windows device manager) you will need to specify the COM port to the Init.vi's VISA Resource input.  This is because the Init VI will scan through all of the VISA devices and look for one with Arduino in the name and attempt to connect to it.  The Uno and Mega 2560 show up with Arduino in their names.  The older boards do not.

-Sam

LIFA Developer

Member vishots.com
Member

I had issues running it on the Mac as well. It turns out that the problem is the Init.vi will never find the Arduino correctly on Mac because Instrument Name returned does not have the text "Arduino" in it. See image below:

2011-05-23_0946.png

The solution is to just wire the visa resource constant to the input of the Init.vi:

2011-05-23_0943.png

One possible solution that NI can implement is to wrap the checking code into a conditional disable structure so it does not run on the Mac OS. But instead returns a different error code if the Visa Resource terminal is left unwired on the Mac platform. It would be nice however, if it just worked for new users, but I don't see a way around this.

---

Michael - vishots.com

Member jmbeuken
Member

Hi,

thank you for having confirmed that it works on Mac
I noticed, by debugging, the problem of text "Ardiuno"
but, in fact, I had a problem with the installation of Labview 2010 and NI-VISA especially: no way to save the configuration of "NI-VISA Configuration" : file locked
So, I deinstalled manually everything ( there were still some configurations Labview 7! )

and I reinstalled everything and NI-VISA and now, it works

I finally see with the application "NI-VISA Configuration", the combination of a "ASRLx:: INSTR" (VISA ressource) and a real device (/dev/cu.usbmodemXYZ) used by Arduino...

thanks

jmb

Member GilJ
Member

Hello,

Is there a way to get updated versions of the LabVIEWInterface processor source code without downloading the entire installation package?  I've tried compiling the current version

on the Arduino 0022 software and had several compilation errors.  I've fixed some, but the errors in the servo setup stuff elude me. 

I'm starting a project to remotely monitor our community water system and am mainly concerned with analog and digital I/O, not servos.

Thanks,

Gil

Member Ben_J1
Member

Gil,

   You are having issues compiling the Arduino firmware? What board type do you have chosen? Do you have error codes? Screen shots? This firmware has been compiled with the Arduino 0022 software quite a few times before so I have a sneaking suspicion it is a configuration option or something like it.

-Ben

Active Participant Sammy_K
Active Participant

Gil,

Right now the only way to get the firmware is to download the entire package via VIPM.  We currently do not plan to release the firmware individually but this could change in the future.

I am very curious to see what compiler errors you are getting.  If you have time please post some screen shots or the build log from the Arduino IDE.  We will take a look at them and we should be able to get you up and running.

-Sam

LIFA Developer

Member GilJ
Member

Ben and Sam,

I'm using the Arduino Uno, and here is a screenshot of the compile error codes:

Arduino Compile errors.jpg

Regards,

Gil

Active Participant Sammy_K
Active Participant

Gil,

Are you using the unaltered firmware that ships with the toolkit?  If so you should not get this error.  Can zip and post the code you are trying to build when you get this error (make sure to include all 3 source files).

Thanks,

-Sam

LIFA Developer

Member nanoT
Member

Hi Sam,

I am absolutely delighted that  it is possible to interface LabVIEW with Arduino, both of which I have enjoyed using them extensively in various projects.

I have been following the steps in " 4. Install the LabVIEW Interface for Arduino as described in KB 5L38JQYG     "

carefully to ensure a a proper installation, but no matter what  I tried, I was not able to connect to the VIPM server, thus, unable to download the LIFA package.

I have configured the correct TCP/IP in both the VIPM and LV2010 "Pref>VI server". I was not able to access the list of package.

Can I have the package directly, please?

system:

Mac OSX 10.5.8

LV 2010 professional

VIPM

-Ron

Member vishots.com
Member

nanoT wrote:


                       

... no matter what  I tried, I was not able to connect to the VIPM server, thus, unable to download the LIFA package.


                   

There is a dedicated support forum for VIPM here. There is also a post here with specific suggestions. The most common problem is firewall issues on your network. Can you try from a different computer?

Active Participant Sammy_K
Active Participant

Michael,

Thanks for the quick post on this.  Ron, can you give that a shot and let us know how it goes?

Thansk,

-Sam

LIFA Developer

Member GilJ
Member

Hi Sam,

Your comment about including all three files was the key.  I was trying to compile only one of the files.  I had success when I opened the .h file directly from the Arduino software, and then all three files were loaded.  Previously I was opening only one file in Microsoft Notebook, then copy and pasting it in the Sketch.  The other day when I was starting this, the link to the instructions on how to load the firmware into Arduino was sending me to an error page.

Thanks for your help!

Gil

Active Participant Sammy_K
Active Participant

Gil,

Yea sorry for the confusion.  The link to the firmware setup procedure should be fixed now.  Let us know what you think of the toolkit and make sure to post any feedback or projects you work on.

Thanks,

-Sam

LIFA Developer

Member nanoT
Member

Hi Guys,

Thanks for the help. After messing around for the whole day, I have managed to get VIPM to work and installed the LIFA package. The Arduino firmwares( the 3 files) were uploaded properly.

There are 2 Arduino hardware I'm tested: duemilanove328 (ASRL3::INST) and DFduino MEGA1280(ASRL4::INST).

The  1280 works on some some of the examples ( eg. Arduino Servo.vi). But "Auto detect Arduino.VI" was not working at all. Everytime when I tried to run some Arduino VIs, I have to configured the VISA resources manually.

Keep getting the error:

1) "error 5005 : "Unable to find Arduino.  Please make sure the Arduino is connected to your system and that the Arduino drivers are installed." 

Suspect that it got to do with the  "init.vi" . I would love to get the auto detect to work.

2) Sometimes when working on the arduino VIs, despite running the program successfully,when I click " run" again, it starts to throw me errors saying Arduino is not connected, and I need to unplug and replug the USB and manually configure the VISA again.

On the 328, I was not able to get it to work, despite setting the right VISA resources which is (ASRL3::INST). I think the "board type" has no effects with it right?

system:

Mac OSX 10.5.8

LV 2010 professional

VIPM

Arduino hardware:

duemilanove 328, DFduino1280

Cheers,

Ron

Member Ben_J1
Member

Ron,

   As well put together as the toolkit is, sometimes it is hard to ensure we cover every possible question in the documentation. Luckily, for things like the autodetection feature, everything is open source down to the VISA calls so understanding why something does or does not work in the toolkit as expected is as easy as double clicking on the VI in question or opening the firmware. To explore the interesting situation of why why Auto detect, let's open up Init.vi. We can do this by double clicking on the VI to see the front panel of Init.vi and going to Window>> Show Block Diagram to see what's going on behind the scenes...

How Auto Detect works:

When we open up the block diagram the first VI we notice is the Auto Detect VI (convenient, right?):

SS-2011-06-12_16.33.23.png

When we open up this Auto Detect VI we see that the first thing we do is to see if the VISA Resource Control is empty. That is to say if there is a VISA resource chosen, do not autodetect, just wire through the chosen VISA resource. Next we use the VISA Find Resource to find all VISA items that are Serial Items with the command "ASRL?*::INSTR". To see what that list returns we can either right click on it's output and create an indicator or we can see what MAX shows:

SS-2011-06-12_16.42.36.png

In MAX we see a number of serial ports available:

COM1: Computer's Built-In Serial port

COM6: Arduino Mega 2560

COM7: Though listed as a USB Serial Port, this is how a Arduino Duemilanove (2009) shows up in MAX due to the FTDI chip on the Arduino Duemilanove that handles the USB to serial conversion.

COM15: Arduino UNO. This is the recommended and fully tested Arduino.

COM16&17: This is how a serial-over-bluetooth connection appears to MAX. It shows up as two serial connections. This would be how you could connect to a bluetooth Arduino or compatible bluetooth connection.

Why the Auto Detect does not work for all Arduinos:

The next part of the Auto Detect VI checks all serial instruments for the Interface Name. As you can see in the second picture, sometimes an Arduino does not appear with an Interface Name including the actual word "Arduino." As an example, you can see COM7 does not say "Arduino Duemilanove" and this is why it does not work with Auto Detect. As the developers, we wanted to add the functionality of Auto Detect but did not put together a way to detect every flavor of Arduino. We could, however, add the functionality for any Arduino's that readily identified themselves as such. With any other kind of Arduino, such as one connected through XBee, Bluetooth, any Arduino earlier than UNO, or any Arduino-compatible boards, the programmer has to manually choose which VISA resource in the input of the Init.vi in order for the connection to be successfully established.

nanoT, I also noticed you had a Arduino-compatible DFduino MEGA1280. Any board that follows the protocols of the Arduino, can be programmed with the Arduino IDE, and enumerates as a serial resource in MAX should theoretically be compatible with the Arduino toolkit but unfortunately we have not been able to test every different wonderful flavor of Arduinos out there. We do not have the resources to test them all but we would LOVE to hear any success stories using any Arduinos outside the recommended set. We love the variety, the ambition, and look forward to seeing your awesome projects.

Rock,

Ben

Member nanoT
Member

Hi Ben,
Appreciate your clear and useful pointers to help troubleshoot the problem.Although I am running the code mostly in Mac platform, your tips on setting the right COM port for those using WIN/XP running MAX will be  very useful as well. Will certainly try to get the AutoDetect to work and report on the result for the benefit of others trying out similar project.

Understand the constraint of not being able to test every "<insert-any-name>-duino" out there, will be glad to test out the hardware I have on hand with your various programs.

I have managed to get the " DFduino MEGA1280" to read a pot and spin some servos. With more experience, I believe that LIFA will work with the "vanilla-flavoured-Arduino328" as well.

Next on my list:
-Testing the setup with various devices running SPI.
-Implement wireless nodes by interfacing the LIFA with wireless module (
el-cheapo UHF modules from ebay)


cheers,
Ron

Member vaishakh.chavan@gmail.com
Member

Hi there, Sam. Been trying to connect my Freeduino to the LabVIEW example, Analog read. Tryu as I might The error 5002 keeps popping up.

I have uploaded the bootloader file from :C:\Program Files (x86)\National Instruments\LabVIEW 2009\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base

That was done successfully.

Loading an example from the arduino IDE : Analog Input into the arduino was successful.

Now when I run the Labview 2009 example :Analog Read Pin Example, it appears that I am getting nothing out of the ARduino. The Yellow Rx light even flashes for quite some time before finally I get the error "Error 5002. Error occured at Init.vi. Unable to esatbilish connection etc..

What is happenning? Is there something ( must be ) that I am doing wrong?

Many thanks,

Member JSMCMS
Member

Hello,

I am new to the group and unfortunately I too am having the same trouble as vaishakh: Successful software load but no transmit data returning while testing the Analog Read Oin example (no Tx LED activity).

I've attempted several different suggestions that are contained in this forum but no joy.  It seems like the port between the USB and Arduini UNO is one way.  That suggests to me that the VISA programming is messed up because no matter how I adjust the available parameters, I can't get a read.  Mind you, the Arduino IDE works fine.

Any help?  I haven't seen anything on this forum for a while so I hope someone is reading.

Thanks, Scott

Member MacDroid
Member

It lists linux in step 2. Anybody tried it with Ubuntu?

Member Eli Hafitz
Member

Does anyone have any issues loading the labview base pde to the arduino?  During the compile stage, it gives me error msg's for unknown commands, "syncLV" AND "checkforcommand". I loaded the labview .h into the library, opened the labviewbase code and tried to upload thats when the errors arise. Is there a step that I overlooked? Im using an Arduino UNO, that successfully compliles/uploads other codes.

Active Participant Sammy_K
Active Participant

EliHafitz,

Did you make any changes to the LIFA Firmware?  Even closing the header files can cause them to not be included correctly.  Try grabbing a fresh version of the firmware and see if you can compile that before changing anything else.  If that does not work let us know and we can help you look into it.  Start a discussion if that is the case.

Thanks,

-Sam K

LIFA Developer

Member hrh1818
Member

Hello EliHafitz

Which version of the Arduino software gave you problems?  Another person this past weekend had problems with Arduino 1.0.  Buit wnen he switched to Arduino-0023 he was able to successfully upload the base code to an Arduno board. 

Howard

Member deeznuts
Member

Does anyone know how to use labview to acquire and graph serial data while running my own code on the arduino?

Member klaus.heimann
Member

Hello

Does anybody know the protocol used for communication.
What the PC sends exactly. And what sends the Arduino?
What are the commands?
Is that somewhere described ?
Thank you

Member deeznuts
Member

Klaus, I think the protocol is USB to 232. I dont know details of the differences in those protocols. But the conversion is made on the Arduino board by an FTDI product (on pre-UNO boards) or a Mega8U2 (on UNO). So, I believe the comm channel between microcontroller and computer looks basically like:

Atmega328 UART <----RS/FT232----> FTDI or Mega8U2 <----USB----> computer

Member Marduk201
Member

Hello im having a problem geting my Arduino Uno and Mega 2560 to work on my main PC. i got it to work on my laptop with no problem but moving it to the PC i get a error 5005.

now. i been reading the forms to solve the problem but nothing so far.

I have upload the LVIFA_Base (last update was may 2011) no problem there.

I run the Init and get the error 5005

i have tryed to set the VISA I/O com to com5 and then get an error  (VISA Clear in LabVIEW Interface for Arduino.lvlib:Init.vi)

i have update the driver to the arduino and still nothing..

any help will be great thank you..

David.

PS im runing Windows 7 ultimate

Member gibsan
Member

My UNO shows up in Win7 Device Manager as Communications Port (COM4) - never identified as Arduino, except in developer details (arduino.cc). I've erased the driver and installed ArduinoUNO.inf, but it still is identified as CommunicationsPort. When I go to a simple example vi with an INIT.vi block, I can 'hardwire COM4, but this doesn't seem to hold or take. What next?

Member ajkluch
Member

I am also having the same problem as gibsan.  I am using a laptop with windows 7 x64.  I've tried the drivers from different revs of arduino, ie 0023 and 1.0.  I have also tried http://www.ftdichip.com/Drivers/VCP.htmwith no luck.  I was able to load the .pde onto the arduino with no problem, but when I go to run the stepper.vi I get error 5005.  I am running LabView 2011 with an Arduino Uno v3.  I also tried to change the INIT.vi to (ASRL4::INST), again no luck.  Is there a way to rename the COM4 to something else, or is there some kind of work around.  Thanks for the help

Member ajkluch
Member

I have figured this out after messing around with it and doing more research on-line.  This site has a good tutorial on how to do this: http://riverembedded.hackhut.com/2011/12/28/my-arduino-uno-rev-3-and-windows-7-64-bit-installation-u....  I followed these instructions and I also found if I saved the arduino file to my desktop and unzipped it there, then went to the drivers folder and pulled out the driver that I needed and saved that to my desktop I could use the steps in the link and navigate right to that driver.

Member loniloniloni
Member

hi lm Loni can l use as a board Arduino Pro because l use to interface it but it didn't work Why?

Member loniloniloni
Member

how to interface Arduino Pro with labview

Member jainfantep
Member

hola, sabes como puedo realizar este paso

instale JKI VI Package Manager (VIPM) Community Edition (gratuito).

pues tengo un mac con lion 10.7 y para este no es compatible...de que otr manera puedo instalar el toolkit arduino? muchas gracas

Member jainfantep
Member

como pueod intalar el toolkit de arduino en un mac con os lion 10.7 si para la herramienta vip no es compatible que puedo hacer gracias

Member Jason_Vandehey
Member

I don't have a Firmware directory after installation of the package in the \LabVIEW Interface for Arduino directory.

Did package chagne?