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,上傳成功後,點選「工具->序列埠監控視窗」開啟序列埠監控視窗。
序列埠監控視窗顯示可變電阻的數值,如下圖。