Arduino 讀取模擬電壓

2020-07-16 10:48 更新

此示例將向你展示如何讀取模擬引腳0上的模擬輸入。輸入從analogRead()轉(zhuǎn)換為電壓,并打印輸出到Arduino軟件(IDE)的串口監(jiān)視器。

必需的組件

你將需要以下組件:

  • 1 × Breadboard 面包板
  • 1 × Arduino Uno R3
  • 1 × 5K可變電阻(電位器)
  • 2 × 跳線

程序

按照電路圖連接面包板上的組件,如下圖所示。

123456

電位器

電位器是一種簡單的機電傳感器。它將來自輸入操作器的旋轉(zhuǎn)或線性運動轉(zhuǎn)換為電阻的變化。這種變化是(或可以)用于控制任何東西,從高保真音響系統(tǒng)到巨大的集裝箱船的方向。

我們知道電位器最初被稱為變阻器(本質(zhì)上是一個可變的繞線電阻)?,F(xiàn)在可用的電阻器的種類現(xiàn)在相當驚人的,而初學者(特別是)可能很難確定哪種類型適合于給定的任務。一些不同的電阻器類型,都可以用于相同的任務,使得確定工作更難。

pIYBAF1eBUOAXXTOAAB-0b8xr5030427a975e4ae143e9f

左邊的圖像顯示電阻器的標準原理圖符號。右邊的圖像是電位器。

草圖

在計算機上打開Arduino IDE軟件。使用Arduino語言進行編碼控制你的電路。通過單擊“New”打開一個新的草圖文件。

Sketch

Arduino代碼

void setup() {
   // 初始化串行通信速率為9600bit/s:
   Serial.begin(9600);
}

void loop() {
   // 讀取模擬引腳A0的輸入數(shù)據(jù)
   int sensorValue = analogRead(A0);
   // 將模擬信號轉(zhuǎn)換成電壓
   float voltage = sensorValue * (5.0 / 1023.0);
   // 打印到串口監(jiān)視器
   Serial.println(voltage);
}

代碼說明

在下面給出的程序或草圖中,你在設置功能中做的第一件事是在你的電路板和你的電腦之間以9600比特每秒開始串行通信,使用以下代碼:

Serial.begin(9600);

在代碼的主循環(huán)中,你需要建立一個變量來存儲來自電位器的電阻值(其范圍在0到1023之間,非常適合int數(shù)據(jù)類型):

int sensorValue = analogRead(A0);

要將值從0-1023更改為與引腳正在讀取的電壓相對應的范圍,你需要創(chuàng)建另一個變量,一個浮點數(shù)并進行一些計算。要縮小0.0和5.0之間的數(shù)字,將5.0除以1023.0,再乘以sensorValue:

float voltage= sensorValue * (5.0 / 1023.0);

最后,你需要將此信息打印到串行窗口。你可以用最后一行代碼中的Serial.println()命令:

Serial.println(voltage)

現(xiàn)在,通過單擊頂部綠色欄右側(cè)的圖標或按Ctrl+Shift+M打開Arduino IDE中的串口監(jiān)視器。

串行監(jiān)視器

結(jié)果

你會看到一個從0.0到5.0的穩(wěn)定的數(shù)字流。當你轉(zhuǎn)動電位器時,這些值會改變,對應于引腳A0上的電壓。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號