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);
}