接線圖:

const int voltageSensor =6;
float vOUT = 0.0;
int value = 0;
int vOUT_int = 0;
void setup() {
Serial.begin(115200); // 設定Serial通訊速率
delay(1000); // 等待Serial通訊準備完成
}
void loop() {
value = analogRead(voltageSensor);
vOUT = (value * 5.0) / 1024.0;
String result = String(vOUT);
Serial.print("Input = ");
Serial.print(result);
Serial.println(" V");
delay(1000);
}
程式說明
- analogRead(voltageSensor) 是從電壓感測器讀取的類比訊號的數值。這個函式通常用於讀取類比輸入的值,例如使用 Arduino 的類比輸入引腳來讀取電壓感測器的訊號。
- value 是從電壓感測器讀取的數值。
- 5.0 是指電壓感測器的量程,通常是以伏特(V)為單位。這個數值表示電壓感測器可以測量的最大電壓值。
- 1024.0 是指類比數位轉換器(ADC)的位元數,這是 Arduino 等設備用於將類比訊號轉換為數位值的元件。
vOUT = (value * 5.0) / 1024.0;這個公式的目的是將類比數值轉換為電壓值。對於大部分的類比數位轉換器(ADC),其輸出值範圍為 0 到 1023(或其他相應位元數的最大值減一)。這個範圍對應於量程(5.0 V)內的電壓值。
為了將讀取到的數值轉換為電壓值,需要將讀取到的數值 value 乘以電壓範圍(5.0 V),然後除以 ADC 的位元數(1024.0),這樣可以得到電壓感測器所測量到的電壓 vOUT。