1.利用序列埠視窗顯示

本篇學習如何將感測器或運算出來的結果,透過序列埠視窗顯示

首先必須學過變數的概念,將感測器讀出來的結果儲存為變數,再顯示變數

本範例可作為數學運算(解題)之用,也可以作為量測工具之用

1.使用序列埠視窗顯示數值

若要使用序列埠,要在程式的架構中,在void setup(){}中加入 Serial.begin(鮑率)

鮑率可為9600、38400、57600、115200....等,但9600已經非常夠快了

例如:

void setup(){

Serial.begin(9600);

}

但是若要顯示,必須要使用Serial.print(); 函數 (下表中 x=1 , y=3.1415926 )

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

Serial.print(x);

Serial.print(" , ");

Serial.println(y);

delay(100);

}

以下程式碼可以讀取A0腳位與A1腳位的數值

(此數值將0 ~ 5V 解析為 0 ~ 1023,因此讀數會在 0 ~ 1023之間)

完整程式碼

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

Serial.print(x);

Serial.print(" , ");

Serial.println(y);

delay(100); //設定每讀取一次延遲100毫秒(0.1秒)

}

結果顯示

2.利用序列繪圖家顯示折線圖

序列繪圖家可以將即時將數值大小繪製成折線圖,讓用戶比較個數值的關係,但是此折線圖無法無限延長,新的數值將會把舊的數值踢出窗外。

程式碼要點如下:

(1)想要利用序列繪圖家,必須要在想要顯示的變數之間用逗點隔開 Serial.print(" , ");

(2)讀取更少的腳位,只需要將在不想顯示的腳位與分隔逗點前加上" // "

(3)切記,最後一筆資料要換行 Serial.println();

程式碼

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0); //讀取A0腳位

int y = analogRead(A1); //讀取A1腳位

int z = analogRead(A2); //讀取A2腳位

int a = analogRead(A3); //讀取A3腳位

int b = analogRead(A4); //讀取A4腳位

int c = analogRead(A5); //讀取A5腳位

Serial.print(x); //輸出A0腳位

Serial.print(" , ");

Serial.print(y); //輸出A1腳位

Serial.print(" , ");

Serial.print(z); //輸出A2腳位

Serial.print(" , ");

Serial.print(a); //輸出A3腳位

Serial.print(" , ");

Serial.print(b); //輸出A4腳位

Serial.print(" , ");

Serial.println(c); //輸出A5腳位

}

開啟序列繪圖家,請從工具標籤-->序列繪圖家 進入

為了取用方便起見,將程式碼列在下方:

1筆資料

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

Serial.println(x);

}

2筆資料

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

Serial.print(x);

Serial.print(" , ");

Serial.println(y);

}

3筆資料

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

int z = analogRead(A2);

Serial.print(x);

Serial.print(" , ");

Serial.print(y);

Serial.print(" , ");

Serial.println(z);

}

4筆資料

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

int z = analogRead(A2);

int a = analogRead(A3);

Serial.print(x);

Serial.print(" , ");

Serial.print(y);

Serial.print(" , ");

Serial.print(z);

Serial.print(" , ");

Serial.println(a);

}

5筆資料

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

int z = analogRead(A2);

int a = analogRead(A3);

int b = analogRead(A4);

Serial.print(x);

Serial.print(" , ");

Serial.print(y);

Serial.print(" , ");

Serial.print(z);

Serial.print(" , ");

Serial.print(a);

Serial.print(" , ");

Serial.println(b);

}

6筆資料

void setup(){

Serial.begin(9600);

}

void loop(){

int x = analogRead(A0);

int y = analogRead(A1);

int z = analogRead(A2);

int a = analogRead(A3);

int b = analogRead(A4);

int c = analogRead(A5);

Serial.print(x);

Serial.print(" , ");

Serial.print(y);

Serial.print(" , ");

Serial.print(z);

Serial.print(" , ");

Serial.print(a);

Serial.print(" , ");

Serial.print(b);

Serial.print(" , ");

Serial.println(c);

}