Arduino 超聲波傳感器

2018-11-21 17:30 更新

HC-SR04超聲波傳感器使用聲納來確定物體的距離,就像蝙蝠一樣。它提供了非常好的非接觸范圍檢測,準確度高,讀數(shù)穩(wěn)定,易于使用,尺寸從2厘米到400厘米或1英寸到13英尺不等。

其操作不受陽光或黑色材料的影響,盡管在聲學(xué)上,柔軟的材料(如布料等)可能難以檢測到。它配有超聲波發(fā)射器和接收器模塊。

超聲波傳感器

超聲波

技術(shù)規(guī)格

電源 - + 5V DC
靜態(tài)電流 - <2mA
工作電流 - 15mA
有效角度 - <15°
測距距離 - 2厘米-400厘米/1英寸-13英尺
分辨率 - 0.3厘米
測量角度 - 30度

必需的組件

你將需要以下組件:

  • 1 × Breadboard 面包板
  • 1 × Arduino Uno R3
  • 1 × 超聲波傳感器(HC-SR04)

程序

按照電路圖進行連接,如下圖所示。

電路圖

草圖

在計算機上打開Arduino IDE軟件。使用Arduino語言進行編碼控制你的電路。通過單擊“New”打開一個新的草圖文件。

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,Trigger,Echo和GND,連接如下:

  • 將+5V引腳連接到Arduino板上的+5v。
  • 將Trigger連接到Arduino板上的數(shù)字引腳7。
  • 將Echo連接到Arduino板上的數(shù)字引腳6。
  • 將GND連接到Arduino上的GND。

在我們的程序中,我們通過串口顯示了傳感器測量的距離,單位為英寸和厘米。

結(jié)果

你將在Arduino串口監(jiān)視器上看到傳感器測量的距離,單位為英寸和厘米。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號