📜  Arduino-超声波传感器

📅  最后修改于: 2020-11-05 03:43:15             🧑  作者: Mango


HC-SR04超声波传感器像蝙蝠一样,使用SONAR来确定物体的距离。它使用2厘米至400厘米或1英寸至13英尺的易于使用的包装,提供了卓越的非接触范围检测,具有高精度和稳定的读数。

该操作不受阳光或黑色材料的影响,尽管在听觉上,柔软的材料(如布)可能难以检测到。它带有超声波发射器和接收器模块。

超声波传感器

超声波传感器辐射

技术指标

  • 电源-+ 5V DC
  • 静态电流-<2mA
  • 工作电流-15mA
  • 有效角度-<15°
  • 测距− 2cm – 400 cm / 1“ – 13ft
  • 分辨率-0.3厘米
  • 测量角度-30度

所需组件

您将需要以下组件-

  • 1×面包板
  • 1×Arduino Uno R3
  • 1×超声波传感器(HC-SR04)

程序

按照电路图进行连接,如下图所示。

超声波电路连接

草图

打开计算机上的Arduino IDE软件。使用Arduino语言进行编码将控制您的电路。通过单击“新建”打开一个新的草图文件。

草图

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-

  • 将&plus; 5V引脚连接到Arduino板上的&plus; 5v。
  • 将触发器连接到Arduino板上的数字引脚7。
  • 将Echo连接到Arduino板上的数字引脚6。
  • 在Arduino上将GND连接到GND。

在我们的程序中,我们已经通过串行端口显示了传感器测量的距离,以英寸和厘米为单位。

结果

您将在Arduino串行监视器上看到以英寸和厘米为单位的传感器测得的距离。