Aduino電壓感測實作

Share This Post

接線圖:

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。

訂閱研究文章

Get updates and learn from the best

More To Explore