前言

HC-SR04 的外型很像一對大大的眼睛,這對眼睛可用來發射與接收超音波,以達到偵測與障礙物之間距離的目的。在這篇文章中,我們將實際了解如何在 WFduino/Scratch 3/DiFi 中使用 HC-SR04。

超音波距離感測器

如果你想了解 HC-SR04 偵測距離的原理,請先參考這篇文章

開發環境建置

如果你還沒有建置 WFduino + Scratch 3 的開發環境,請參考這篇文章

線路圖

WFduino 在 Scratch 3 的環境中已經內建 HC-SR04 的積木,所以即使不懂上述的原理,仍舊可以輕鬆地使用 HC-SR04。不過在實際接線時,倒是有一個稍微棘手的問題。HC-SR04 的 Echo 接腳是用來輸出偵測結果給 GPIO 的,所使用的電壓為 5V。但是 DiFi 的 GPIO 接收電壓應為 3.3V,所以原則上不應該直接把 Echo 接腳連結至 DiFi 的腳位上,而必須透過分位器進行電位調整,以便將 Echo 接腳的 5V 轉換為 DiFi GPIO 所需的 3.3V。

有關分位器的說明可先參考這篇文章

DiFi 與 HC-SR04

DiFi 與 HC-SR04

  1. 在這個接線圖上,我使用 B10K  可變電阻來當作分位器。調整至 B10K 左方接腳到中間接腳的電阻值約為 3.3K 歐姆,也就是右方接腳到中間接腳的電阻值約為 6.7K 歐姆。
  2. 圖上 HC-SR04 四隻接腳由左至右分別為 VCC、Trigger、Echo 與 GND,其中 VCC 與 GND 分別透過麵包板連接至 DiFi 的 +4.6V 與 GND。
  3. Trigger 接腳連接至 DiFi 實驗板上 WFduino 編號 2 的腳位,在板上列印的編號為 4。
  4. B10K 左側接腳連結至 HC-SR04 的 Echo 接腳,而 B10K 右側接腳接地 (GND),而中間接腳則連接至 DiFi 實驗板上 WFduino 編號 1 的腳位,在板上列印的編號為 5。
  5. 如果沒有 B10K 或合適的電阻可作為分位器,直接把 HC-SR04 的 Echo 腳位連結至 DiFi 的 WFduino 腳位 1 也是可以測試的。但是因為兩者實際電壓的差異,這樣的接法對實驗板來說有其危險性。因此如果是長期的使用,不建議這樣直接連接使用。
  6. 實際接線請參考下圖:

    DiFi V51 HC-SR04 接線圖

    DiFi V51 HC-SR04 接線圖

範例程式

WFduino 控制 HC-SR04 (Scratch 3)

WFduino 控制 HC-SR04 (Scratch 3)

  1. 前面提到,WFduino 在 Scratch 3 的環境中已經內建 HC-SR04 積木,因此程式上相當簡單,只要指定 Echo 與 Trigger 接腳所連接的腳位即可。
  2. 當程式開始執行時,我們就可以用手或書檔在那雙大眼睛前,此時 Scratch 貓咪就會說出大眼睛與手 (或書) 之間的距離了。
  3. 因為超音波為直線前進,所以 HC-SR04 也只能用來偵測雙眼前方障礙物的距離。而且如果障礙物面對 HC-SR04 的那面面積不夠大,有可能會因為反射訊號不夠而無法順利偵測。
Facebook 留言
Print Friendly, PDF & Email
Summary
WFduino + Scratch 3 + DiFi 使用超音波距離感測器 HC-SR04
Article Name
WFduino + Scratch 3 + DiFi 使用超音波距離感測器 HC-SR04
Description
HC-SR04 的外型很像一對大大的眼睛,這對眼睛可用來發射與接收超音波,以達到偵測與障礙物之間距離的目的。在這篇文章中,我們將實際了解如何在 WFduino/Scratch 3/DiFi 中使用 HC-SR04。
Author
Publisher Name
Everlearn Studio
Publisher Logo