第七章 外接感測器實驗

鄧小榮啟雅發表於2018-03-19

第七章 外接感測器實驗

材料:四位數碼管或OLED 用作顯示資料,電位器,聲音,光線, 溫溼度,紅外,壓力,超聲波等感測器。

1,開關訊號(數字)感測器

微處理器最擅長的就是開關訊號,也就是0和1,也就是接高電平和低電平,也就是接電源和地。

比如板載的按鈕就是個開關,bit讀取埠的資料,根據資料0或1作出判斷,執行相應的程式。
enter image description here

bit所有19個腳,都可以用作數字埠,讀取和寫入0和1。
enter image description here

enter image description here

數字讀取時,埠要拉高或拉低,相關知識,參看《第四章 音樂實驗》

除了按鈕開關,還有一些感測器輸出的也是開關訊號。

比如數字紅外避障感測器
enter image description here
只輸出0和1,遇到障礙物,反射光線,資料線OUT輸出0。可變電阻可調節感應距離。

數字紅外避障感測器可用在避障,黑白線循跡,計數,門禁,防盜、感應水龍頭,限位等等領域。

紅外循跡感測器:
enter image description here
此外,還有傾斜開關,振動開關,觸碰開關,觸控開關,雨滴感應開關,熱偶開關等等。

我們著重講解模擬感測器。

2,電壓感測器

2.1硬體

enter image description here enter image description here

2.2接線

enter image description here
電位器輸出接P0腳,4位數碼管時鐘線接P2腳,訊號線接P1腳。

2.3程式

定義一個4位數碼管,顯示“模擬讀取 引腳P0”:
enter image description here
滑動電位器,數字應在0到1023之間變化。

小強: 什麼道理?

2.4 知識點:電位器原理

電位器,其實就是個滑動變阻器,中間有個抽頭,接到P0上,把大電阻一分為二:
enter image description here

這樣,P0上的電壓Up0=R2/(R1+R2)*3伏。
移動中間抽頭,它的電壓隨R2線性變化,即在0到3伏之間變化。這樣,我們就可以用它來測量電壓資料。

小強:讀到的電壓在0到3伏,可是,bit的埠不是隻能輸入0和1嗎?它怎麼識別0到3之間的資料?

問得好!

2.5 知識點:讀取模擬原理

bit的埠確實不能識別除0和1以外的資料,只認得0和1,不是高就是低。這種資料,稱為數字資料(Digital data),接收到的訊號,稱為數字訊號(Digital Signal)
鄧老師認為,稱為“開關資料”和“開關訊號”更易理解。

可是,真實的資料確是連續變化的,比如電壓從0到3伏之間變化,這樣的訊號稱為模擬訊號(Analog Signal)
鄧老師認為叫“真實訊號”更合理。

那麼,如何把連續變化的模擬訊號(真實訊號)轉換為bit能讀懂的數字訊號呢(0和1)?

原來,bit中有一個模擬訊號轉換為數字訊號的轉換器,稱為模數轉換器(A/D轉換器,ADC)。

enter image description here

根據不同的電壓,用3位二進位制數記錄(分成8份),二進位制只有0和1,bit就能讀懂了。

這樣,就把模擬資料(Analog data)轉換為數字資料(Digital data)了。這就是模數轉換。

如果10位二進位制數記錄,就可以分成1024份(0到1023),精度就很高了。

2.6電壓表

模數轉換,就是把0-3伏電壓,轉換為0-1023的數字資料,然後我們根據讀到的數字資料,反過來對應電壓值,就可以測量電壓了。
enter image description here

知識點:對映

對映的意思,是做一個按比例自動轉換,通俗地說,就是換算,就象美元換算成人民幣:
enter image description here

enter image description here

移動滑動變阻器,可以看到電壓在0-3伏之間變化。

用P0和地做表筆,就是一個電子電壓表。

2.7 電流表

電流表原理一樣,只是要測量的電流,讓它流過一個小電阻,讀取小電阻上的電壓,就可以計算電流:
I=U/R

3,其它感測器

把滑動變阻器換成別的可變電阻,
比如光敏電阻,就是亮度感測器(光線感測器、灰度感測器);
換成熱敏電阻,就是溫度感測器;
換成話筒,就是聲音感測器; 換成線圈,就是磁力感測器;

此外,還有壓力感測器,溫溼度感測器,水位感測器,紅外感測器,火焰感測器,氣體感測器(甲荃,一氧化碳等)等等,道理和用法都一樣。

聲音感測器:
enter image description here

光線感測器:
enter image description here
更多:
enter image description here

這些感測器通常只有三個腳:正極,地,資料。(個別有四個腳,通常接指示燈),資料腳接在bit上,就可以讀取資料了。

小強: 隨便哪個腳嗎?

不是!只有P0,P1,P2,P3,P4,P10共6個腳可以讀取模擬訊號!
enter image description here

enter image description here

4,溫度感測器

4.1硬體

以LM35DZ為例:
enter image description here
資料線接P0埠。

4.2程式

enter image description here

小強:為什麼對映到300?
是這樣,LM35輸出0伏時,對應溫度為0度,每升高1度,電壓升高10毫伏:
enter image description here

實際只能測到0-100度。

如果要顯示小數,就對映到3000,點亮中間的冒號:
enter image description here

5,灰度感測器

enter image description here
灰度感測器就是一個發光二極體(或紅外發光二極體)發光,另一個光敏電阻接收反射回來的光,根據光強判斷顏色,或者遠近。主要用在機器人避障和循跡。
模擬資料線接P0,就可以讀取光強:
enter image description here

6,超聲波感測器

6.1 硬體

enter image description here
VCC:電源
GND:地
trig :發射
echo:接收

6.2 知識點:超聲波測距原理:

超聲波測距原理是受蝙蝠的啟發,發出高於20000Hz頻率的聲波,再接收,根據回聲時間判斷距離。
聲波在空氣中的速度是 340m/s,距離S=t*340/2(來回)。

所以,超聲波感測器跟灰度感測器原理差不多,一個發光,一個發聲,一個測強度,一個測時間。

超聲波感測器也就是一個喇叭,一個話筒。

6.3接線

為了顯示資料,我們接一個4位數碼管(P1,P2),trig 接P3,echo接P0

6.4程式

新增兩個軟體包:grove(有4位數碼管),sonar(超聲波):
enter image description here

enter image description here

單位選cm。
超聲波感測器主要用在測距,避障等方面。

小強: 沒有顯示!

超聲波感測器大多是5伏供電,如果你沒有5伏電源,就要買支援3伏的超聲波感測器。

相關文章