- 創(chuàng)客機(jī)器人實(shí)戰(zhàn):基于Arduino和樹(shù)莓派
- 何福貴等編著
- 765字
- 2020-10-23 14:26:23
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的亮度,代碼如下:

- Hands-On Deep Learning with Apache Spark
- Dreamweaver CS3+Flash CS3+Fireworks CS3創(chuàng)意網(wǎng)站構(gòu)建實(shí)例詳解
- 返璞歸真:UNIX技術(shù)內(nèi)幕
- 自動(dòng)化控制工程設(shè)計(jì)
- Windows內(nèi)核原理與實(shí)現(xiàn)
- 基于ARM 32位高速嵌入式微控制器
- Visual C++編程全能詞典
- R Data Analysis Projects
- 空間機(jī)器人
- Photoshop CS4數(shù)碼攝影處理50例
- 人工智能云平臺(tái):原理、設(shè)計(jì)與應(yīng)用
- Advanced Deep Learning with Keras
- 網(wǎng)頁(yè)設(shè)計(jì)與制作
- Hands-On Microservices with C#
- Practical Network Automation