1. 程式人生 > >Arduino與MATLAB實現串列埠通訊來畫圖

Arduino與MATLAB實現串列埠通訊來畫圖

自己編好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讀取串列埠數值並作圖

附做專案時的一個壓力感測器實時變化圖