2018年4月17日 星期二

HC-SRO4 超音波感測器

源自於
http://hammer1007.blogspot.tw/2017/12/esp82662-4hc-sro4.html

ESP8266教學2-4:HC-SRO4 超音波感測器

超音波感測器是常用於測量距離的感測器,最常見的是 HC-SRO4。
HC-SRO4 感測器簡介
超音波感測器是由超音波的發射器、接收器和控制電路所組成的。發射器 (Transmitter) 會發出 40 kHz 的聲波,由於這個聲波的頻率超過人類可聽見的 20 kHz,因此被稱為超音波,接收器 (Receiver) 可以接收超音波。HC-SRO4 可以感測的距離為 2cm 到 400cm,感應角度為 15 度。
超音波感測器測量距離的方法,是利用超音波碰到物體會反射的特性,計算發射與接收的時間差,來計算出距離。

安裝 HC-SRO4 程式庫
在 Arduino 整合環境功能表點選 草稿碼 / 匯入程式庫 / 管理程式庫。在右上方搜尋框輸入「HC-SR」,點選「Ultrasonic」,按「安裝」鈕開始安裝。
HC-SRO4 接線
下圖綠色線連接 nodemcu 板 D1 (GPIO5) 腳及 HC-SRO4 的「Trig」,黃色線連接 nodemcu 板 D2 (GPIO4) 腳及 HC-SRO4 的「Echo」。紅色線連接 nodemcu 板「5V」及 HC-SRO4 的「Vcc」,黑色線連接 nodemcu 板 「GND」腳及 HC-SRO4 的「Gnd」。
特別注意:HC-SRO4 的「Vcc」腳一定要接「5V」,若接「3V3」將無法測得距離資料。
HC-SRO4 感測器程式碼
1 #include <Ultrasonic.h>
2
3 #define TRIGGER 5  // NodeMCU D1 腳
4 #define ECHO    4  // NodeMCU D2 腳
5 Ultrasonic ultrasonic(TRIGGER, ECHO);
6
7 void setup() {
8   Serial.begin (9600);
9 }
10
11 void loop() {
12   Serial.print("Distance: ");
13   Serial.print(ultrasonic.distanceRead());  //讀取距離
14   Serial.println(" CM");
15   delay(2000);
16 }
第 1 列含入HC-SRO4 程式庫。
第 3-4 列設定 HC-SRO4 硬體接腳。
第 5 列建立HC-SRO4 程式庫物件。
第 13 列讀取 HC-SRO4 測量值。
第 15 列每2秒讀取及顯示一次
執行結果
執行後以手在不同距離置於 HC-SRO4 感測器兩個圓筒前方,可看到測量到不同距離數值。

沒有留言:

張貼留言