Arduino讀取可變電阻的數值

讀取可變電阻的數值屬於類比訊號輸入,以下介紹Arduino在類比訊號處理上的硬體接腳與系統函式。

類比訊號經由Arduino的類比輸入接腳A0到A5進行輸入,Arduino Uno使用ATmega328P處理器,擁有6個類比訊號輸入接腳(A0到A5),其類比輸入的解析度為10個位元,表示類比訊號的輸入數值介於0到1023。

函式與說明

analogRead

用於讀取類比訊號的數值。

範例與說明

value = analogRead(A0);

從類比輸入接腳A0讀取類比訊號的數值。

因為A0永遠是輸入模式,所以不用使用函式pinMode設定A0是輸入模式還是輸出模式。

實驗名稱:讀取可變電阻

實驗目的:從類比輸入接腳讀取可變電阻的數值,將數值顯示在序列監控視窗,經由旋轉可變電阻可以發現數值由0變化到1023。

實驗所需元件:可變電阻x1

實驗接線圖

可變電阻與Arduino對應的接腳,如下表。

接線圖如下。

程式實作提示

使用函式analogRead從類比輸入接腳讀取可變電阻的數值,接著使用函式庫Serial的函式println顯示讀取到的數值到序列埠監控視窗。

程式碼

說明

第1行:設定常數變數analogPin為A0,用於指定類比訊號的輸入接腳。

第2行:宣告value為整數變數,用於接收類比訊號的輸入值。

第3到5行:在setup函式內,使用函式庫Serial的函式begin設定序列埠傳輸頻率為9600bps。

第7到11行:在loop函式內,使用函式analogRead讀取analogPin腳位的輸入值儲存到變數value,而可變電阻就接在analogPin腳位上(第8行),使用Serial的函式println顯示變數value到序列埠監控視窗(第9行),使用函式delay延遲500毫秒,表示每500毫秒讀取一次可變電阻的數值(第10行)。

執行程式

上傳程式到Arduino,上傳成功後,點選「工具->序列埠監控視窗」開啟序列埠監控視窗。

序列埠監控視窗顯示可變電阻的數值,如下圖。