comunicar matlab con arduino

hola foreros, estoy tratando por ahora de enviar un dato desde matlab hacia arduino.... lo que estoy tratando de hacer es enviar
el caracter s y luego leerlo con arduino y que encienda un led indicando que ha recibido el dato, el
problema es que no consigo esto, y no se donde puedo tener el problema, les dejo los codigos
en matlab
clc;
clear all;
clc; disp('BEGIN')
SerAr = serial('COM3')
set(SerAr,'BaudRate',9600);
set(SerAr,'DataBits',8);
set(SerAr,'Parity','none');
set(SerAr,'StopBits',1);
set(SerAr,'FlowControl','none');
fopen(SerAr)

fprintf(SerAr,'%s','s') %Envia caracter S
pause(0.2);
fclose(SerAr);
delete(SerAr)
clear SerAr
disp('STOP')

El siguiente codigo en rojo es lo que me arroja en el command window
BEGIN

Serial Port Object : Serial-COM3

Communication Settings
Port: COM3
BaudRate: 9600
Terminator: 'LF'

Communication State
Status: closed
RecordStatus: off

Read/Write State
TransferStatus: idle
BytesAvailable: 0
ValuesReceived: 0
ValuesSent: 0

Finalmente el codigo para Arduino
int ledPin=13;
int DATO = 0;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT); //configura el pin del LED como salida

}

void loop() {
if (Serial.available() > 0) {
DATO = Serial.read(); // lee el byte de entrada:
// muestra lo que tiene:
Serial.print("He recibido: ");
Serial.println(DATO, BYTE);

}
if (DATO == 's'){
digitalWrite(ledPin, HIGH); // enciende el LED
delay(500); // espera por un segundo
digitalWrite(ledPin, LOW); // apaga el LED
delay(500);

}
}

Hola , oye te comento algo fuera de lugar que veo en lo del codigo para el arduino dices que te vas a comunicar con el matlab, pero veo que desde el matlab solo envias el valor s y luego desde el arduno enviar ese valor via serial lo que no entiendo es con que puerto del arduino estas usando un arduino mega o que?.

Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona

Hola,

Igual este ejemplo te puede ayudar:
http://robotgrrl.com/blog/2010/01/15/arduino-to-matlab-read-in-sensor-data/

Por cierto, estas seguro que tu Arduino esta en el COM3? Es el puerto que tienes seleccionado cuando programas tu Arduino? (ya se que parece obvio, pero a veces..... :wink: )

:smiley: