Matlab - Arduino Due - Mac OS X problem
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, i've been trying to implement a stable serial connection between matlab and arduino due. What i have to do is pretty simple, i have a string of 8 values (0 or 1), i want to send it to arduino and process it in a loop to turn on and off a digital output consequently. I have a couple of problems: 1 - sometimes Matlab gives me the error (only sometimes, no clue why) Open failed: Port: /dev/tty.usbmodemfa131 is not available (port name is an example, i always check for the name and modify it) while the port is connected as i can see from terminal or trough other serial communication tools (arduino IDE) (and yes i closed all the other tools before) 2 - arduino is not receiving the right values, in fact if i monitor the received string i have some 5 and 3 values, no clue why. Can somebody help me plese? The matlab code is:
clc
answer=1; % this is where we'll store the user's answer
arduino=serial('/dev/tty.usbmodemfa131','BaudRate',9600) % create serial communication object on port tty.usbmodemfa131
fopen(arduino); % initiate arduino communication
v1 = [0 1 0 1 0 1 0 1];
while answer < 8
fprintf(arduino,'%s',char(v1(answer))); % send answer variable content to arduino
answer = answer+1;
pause(0.5);
end
fclose(arduino); % end communication with arduino
and the arduino code is
int matlabData [8];
int i=0;
void setup()
{
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
Serial.begin(9600);
}
void loop()
{
for(i=0;i<7;i++){
if(Serial.available()>0) // if there is data to read
{
matlabData[i]=Serial.read(); // read data
}
}
i=0;
for(i=0;i<7;i++){
digitalWrite(13,matlabData[i]);
digitalWrite(12,matlabData[i]);
delay(500);
}
}
Can somebody help me please? thank you
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur MATLAB Support Package for Arduino Hardware dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!