官术网_书友最值得收藏!

4.2 模擬I/O口的操作函數(shù)

4.2.1 analogReference(type)

analogReference函數(shù)的作用是配置模擬引腳輸入時(shí)的參考電壓。在嵌入式應(yīng)用中,引腳獲取模擬電壓值之后,將根據(jù)參考電壓將模擬值轉(zhuǎn)換到0~1023。該函數(shù)為無(wú)返回值函數(shù),參數(shù)為type類型,有3種類型(DEFAULT/INTERNAL/EXTERNAL),具體含義如下:

DEFAULT:默認(rèn)值,參考電壓為5V。

INTERNAL:低電壓模式,使用片內(nèi)基準(zhǔn)電壓源。

EXTERNAL:擴(kuò)展模式,通過(guò)AREF引腳獲取參考電壓。

注意:如果在AREF引腳加載外部參考電壓,需要使用一個(gè)5kW的上拉電阻,這會(huì)避免由于設(shè)置不當(dāng)造成控制芯片的損壞。

4.2.2 analogRead(pin)

analogRead函數(shù)用于讀取引腳的模擬量電壓值,每讀一次需要花100ms的時(shí)間。參數(shù)pin表示所要獲取模擬量電壓值的引腳,該函數(shù)返回值為int型,表示引腳的模擬量電壓值,其范圍在0~1023。

注意:對(duì)于Arduino Uno主板,函數(shù)的參數(shù)pin范圍為0~5,表示6個(gè)模擬量I/O口中的一個(gè)。

4.2.3 analogWrite(pin,value)

analogWrite函數(shù)為無(wú)返回值函數(shù),有兩個(gè)參數(shù)pin和value。其中,參數(shù)pin表示設(shè)置的引腳,只能選擇Arduino Uno主板支持的引腳;參數(shù)value表示PWM輸出的占空比,范圍在0~255,對(duì)應(yīng)的占空比為0~100%。

analogWrite函數(shù)通過(guò)PWM的方式在引腳上輸出一個(gè)模擬量,較多的應(yīng)用在LED亮度控制、電機(jī)轉(zhuǎn)速控制等方面。

脈沖寬度調(diào)制(Pulse Width Modulation,PWM)通過(guò)對(duì)一系列脈沖的寬度進(jìn)行調(diào)制,來(lái)等效地獲得所需要的波形或電壓。這是一種模擬控制方式,這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定,是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。如圖4-1所示是一個(gè)簡(jiǎn)單的PWM波示意圖。

圖4-1 PWM波

在Arduino中執(zhí)行該操作之后,需要等待一定時(shí)間后才能對(duì)該引腳進(jìn)行下一次操作。該函數(shù)在使用Arduino UNO開(kāi)發(fā)板時(shí),支持的引腳:3、5、6、9、10、11。即在Arduino控制板上引腳號(hào)旁邊標(biāo)注~的就是可用作PWM的引腳,如圖4-2所示。Arduino中的PWM的頻率大約為490Hz。

圖4-2 Arduino UNO開(kāi)發(fā)板

注意:PWM輸出位數(shù)為8位,范圍為0~255。

例如,Arduino開(kāi)發(fā)板的A0引腳接電位器,使用電位器控制板上LED的亮度,代碼如下:

主站蜘蛛池模板: 北票市| 木里| 乾安县| 岚皋县| 岳普湖县| 灵丘县| 扶余县| 安义县| 宝丰县| 图们市| 南充市| 墨竹工卡县| 鄯善县| 交口县| 安义县| 高青县| 彝良县| 莒南县| 霞浦县| 嘉黎县| 瑞安市| 若尔盖县| 钦州市| 毕节市| 定州市| 乌什县| 昭觉县| 仪征市| 健康| 荥阳市| 云霄县| 罗山县| 鄂温| 河东区| 那曲县| 客服| 嘉善县| 金阳县| 乌兰浩特市| 河西区| 平邑县|