
- Arduino 教程
- Arduino - 首頁
- Arduino - 概述
- Arduino - 開發板描述
- Arduino - 安裝
- Arduino - 程式結構
- Arduino - 資料型別
- Arduino - 變數與常量
- Arduino - 運算子
- Arduino - 控制語句
- Arduino - 迴圈
- Arduino - 函式
- Arduino - 字串
- Arduino - 字串物件
- Arduino - 時間
- Arduino - 陣列
- Arduino 函式庫
- Arduino - I/O 函式
- Arduino - 高階 I/O 函式
- Arduino - 字元函式
- Arduino - 數學庫
- Arduino - 三角函式
- Arduino 高階
- Arduino - Due 和 Zero
- Arduino - 脈寬調製
- Arduino - 隨機數
- Arduino - 中斷
- Arduino - 通訊
- Arduino - 積體電路
- Arduino - 序列外設介面
- Arduino 專案
- Arduino - 閃爍 LED
- Arduino - 漸變 LED
- Arduino - 讀取模擬電壓
- Arduino - LED 條形圖
- Arduino - 鍵盤登出
- Arduino - 鍵盤訊息
- Arduino - 滑鼠按鈕控制
- Arduino - 鍵盤序列埠
- Arduino 感測器
- Arduino - 溼度感測器
- Arduino - 溫度感測器
- Arduino - 水位檢測器/感測器
- Arduino - PIR 感測器
- Arduino - 超聲波感測器
- Arduino - 連線開關
- 電機控制
- Arduino - 直流電機
- Arduino - 伺服電機
- Arduino - 步進電機
- Arduino 和聲音
- Arduino - 音調庫
- Arduino - 無線通訊
- Arduino - 網路通訊
- Arduino 有用資源
- Arduino - 快速指南
- Arduino - 有用資源
- Arduino - 討論
Arduino - 讀取模擬電壓
此示例將向您展示如何在模擬引腳 0 上讀取模擬輸入。輸入透過 analogRead() 函式轉換為電壓,並列印到 Arduino 軟體(IDE)的序列監視器中。
所需元件
您將需要以下元件 -
- 1 × 麵包板
- 1 × Arduino Uno R3
- 1 × 5K 可變電阻器(電位器)
- 2 × 跳線
步驟
按照電路圖,將元件連線到麵包板上,如下圖所示。

電位器
電位器(或電位計)是一種簡單的機電換能器。它將來自輸入操作器的旋轉或線性運動轉換為電阻的變化。這種變化被(或可以被)用於控制任何東西,從高保真音響系統的音量到大型集裝箱船的方向。
我們所知的電位器最初被稱為電阻器(本質上是一個可變繞線電阻器)。現在可用的電位器的種類非常多,對於初學者(尤其是)來說,很難確定哪種型別適合於特定的任務。幾種不同的電位器型別,都可以用於相同的任務,這使得工作更加困難。

左側的圖片顯示了電位器的標準示意圖符號。右側的圖片是電位器。
草圖
在您的計算機上開啟 Arduino IDE 軟體。使用 Arduino 語言進行編碼將控制您的電路。透過點選“新建”開啟一個新的草圖檔案。

Arduino 程式碼
/* ReadAnalogVoltage Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor. Graphical representation is available using serial plotter (Tools > Serial Plotter menu) Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground. */ // the setup routine runs once when you press reset: void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); } // the loop routine runs over and over again forever: void loop() { // read the input on analog pin 0: int sensorValue = analogRead(A0); // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V): float voltage = sensorValue * (5.0 / 1023.0); // print out the value you read: Serial.println(voltage); }
程式碼註釋
在下面給出的程式或草圖中,您在 setup 函式中首先要做的事情是開始序列通訊,在您的開發板和計算機之間以 9600 位/秒的速度進行通訊,使用以下程式碼行 -
Serial.begin(9600);
在您的程式碼的主迴圈中,您需要建立一個變數來儲存來自您的電位器的電阻值(該值將在 0 和 1023 之間,非常適合 int 資料型別) -
int sensorValue = analogRead(A0);
要將值從 0-1023 更改為與引腳讀取的電壓相對應的範圍,您需要建立另一個變數,一個浮點數,並進行一些計算。要將數字縮放至 0.0 到 5.0 之間,請將 5.0 除以 1023.0,並將結果乘以 sensorValue -
float voltage= sensorValue * (5.0 / 1023.0);
最後,您需要將此資訊列印到您的序列視窗。您可以在程式碼的最後一行使用 Serial.println() 命令來實現 -
Serial.println(voltage)
現在,透過點選頂部綠色欄右側的圖示或按 Ctrl+Shift+M,在 Arduino IDE 中開啟序列監視器。

結果
您將看到一連串從 0.0 到 5.0 的數字。當您旋轉電位器時,值將發生變化,對應於 A0 引腳上的電壓。