Arduino與MATLAB實現串列埠通訊來畫圖
阿新 • • 發佈:2018-12-15
自己編好Arduino的程式,需要在MATLAB中呼叫串列埠,讀取資料,我們就需要用到MATLAB中的串列埠物件serial。
比如讀取感測器的值來繪圖、處理攝像頭等等。
簡單的讀取感測器的電壓值
Arduino程式
int analogPin = 5;
int val = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
val = analogRead(analogPin);
Serial.println(val);
}
MATLAB程式
s = serial('COM3'); %定義串列埠物件 set(s,'BaudRate',9600); %設定波特率s fopen(s); %開啟串列埠物件s interval = 10000; passo = 1; t = 1; x = 0; while(t<interval) b = str2num(fgetl(s)); %用函式fget(s)從緩衝區讀取串列埠資料,當出現終止符(換行符)停止。 x = [x,b]; %所以在Arduino程式裡要使用Serial.println() plot(x); grid t = t+passo; drawnow; end fclose(s);
這樣可以實現MATLAB讀取串列埠數值並作圖
附做專案時的一個壓力感測器實時變化圖