LabVIEW VI for Arduino and DAQ Integration

Job ID: 40384005

Budget: $10 – $30 USD

I want to develop a LabVIEW VI that integrates and synchronizes data from two sources: an Arduino-controlled actuator and a DAQ-based voltage measurement system. The Arduino is responsible for controlling the motion of a stepper motor and continuously outputs position data over serial communication. Specifically, it transmits time and position in a comma-separated format as “time_ms, position_mm” at approximately 50 millisecond intervals. This output has already been verified to function correctly using the Arduino Serial Plotter which I wrote the code for.

Also, a DAQ system within LabVIEW is used to measure the analog voltage output from a load cell. This voltage represents the sensor signal and does not need to be converted to force at this stage. The DAQ portion of the system is already operational and capable of independently acquiring and displaying voltage readings.

The goal is to combine these two data streams within a single LabVIEW VI. The VI should continuously read incoming serial data from the Arduino using VISA communication, ensuring that complete lines are captured using a newline termination character. The serial string must then be parsed to extract the numerical values for time and position. At the same time, the VI should acquire the current voltage reading from the DAQ system within the same loop iteration. These values must then be synchronized logically, such that each loop iteration produces a single set of data consisting of time, position, and voltage.

Once extracted, the time, position, and voltage values should be combined into a single structured data row and written/saved in a Write to Measurement file.

The issue is the Gcode in NI Labview for relative motion and sending commands in place of from arduino serial communication.