相關(guān)推薦
您可能對(duì)下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有140766人學(xué)過

模擬I/O的使用模擬信號(hào)
發(fā)布時(shí)間:2022-03-10 10:32 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 小劉2175 閱讀: 2651
在Arduino控制器中,編號(hào)前帶有“A”的引腳是模擬輸入引腳。Arduino可以讀取這些引腳上輸入的模擬值,即讀取引腳上輸入的電壓大小。



模擬信號(hào)
生活中,接觸到的大多數(shù)信號(hào)都是模擬信號(hào),如聲音、溫度的變化等。如圖2-31所示,模擬信號(hào)是用連續(xù)變化的物理量表示的信息,信號(hào)隨時(shí)間作連續(xù)變化。在Arduino UNO上,可以接受0~5V的模擬信號(hào)。


模擬輸入引腳是帶有ADC(Analog-to-Digital Converter,模數(shù)轉(zhuǎn)換器)功能的引腳。它可以將外部輸入的模擬信號(hào)轉(zhuǎn)換為芯片運(yùn)算時(shí)可以識(shí)別的數(shù)字信號(hào),從而實(shí)現(xiàn)讀入模擬值的功能。
Arduino 模擬輸入功能有10位精度,即可以將0~5V的電壓信號(hào)轉(zhuǎn)換為0~1023的整數(shù)形式表示。
模擬輸入功能需要使用analogRead() 函數(shù)。[mw_shl_code=cpp,true]int value = analogRead(pin)[/mw_shl_code]

參數(shù)pin是指定要讀取模擬值的引腳,被指定的引腳必須是模擬輸入引腳。如analogRead(A0)即是讀取A0引腳上的模擬值。

與模擬輸入功能對(duì)應(yīng)的是模擬輸出功能,我們使用analogWrite() 函數(shù)實(shí)現(xiàn)這個(gè)功能。但該函數(shù)并不是輸出真正意義上的模擬值,而是以一種特殊的方式來達(dá)到輸出近似模擬值的效果,這種方式叫做脈沖寬度調(diào)制(PWM,Pulse Width Modulation)。
在Arduino UNO中,提供PWM功能的引腳為3、5、6、9、10、11。

當(dāng)使用analogWrite() 函數(shù)時(shí),指定引腳會(huì)通過高低電平的不斷轉(zhuǎn)換輸出一個(gè)周期固定的方波,通過改變高低電平在每個(gè)周期中所占的比例(占空比),而得到近似輸出不同的電壓的效果(如圖2-33所示)。

需要注意的是,這里僅僅是得到了近似模擬值輸出的效果,如果要輸出真正的模擬值,還需要加上外圍濾波電路。

  1. analogWrite(pin,value)
復(fù)制代碼

參數(shù)pin是指定要輸出PWM波的引腳,參數(shù)value指定是PWM的脈沖寬度,范圍為0~255。
在analogWrite() 和analogRead() 函數(shù)內(nèi)部,已經(jīng)完成了引腳的初始化,因此不用在Setup() 函數(shù)中進(jìn)行初始化操作。
Arduino視頻教程基礎(chǔ)篇
我要自學(xué)網(wǎng)商城 ¥40 元
進(jìn)入購買
文章評(píng)論
0 條評(píng)論 按熱度排序 按時(shí)間排序 /350
添加表情
遵守中華人民共和國(guó)的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
相關(guān)推薦
您可能對(duì)下面課程感興趣
Arduino視頻教程基礎(chǔ)篇

75小節(jié)已有140766人學(xué)過

分類選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動(dòng)化 影視動(dòng)畫 程序開發(fā) 網(wǎng)頁設(shè)計(jì) 會(huì)計(jì)課程 興趣成長(zhǎng) AIGC