超音波感測器
超音波(音波頻率大於人耳能聽到的範圍) HC-SR04模組,使用音波反射的原理,來量測與物體之間的距離。距離計算公式是以音波速率 x 時間,但海拔高度及氣溫等,都會影響該速率,一般常聽到的音速約343公尺/秒,是以海平面且氣溫為攝氏20 °C來定義的。
HC-SR04模組的真實樣貌,其腳位由左至右依序為:VCC、Trig(發送端)、Echo(接收端)、GND。
# 實作步驟
- 學習使用
- 設計電路圖
- 連接電路
- 搭建積木程式 & 執行
# 學習使用
學習使用超音波感測器對應的積木,每秒進行一次量測,並將量測的結果顯示在LX終端機畫面上。
# 設計電路圖
電路圖設計如下:(眼尖的各位應該注意到了右方有三個電阻,到底這三個電阻的作用是什麼呢?)
因HC-SR04模組使用的VCC是5V,而樹莓派的GPIO輸入電壓允許的範圍是0V ~ 3.3V,若直接將超音波感測器Echo輸出的5V,直接接上樹莓派的GPIO腳位,可能會造成其損害。此處提供一種解決方式「電阻分壓」,讓GPIO腳位輸入的電壓盡可能不超過3.3V。
# 連接電路
實際線路如下圖,建議連接步驟如下,若您要移除電路時,請使用相反的順序進行即可。
- 於麵包板上連接相關元件
- 資料、控制腳位連接上樹莓派
- GND腳位連接上樹莓派
- VCC(5V or 3.3V)腳位連接上樹莓派
# 搭建積木程式 & 執行
開啟積木程式畫面如下,若您已經下載代理程式,並且完成「rp_agent」設定,可以將首次使用須知下方的框框,勾選「不再顯示此訊息」,並按下「確定」按鈕。
PS. cwBlockly頁面請於樹莓派中執行。
初始畫面如下。
控制超音波感測器的積木位於「感測元件」→「超音波感測器」。
拖曳「超音波感測器定義積木」至RPi預設積木中,並將腳位編號依序調整為:Trig(12)、Echo(11)。
要使用超音波感測器來量測距離,還需要距離量測積木,來取得量測的距離(cm)。再次打開「超音波感測器」積木區,拖曳並放置「距離量測」積木。
發現距離量測積木,無法加入上方的積木塊中,因為此積木的作用不同,我們必須決定將取回的數值,做什麼動作,例如:顯示在LX終端機中;或放在判斷積木中,進行數值的判斷,實現自走車的避障功能等。
此處我們以最簡單的觀察方式,就是讓這個數值,輸出在LX終端機上,「輸出」的積木位於「文字」積木區中。
還記得上方輸入的樣式嗎?如下圖,先輸出量測的距離數值,後面接著一個「空白格」及一個單位詞「cm」。
所以我們需要使用一個組合輸出文字的積木,其一樣位於「文字」積木區中。
用來要設定「空白格」及「cm」的字串積木,也位於「文字」積木區中。
放置好「字串」積木後,記得內容改成「 cm」。
再將量測積木,接上字串組合積木中即可。
別急,我們希望間隔一秒量測一次,而目前僅會量測一次,程式就結束了,相信各位知道怎麼調整,就能實現預定目標對吧!
「執行」程式,請點擊右上方紅色Play按鈕。
下載本範例積木程式 ULTRASONIC_01.rpb。
若您對基礎電子套件有興趣,可至蝦皮賣場購買,若是學校團體亦可來信訂購,謝謝。
若對本篇教學文章有任何建議或問題,歡迎您來信:chipwaygo@gmail.com,謝謝。