Issue Sending String Via COM Port To Arduino - NI Community

Hi all,Hopefully someone an help me. As part of a larger program, where a linear encoder reads a displacement and a few motors and electromagnetic brakes are being controlled from a LabVIEW VI, I was trying to print out the recorded dislacement and trial number to an OLED display. I figured the easiest way would be to build a string with these values and send it to an Arduino over the COM port using the VISA Write command.

I feel I am almost there - I had the OLED display working as desired when I send the string from the Arduino serial port (see attached images), however when I send the exact same string over the VISA write command from LabVIEW, I see that my Arduino recieves it (Rx LED blinks), but the display just flashes white and no text is displayed. I have attached a VI that shows exactly what was trying to do in the larger VI. This smaller one is doing the exact same thing. For those interested, I have also attached my Arduino script, although I do warn that I am not far above novice level with it.

Would love some help with this, thank you

Couldn't attach the script (even as a text file?) so here it is for anyone interested:

#include <TFT.h>#include <SPI.h>

#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE#define SERIAL SerialUSB#else#define SERIAL Serial#endif

// pin definition for Arduino UNO#define cs 10#define dc 9#define rst 8

// create an instance of the libraryTFT TFTscreen = TFT(cs, dc, rst);

void setup() {

//initialize the libraryTFTscreen.begin();

// clear the screen with a black backgroundTFTscreen.background(0, 0, 0);//set the text sizeTFTscreen.setTextSize(2);TFTscreen.stroke(255, 0, 0);Serial.begin(115200);}

void loop() {

if (Serial.available()){

String trialNo;String strDisplacement;while (Serial.available() > 0) {

trialNo = Serial.readStringUntil(','); // writes in the string all the inputs till a commaSerial.read(); strDisplacement = Serial.readStringUntil(','); // writes in the string all the inputs till a commaSerial.read(); }

TFTscreen.background(255,255,255);

String strDisplay = "Trial: " + trialNo + "\n" + "\n" + "Displacement:" + "\n" + "\n" + " " + strDisplacement;int len = strDisplay.length();char txt[len];strDisplay.toCharArray(txt,len);TFTscreen.text(txt, 22, 20);delay(2000);txt[0] = 0;}

delay(200);}

Tag » Arduino Serial.readstringuntil(' N')