目錄
傳感器的AO與DO
很多時候,我們(men) 購買(mai) 傳(chuan) 感器的時候,能夠發現傳(chuan) 感器一般都有四個(ge) 口。拿這款震動傳(chuan) 感器作為(wei) 例子,他有VCC,GND,AO,DO四個(ge) 接口。而很多時候,我們(men) 用VCC接5V,GND接單片機GND,給模塊供電。最後有一個(ge) DO口接單片機一個(ge) 引腳,例如P1^1腳。
現在我們(men) 就將一些AO和DO有什麽(me) 區別。
DO口——數字信號
1、產(chan) 品不震動時,震動開關(guan) 呈斷開狀態,輸出端輸出高電平,綠色指示燈不亮;
2、產(chan) 品震動時,震動開關(guan) 瞬間導通,輸出端輸出低電平,綠色指示燈亮;
void main() { while(1) { if(P1^1==1) { 沒有震動 } if(P1^1==0) { 震動 } } }
我們(men) 看商家提供的資料,知道寫(xie) 程序的時候,我們(men) 隻需要檢測P1^1的電平是否為(wei) 低電平。如果是低電平,那麽(me) 表示發生了震動,如果是高電平就是沒有震動。
這種根據0和1來進行判斷的方式,就是對數字信號的處理。數字信號看似就是0和1,其實本質上就是電壓信號,不過一般規定低電平為(wei) 0~0.25V,用數字0表示,高電平為(wei) 3.5~5V,用數字1表示。所以對於(yu) 數字信號而言,不需要區分電壓值具體(ti) 是多少,隻要是在這個(ge) 範圍之內(nei) ,都稱之為(wei) 0或者1。
而模擬信號不同,我們(men) 需要知道電壓值的具體(ti) 是多少。3.6V就是3.6V,5V就是5V,不能一概稱之為(wei) 1。
AO——模擬信號
首先我們(men) 需要知道一個(ge) 概念,就是很多傳(chuan) 感器其實就是一個(ge) 定值電阻,加上一個(ge) 對某一種信號敏感的電阻。比如光感,就是一個(ge) 光敏電阻和一個(ge) 定值電阻,如下圖。
光敏電阻會(hui) 因為(wei) 光線的大小,從(cong) 而改變阻值。我們(men) 又根據串聯分壓的原理,當光敏電阻發生改變的時候,DO處的電壓值也會(hui) 發生改變,而這個(ge) 電壓值就是模擬量。
模擬信號與數字信號的關係
以上為(wei) 我畫了一個(ge) 很醜(chou) 的模擬信號轉換數字信號的電路。
首先,我們(men) 了解一些LM393是什麽(me) 的。一般我們(men) 在購買(mai) 到一個(ge) 模塊的時候,能夠看到模塊上一般都要一個(ge) 叫做LM393的芯片,這個(ge) 芯片的作用就是用來做比較的,也稱作比較器。當+輸入端電位>-輸入端電位時,LM393輸出高電平。反過來,當+電位<-電位時,LM393會(hui) 輸出低電平。
我們(men) 又知道DO的電壓值會(hui) 隨著光線的大小變化。那麽(me) 我們(men) 將DO的值輸入到LM393比較芯片中去,LM393就可以根據DO的電壓值和滑動變阻器的分壓值進行對比,最後決(jue) 定輸出是高電平還是低電平。
但是,很多時候我們(men) 看到的電路圖並不是這樣的,因為(wei) 現實生活中的信號不可能這麽(me) 完美,會(hui) 有一定的幹擾信號,所以會(hui) 外加一個(ge) 一些電容和電阻。至於(yu) LED燈
模擬信號就是電壓信號,而數字信號就隻是0和1(一般規定低電平為(wei) 0~0.25V,用數字0表示,高電平為(wei) 3.5~5V,用數字1表示)。
analog——模擬,digit——數字。所以AO表示模擬量,DO表示數字量。
ADC和DAC
很多時候,我們(men) 能看到ADC和DAC這兩(liang) 個(ge) 名詞,他們(men) 到底是幹什麽(me) 的呢?ADC就是模擬信號轉換為(wei) 數字信號(上述的AO變成DO是其中的一種),DAC就是數字信號轉換為(wei) 模擬信號(比如我們(men) 將編程讓單片機輸出固定的電壓值)。