Enviar varios datos por serial de MATLAB a arduino y asignarlo a 3 variables

Hola a todos, estoy intentando mandar varios datos por puerto serie desde matlab hasta arduino para luego guardarlos en varias variables que controlan diferentes servos. Es decir, envio [180,230,50] y lo quiero guardar en una variable distinta cada valor.

Este post está muuuuy relacionado con este otro, vamos, es lo mismo jeje Enviar 3 datos por serial a arduino desconcatenar y activar 3 pwm [Solucionado] - Software - Arduino Forum. De hecho, he intentado ponerme en contacto con la persona que lo planteó pero no he obtenido respuesta.

El envio de una sola variable desde Matlab para el control de un servo me funciona perfectamente. Y, siguiendo la información que aparece en el post de arriba, con Serial.parseInt(); sólo consigo que funcione si los datos se los introduzco directamente desde el monitor de la IDE de arduino.

El código de Matlab es el de ese hilo:

close all;clc;
com='COM4';
%Inicializo el puerto serial que utilizaré
delete(instrfind({'Port'},{com}));
puerto_serial=serial(com);
puerto_serial.BaudRate=9600;
warning('off','MATLAB:serial:fscanf:unsuccessfulRead');

%Abro el puerto serial
fopen(puerto_serial);
pause(0.2);
dato=[180 230 50]
%unicodestr = native2unicode(i); % Convierte el entreo i (0 a 255) a codigo ASCII
fwrite(puerto_serial,dato,'uint8');     % se envia un dato de tipo entero sin signo de 8 bits,
% pause(2);

fclose(puerto_serial);
delete(puerto_serial)
clear puerto_serial
disp('STOP')

El de arduino, muy simple, sólo para ver que funciona:

int red, green, blue;

void setup(){
 Serial.begin(9600);
}
void loop(){

 while (Serial.available() > 0) {
   // look for the next valid integer in the incoming serial stream:
   red = Serial.parseInt();
   // do it again:
   green = Serial.parseInt();
   // do it again:
   blue = Serial.parseInt();

 }
 delay(2000);
     Serial.print(red, HEX);
     Serial.print(green, HEX);
     Serial.println(blue, HEX);
}

El problema debe estar en cómo envía Matlab los datos, pero por más que busco y pruebo, no consigo llegar a ninguna solución... Espero que alguien pueda ayudarme jeje

Muchas gracias de antemano.

uhhhh que tal si lees las normas del foro? Y luego editas ese post tuyo para usar tags e insertar los códigos como debe ser.
Usa esto seleccionando todo el código </> el primer ícono. Seleccionas y luego el ícono y quedará bien insertado.

Mira este enlace, hay justamente otro forero con el mismo tema.
Trabajen juntos.

Mira este esta con Adquisición de datos con matlab en una microSD

y este con Ball and Plate con Matlab

habla con ellos a ver si pueden intercambiar experiencias.

Disculpa, es la primera vez que me meto en el foro a proponer un tema y lo he hecho sin leer las normas. :slightly_frowning_face:

Gracias por los enlaces. Parece que uno de ellos busca algo muy similar a lo que yo necesito. Seguiré el hilo a ver si consigue algún avance.

No hay problema. Nadie nació sabiendo.