reading data with serial communication between arduino and matlab problem
2 views (last 30 days)
Show older comments
Hi
I want to read position of encoder which is coded in Arduino program with serial communication in Matlab
the code in arduino program is:
int counter = 0;
int aState;
int aLastState;
void setup() {
pinMode (outputA, INPUT);
pinMode (outputB, INPUT);
Serial.begin(9600);
aLastState = digitalRead(outputA);
}
void loop() {
aState = digitalRead(outputA);
if (aState != aLastState) {
if (digitalRead(outputB) != aState) {
counter ++;
} else {
counter --;
}
Serial.print("Position: ");
Serial.println(counter);
}
aLastState = aState;
}
}
and the code of Matlab is:
s=serial('COM3');
fopen(s);
a=fscanf(s)
the problem is when the position is changed for example from 0 to 12 , when I use a=fscanf(s) it shows each values from 0 to 12 each times when I run this order I mean at the first time it shows 0 at the 2nd time it shows 1 at the3rd time it shows 2 etc.but I want to read the value of the position in real time how could I get this value?
Answers (0)
See Also
Categories
Find more on Arduino Hardware in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!