在本教學中,將使用Ultra Sonic HC-SR04和Arduino(Arduino UNO)構建物聯網專案,以計算Ultra Sonic HC-SR04裝置與物體之間的距離。在這個專案中,我們將使用Processing應用程式在Laptop(監視器)螢幕上顯示Ultra Sonic裝置和物件之間的距離。
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顯示屏中顯示該物體的距離。