MATLAB: How can i send the number plate data(e.g. GJ1XX1111) from MATALAB to arduino

string_transfer

I have tried one example on integar and it worked. Now, i want to send string data to Arduino but can't do it. Can anyone help?
my trial program:
clear all;
clc;
arduino= serial('COM7','BaudRate',9600);
sendData =input('Enter the data ether A or B:');
fopen(arduino);
fprintf(arduino,'%s',sendData);
fscanf(arduino)
fclose(arduino)

Best Answer

Hi try this
Arduino code:
#include <String.h>
String str;
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available() >0){
str=Serial.readString();
Serial.print("Received: ");
Serial.println(str);
}
}
Matlab code (change to your COM port; Also the pause may need to be increased if a timeout occurs):
arduino = serial('COM3', 'Baudrate', 9600);
fopen(arduino);
pause(2)
str=('hello world');
fprintf(arduino,'%s\n',str);
recv = fscanf(arduino)
fclose(arduino);
you should receive the output "Received: hello world" in Matlab
Related Question