Go Down

Topic: comunicar matlab con arduino (Read 3258 times) previous topic - next topic

ajcm

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);      
 
 }
}

ASTROCAR

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

Igor R

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..... ;) )


:D

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy