這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。
本文最初發(fā)布在deviceplus.jp網(wǎng)站上,而后被翻譯成英語(yǔ)。
前言
使用數(shù)字輸入,可以將5V讀取為“HIGH”,將0V讀取為“LOW”??梢酝ㄟ^(guò)狀態(tài)來(lái)判斷開關(guān)是否已導(dǎo)通。但是,實(shí)際上電壓不只是5V和0V,而是各種各樣。例如,一節(jié)AA電池的電壓為1.5V,日本家用插座的電壓為100V。
Arduino支持模擬輸入,以能夠讀取這些不同的電壓。利用模擬輸入功能,能夠讀取逐漸變化的電子元器件的狀態(tài)。例如,使用“電位器”可以調(diào)節(jié)亮度或音量,也可以從溫度傳感器獲取當(dāng)前溫度。
本文是本系列文章的最后一篇,將介紹使用“電位器”進(jìn)行模擬輸入的方法。
將模擬值轉(zhuǎn)換為數(shù)字值
實(shí)際的電壓不是像1V或5V這樣的精確值,而是像5.01342…V這樣的無(wú)理數(shù),其小數(shù)點(diǎn)后的數(shù)字是無(wú)限不循環(huán)的。這樣的值是無(wú)法通過(guò)計(jì)算機(jī)直接處理的。因此,在電子電路中,會(huì)使用一種稱為“AD轉(zhuǎn)換器”的機(jī)制將模擬值轉(zhuǎn)換為數(shù)字值,以便它們可以由計(jì)算機(jī)處理。Arduino作為標(biāo)配搭載了AD轉(zhuǎn)換器,可以讀取模擬電壓值并將其轉(zhuǎn)換為數(shù)字值。
AD轉(zhuǎn)換器會(huì)將對(duì)象電壓等分。對(duì)于Arduino Uno而言,可以讀取0-5V范圍內(nèi)的電壓,并會(huì)將這些0-5V的電壓值分成1023等份。AD轉(zhuǎn)換器會(huì)將讀取到的模擬電壓值轉(zhuǎn)換為最接近等分值的值。例如,如果電壓為3V,則“614”是最接近的值。這個(gè)值將發(fā)送給Arduino使用。
讀取到的多達(dá)1023個(gè)的整數(shù)值將會(huì)用于程序處理。但是,輸入值不是電壓值。如果想知道電壓值,可以進(jìn)行如下計(jì)算:
例如,如果來(lái)自AD轉(zhuǎn)換器的值為“614”,則除以1023再乘以5即可得到約3V。
Arduino的模擬輸入
要使用Arduino Uno的數(shù)字輸入功能時(shí),有從A0到A5的6個(gè)引腳可用。通過(guò)將電子元器件連接到這些引腳上,即可讀取施加了多少電壓。但是,引腳A4和A5也用于稱為“I2C”的數(shù)字通信。請(qǐng)注意,在連接傳感器或顯示器等使用I2C數(shù)字通信的電子元器件時(shí),這些引腳不能用于模擬輸入。
可以調(diào)節(jié)電壓的電位器
“電位器”是一個(gè)可以用來(lái)調(diào)節(jié)音量或照明亮度的電子部件。在電位器內(nèi)部配有電阻元件,并有在電阻元件上移動(dòng)的引腳。通過(guò)移動(dòng)引腳可以改變電阻。
電位器通常會(huì)配有三個(gè)引腳。左右兩側(cè)的引腳安裝在電阻器的兩端。中間的引腳可以在電阻元件上移動(dòng)。如果將中間引腳向右移動(dòng),則左側(cè)和中間引腳之間的電阻會(huì)增加。反之,如果將中間引腳向左移動(dòng),則左側(cè)和中間引腳之間的電阻會(huì)減小。
在上圖中,電阻元件是線性的,但在旋轉(zhuǎn)式的電位器中,內(nèi)部電阻元件是圓形的。盡管形狀不同,但它們的工作原理基本相同。
Arduino的模擬輸入使用電壓的變化進(jìn)行輸入。但是,由于電位器的電阻會(huì)發(fā)生變化,因此無(wú)法通過(guò)將其直接連接到Arduino來(lái)讀取電位器的變化情況。因此,需要將電阻的變化轉(zhuǎn)換為電壓的變化。將電源和GND分別連接到電阻的左右引腳。這樣,中間引腳的電壓將根據(jù)引腳的位置發(fā)生變化。例如,假設(shè)將GND連接到左側(cè)引腳,將電源(5V)連接到右側(cè)引腳,當(dāng)中間引腳向右移動(dòng),電壓會(huì)升高,向左移動(dòng)時(shí),電壓會(huì)降低。此外,由于左端為0V,右端為5V,因此可以使電壓值在0V到5V的范圍內(nèi)變化。
只要將這個(gè)中間引腳與Arduino的模擬輸入引腳相連接,就可以通過(guò)操作電位器來(lái)更改輸入。
通過(guò)電位器實(shí)現(xiàn)模擬輸入
現(xiàn)在,我們嘗試使用電位器進(jìn)行模擬輸入。需要準(zhǔn)備好以下電子部件:
電位器
電位器會(huì)記錄可調(diào)范圍內(nèi)的電阻值。作為Arduino輸入使用時(shí),最好使用10kΩ的電位器。另外,如果電位器的旋轉(zhuǎn)軸配有旋鈕會(huì)更容易操作。
鱷魚夾線
用于連接電位器,使用時(shí)用鱷魚夾夾住電位器的引腳。點(diǎn)擊鏈接可以看到我們使用的是2條紅線和2條黑線配套銷售的產(chǎn)品。
所需部件準(zhǔn)備好以后,按如下方式連接。由于電位器無(wú)法插入面包板,因此需要使用鱷魚夾線將其直接連接到Arduino。此時(shí)需要注意的是,要確保鱷魚夾的金屬部分不要接觸相鄰的夾子部分。
編寫以下程序:
要確認(rèn)模擬輸入引腳的連接狀態(tài)時(shí),請(qǐng)?jiān)诘?1行的“analogRead()”中指定對(duì)象引腳。這樣,即可使用0到1023的值輸入引腳電壓值。如果想知道電壓,請(qǐng)按第13行所示進(jìn)行計(jì)算并將計(jì)算值轉(zhuǎn)換為電壓值。
將程序發(fā)送給Arduino并顯示串行監(jiān)視器。
您可以看到,經(jīng)AD轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字的值顯示在“Value:”之后,經(jīng)計(jì)算并轉(zhuǎn)換為電壓的值顯示在“Volt:”之后,當(dāng)轉(zhuǎn)動(dòng)電位器時(shí),值也隨之變化。
總結(jié)
在本系列連載文章中,我們介紹了Arduino基礎(chǔ)的用法。歡迎您根據(jù)這些內(nèi)容來(lái)嘗試制作各種電子作品或者讓一些電子部件動(dòng)起來(lái)。非常感謝您連續(xù)關(guān)注這個(gè)長(zhǎng)達(dá)半年的連載系列,謝謝!
審核編輯:湯梓紅
-
電位器
+關(guān)注
關(guān)注
14文章
1017瀏覽量
67894 -
電壓
+關(guān)注
關(guān)注
45文章
5705瀏覽量
117851 -
Arduino
+關(guān)注
關(guān)注
190文章
6497瀏覽量
191983
發(fā)布評(píng)論請(qǐng)先 登錄
使用Arduino計(jì)算直流電壓的方式

arduino讀取電壓模擬值
使用Arduino讀取MPU6050數(shù)據(jù)的程序免費(fèi)下載

使用Arduino mega 2560讀取PS2無(wú)線手柄信號(hào)并控制小車運(yùn)動(dòng)

用Arduino讀取MPU9250傳感器

讀取負(fù)張力的Arduino示波器的想法

用Arduino讀取DHT22(或DHT11)

讓Arduino充當(dāng)玻璃容器中的控制器和傳感器讀取器

用Arduino庫(kù)來(lái)讀取DHT11濕度和溫度傳感器數(shù)據(jù)

Arduino HDC2010讀取數(shù)據(jù)和舒適區(qū)警報(bào)

如何通過(guò)Arduino讀取電表

Arduino之如何逐行讀取SD卡文本文件

如何將光敏電阻連接到Arduino板并讀取電壓

評(píng)論