2017年9月1日 星期五

模組介紹 : faya超音波距離感應模組


學習目標 : 認識faya超音波距離感應模組的功能及使用方式
學習時間 : 50min
示範模組 :  (1) faya brickNano
                  (2) faya蜂鳴器模組
                  (3) faya超音波距離感應模組


====================功能介紹====================
faya超音波距離感應模組採用市面上的超音波距離感應器(HC-HR04),他具有一對類似眼睛的超音波介面,一邊是發射器,另一邊是接受器,當發射器發出40KHz超音波,遇到障礙物時會反彈,接收器會感應到反彈回來的超音波,我們可以透過時間差來算出障礙物和模組間的距離,規格書上顯示此模組能夠量測從2~400公分的理想距離,應用在避障自走車、機器人、物體測距上都有不錯的效果。


HC-HR04簡單易用,只要幾行的指令就能夠測出感測距離。他的介面為Trig(輸入埠)和Echo(輸出埠),負責通知模組何時送出超音波訊號,何時收到超音波的反彈訊號。
  • Trig埠 : 收到方波(10us)訊號後,會送出超音波
  • Echo : 收到回彈的超音波訊號時,會送出HIGH訊號
模組的面板圖如下所示,右方有一個4pin的排母,其中上方的2pin為Trig埠,下方的2pin為Echo埠,上方標示Trig的2pin是相通的,下方標示Echo(但被遮住了)也是相通的,連接線路時,只要選擇其中一個孔位連接即可。


====================原理知識====================
以下解釋提供給有需要知道背後原理的人

HC-SR04的原理很簡單,當我們給模組一個10us的方波時,模組就會發射出8個40KHz的超音波,此時Echo會由LOW轉HIGH,等到模組接收到超音波的反彈訊號時,Echo由HIGH轉LOW。


有了發射和接收的時間記錄點,我們就可以算出距離了- 聲音在空氣中的傳播速度約為每秒340 公尺 (34000公分),取倒數可算出傳播1公分所花的時間, 1 / 34000 = 29 x 10^-6 = 29uS。又由於超音波發射後,遇到障礙物反彈回到原點所花的是2倍的距離,因此實際上量測到1公分所花的總時間是58us(去程29us+回程29us),這個數字寫程式時會用到。

===================範例實作(1)===================
了解模組功能(原理)後,我們用以下範例來展示模組的功能:

目標: 
(1)在串列埠監視視窗顯示超音波感應距離

接線:
(1) 電源線連接
     如下圖所示,連接的說明請看這篇文章 簡易版


(2) 訊號線連接
      Arduino_D5  ===>  超音波距離感應模組_Trig
      Arduino_D6  ===>  超音波距離感應模組_Echo


範例程式:

備註:
- L22~L24: 產生10uS脈衝寬度,觸發Trig
- L25: 利用pulseIn( )函式讀取指定針腳(Echo腳位)的脈衝時間,指令的參數填入HIGH,函式會等待Echo腳位變為HIGH後開始計時,再等待Echo腳位變為LOW並停止計時。輸出的脈衝寬度單位為uS,因此除以58uS後得到公分。

範例結果:


===================範例實作(2)===================
目標: 
(1)在串列埠監視視窗顯示超音波感應距離
(2)蜂鳴器根據感測距離,輸出週期性聲音,距離愈短輸出聲音愈急促
(3)距離小於3公分時,蜂鳴器長叫

接線:
(1) 電源線連接


(2) 訊號線連接
      Arduino_D5  ===>  超音波距離感應模組_Trig
      Arduino_D6  ===>  超音波距離感應模組_Echo


    Arduino_D13  ===>  蜂鳴器模組_BZ


範例程式:

備註:
- 蜂鳴器的使用方式,請參考faya蜂鳴器模組 
- L34~L46: 感測距離分成三個範圍,30cm以上靜音,30~5公分發出嗶嗶聲,愈短愈急促,5公分以內直接長鳴。
- L36~L37: 透過tone()和delay()函式,讓鳴叫和休鳴的時間成正比,也就是距離長時,鳴叫的時間變長,休鳴的時間也變成,距離短時,鳴叫的時間變短,休鳴的時間也會變短,會有急促的感覺。
- L41: 只發出鳴叫,但沒有休鳴時間,因此如果一直在此距離時,會一直發出鳴長鳴聲
- L45: 距離太長時,什麼事也不做,就像上一個範例一樣,每0.5秒在串列埠監視視窗顯示超音波感應距離。

範例結果:


討論:
大家有沒有發現第二個範例就是在模擬倒車雷達的動作,通常車子後方會裝上三顆超音波測距元件(發射和接收為同心圓,價格較貴),在車子打倒車檔時開始動作,快撞到牆壁時,會發出急促甚至長鳴聲,如果有三個超音波同時運作,我們就能夠偵測是正後方,右後方還是左後方快要碰撞到了。

大家有沒有想到利用此模組達到有意思的創作呢? 歡迎大家在底下留言或到我們的粉絲團留言喔!
====================================


沒有留言:

張貼留言