在本教學中,將使用Ultra Sonic HC-SR04和Arduino(Arduino UNO)構建物聯網專案,以計算Ultra Sonic HC-SR04設備與物體之間的距離。在這個專案中,我們將使用Processing應用程式在Laptop(監視器)螢幕上顯示Ultra Sonic設備和對象之間的距離。
硬體要求
- Arduino的UNO主板
- Arduino UNO的USB電纜連接器
- Ultra Sonic HC-SR04
- 跳線電線(公母)
軟體要求
- Arduino軟體
- Processing軟體
Arduino-Bluetooth模組的工作原理
Ultra Sonic HC-SR04以40,000Hz的頻率發射超聲波,在空中傳播。如果路徑中有物體或障礙物,則它會碰撞並反彈回Ultra Sonic模組。
公式距離 =速度 * 時間用於計算距離。
假設物體放置在離感測器10釐米的距離處,空氣中的聲速為340米/秒或0.034
釐米/秒。這意味著聲波需要在294μs內傳播。但是Echo引腳加倍了距離(向前和反彈距離)。因此,要獲得以cm為單位的距離,將接收到的行程時間值與echo引腳相乘0.034
並將除以2
。
Ultra Sonic HC-SR04與物體之間的距離是:
對於Arduino設備的編程,它需要Arduino軟體IDE。下載和安裝Arduino軟體IDE的完整過程在使用WiFi節點MCU和中繼模組的鏈路控制家庭燈光下給出。
打開Arduino IDE並粘貼以下代碼。
#include <Mouse.h>
const int trigpin= 8;
const int echopin= 7;
long duration;
int distance;
void setup(){
pinMode(trigpin,OUTPUT);
pinMode(echopin,INPUT);
Serial.begin(9600);
}
void loop(){
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
duration=pulseIn(echopin,HIGH);
distance = duration*0.034/2;
Serial.println(distance);
}
保存程式並進行編譯。
通過Arduino UNO USB線將Arduino設備連接到筆記本電腦(或顯示器)。在Arduino UNO上傳程式時,刪除Arduino UNO設備(如:超聲波模組)的所有其他連接。
上傳Arduino UNO設備中的代碼。在Arduino UNO設備上傳代碼之前,請確保選擇了Arduino串口,否則會生成錯誤消息未選擇串口。
要選擇串行端口,請打開“設備管理器”->“端口”->“Arduino Uno”,然後上傳代碼。
在Arduino設備上傳程式 -
數字電路圖
Ultrasonic Sensor HC-SR04 Arduino UNO
VCC --------------------------------> 5v
Trig --------------------------------> Pin 8
Echo --------------------------------> Pin 7
GND --------------------------------> GND
現在從 https://processing.org/download/ 下載處理應用程式。
按照說明安裝Processing應用程式。
將以下代碼粘貼到Processing IDE中並運行它。Processing IDE顯示Ultra Sonic模組和對象之間的距離。
import processing.serial.*;
Serial myPort;
String data="" ;
PFont myFont;
void setup(){
size(1366,900); // size of processing window
background(0);// setting background color to black
myPort = new Serial(this, "COM3", 9600);
myPort.bufferUntil("\n");
}
void draw(){
background(0);
textAlign(CENTER);
fill(255);
text(data,820,400);
textSize(100);
fill(#4B5DCE);
text(" Distance : cm",450,400);
noFill();
stroke(#4B5DCE);
}
void serialEvent(Serial myPort){
data=myPort.readStringUntil("\n");
}
最開始,顯示將0
表示無活動。
現在,連接您的Ultrasonic HC-SR04模組和Arduino設備。使用Arduino USB電纜或220v AC適配器為Arduino設備輸入電源。
將物體放在Ultrasonic HC-SR04模組前面,並在Processing IDE顯示幕中顯示該物體的距離。