New to Arduino- have projects rquiring communication with host computer. Yes?

I am new to Arduino, but have previously done successful Picaxe projects.
I have a project for my work. The hardware side of the project is absolutely not a problem. I want to build an interface using Arduino to sit between this item of equipment and a lab computer. This lab computer controls and reads multiple pieces of electronic test equipment (via GPIB/IEE488 bus) for making many measurements. The lab computer runs a very large LABVIEW program to make these measurements.
I am thinking/hoping to use the USB port on Arduino to pass small amounts of control and monitoring data between the hardware item and the lab computer. Data will be some single bits for control and monitoring, and some 12 bit data for an ADC and a DAC. Speed is not critical. LABVIEW will prepare and send the data via USB to Arduino to control the hardware, and read data from the hardware back into LABVIEW, which will then process and use the data to set up and run the main measuring equipment. Thankfully, our LABVIEW programmer is very good, so that part is not my problem!
How feasible/possible/sensible is this? A steep learning curve for- definitely, but as a plan? Thank you.

Using a PC program to send and receive data to/from an Arduino and using the Arduino to collect data from sensors is common.

I have no idea whether Labview is capable of communicating directly with an Arduino program or whether you might need another program on the PC to communicate with the PC and convert the data into a format suitable for Labview.

Your question would seem to make more sense if it was being asked by the Labview programmer. Trying to convert the Labview programmer from picaxe to Arduino is probably beyond the scope of this forum :slight_smile:

I also think you should ask the moderator to move this thread to the section dealing with Interfacing w/ Software on the Computer.

...R

Hi gerrymcc,

I am familiar with PICAXE, and there is at least one other forum member here who is too. You won't find Arduino all that different to PICAXE in concept, just the language is different (i.e. C++ vs. BASIC) and speed.

You can send/receive data down the USB serial line between the PC and Arduino just like you can with Picaxe. Indeed, most Arduinos have the same USB/TTL serial converter chip on them that you find in the AXE027.

Unfortunately I have no experience of LABVIEW.

So if not for speed, why the move to Arduino?

Paul

Thank you both for replying. You both raise good points. Labview has code available to communicate with Arduino, so that was a strong driver for me, making it easy to interface directly and (hopefully) making the Labview end easy to use and to integrate into our bigger Labview world. My Picaxe work has always used "roll my own" boards and construction, and, I admit, was not aware that the Picaxe was capable of also using it this way. Back to the drawing board- maybe. Thank you

Hello gerrymcc,

Yes! LabView is entirely capable of communicating directly with an Arduino (that's the only way I do it). The method I use is FTDI's software dll (MPSSE) with high a speed FT2232H USB adapter.

For your project, you don't need any additional hardware (just a USB cable). Then you can communicate directly through Arduino's USB programming port - it will show up as a standard com port in LabView by using NI-VISA.

You can install this free toolkit: LabView Interface for Arduino Toolkit. There's practically no learning curve here because you can take control on an Arduino sketch while keeping within the LabView environment. Here are some of it's capabilities:

• Easy access to Arduino DIO, AI, PWM, I2C, and SPI from LabVIEW
• I/O engine sketch to load on Arduino
• Examples for basic tasks and sensors
• Wireless with Bluetooth or XBee
• Loop rates: USB tethered (200 Hz) and wireless (25 Hz)
• Open Arduino sketch and toolkit VIs help you customize functionality

They already have lots of example code here: NI LabVIEW Interface for Arduino Community

Good luck with your projects! - dlloyd