Arduino - 超聲波感測器



HC-SR04 超聲波感測器使用聲納來確定物體的距離,就像蝙蝠一樣。它提供出色的非接觸式測距功能,具有高精度和穩定的讀數,易於使用,測距範圍從 2 釐米到 400 釐米或 1 英寸到 13 英尺。

其工作不受陽光或黑色材料的影響,儘管在聲學上,柔軟的材料(如布料)可能難以檢測。它配備了超聲波發射器和接收器模組。

Ultrasonic Sensor

Ultrasonic Sensor Radiations

技術規格

  • 電源 - +5V 直流
  • 靜態電流 - <2mA
  • 工作電流 - 15mA
  • 有效角度 - <15°
  • 測距範圍 - 2cm – 400 cm/1″ – 13ft
  • 解析度 - 0.3 cm
  • 測量角度 - 30 度

所需元件

您將需要以下元件 -

  • 1 × 麵包板
  • 1 × Arduino Uno R3
  • 1 × 超聲波感測器 (HC-SR04)

步驟

按照電路圖,並按照下圖所示進行連線。

Ultrasonic Circuit Connection

草圖

在您的電腦上開啟 Arduino IDE 軟體。使用 Arduino 語言進行編碼將控制您的電路。透過點選新建開啟一個新的草圖檔案。

Sketch

Arduino 程式碼

const int pingPin = 7; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 6; // Echo Pin of Ultrasonic Sensor

void setup() {
   Serial.begin(9600); // Starting Serial Terminal
}

void loop() {
   long duration, inches, cm;
   pinMode(pingPin, OUTPUT);
   digitalWrite(pingPin, LOW);
   delayMicroseconds(2);
   digitalWrite(pingPin, HIGH);
   delayMicroseconds(10);
   digitalWrite(pingPin, LOW);
   pinMode(echoPin, INPUT);
   duration = pulseIn(echoPin, HIGH);
   inches = microsecondsToInches(duration);
   cm = microsecondsToCentimeters(duration);
   Serial.print(inches);
   Serial.print("in, ");
   Serial.print(cm);
   Serial.print("cm");
   Serial.println();
   delay(100);
}

long microsecondsToInches(long microseconds) {
   return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) {
   return microseconds / 29 / 2;
}

程式碼說明

超聲波感測器有四個引腳 - +5V、觸發、回波和 GND,連線方式如下 -

  • 將 +5V 引腳連線到 Arduino 開發板上的 +5v。
  • 將觸發引腳連線到 Arduino 開發板上的數字引腳 7。
  • 將回波引腳連線到 Arduino 開發板上的數字引腳 6。
  • 將 GND 連線到 Arduino 上的 GND。

在我們的程式中,我們透過序列埠顯示了感測器測量的距離(英寸和釐米)。

結果

您將在 Arduino 序列埠監視器上看到感測器測量的距離(英寸和釐米)。

廣告