如何将HC-SR04连接到Arduino并编写一个简单的程序来测量距离

描述

一种流行的Arduino超声波传感器是HC-SR04。它广泛用于非接触式距离测量,通常用于机器人和自动化项目。本指南将向您展示如何将HC-SR04连接到Arduino并编写一个简单的程序来测量距离。

要求

Arduino的Uno(或兼容板)

HC-SR04超声波传感器

接线图

Arduino

分步指南

将HC-SR04的引脚连接到Arduino上的5V输出。VCC

将HC-SR04的引脚连接到Arduino上的一个GND引脚。GND

将引脚连接到Arduino上的数字引脚9。Trig

将引脚连接到Arduino上的数字引脚10。Echo

Arduino超声波示例代码

将以下代码复制并粘贴到ArduinoIDE中。该代码将触发超声波传感器发送脉冲,然后监听其回波,从而计算并打印距离。

// Define the Trig and Echo pin connections
const int trigPin = 9;
const int echoPin = 10;

// Define variables to store duration and distance
long duration;
int distance;

void setup() {
  // Start the serial communication
  Serial.begin(9600);
  
  // Define the Trig and Echo pins as Output and Input
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  // Clear the trigPin
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // Sets the trigPin HIGH for 10 microseconds
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Reads the echoPin, returns the sound wave travel time in microseconds
  duration = pulseIn(echoPin, HIGH);

  // Calculating the distance
  distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back)

  // Displays the distance on the Serial Monitor
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Delay 500 milliseconds before next measurement
  delay(500);
}

疑难解答提示

确保ArduinoIDE的串行监视器设置为相同的波特率(在本例中为9600)以查看输出。

确保trig和echo引脚已正确定义和连接。

如果传感器似乎不工作,请检查所有连接并验证您的Arduino板是否正常工作。

该传感器的工作原理

HC-SR04超声波传感器利用声纳原理测量距离。以下是其工作机制的简要说明:

触发超声波脉冲:传感器有一个发射器和一个接收器。当您触发脉冲(使用Trig引脚)时,发射器会发送一小段超声波。

声波传播:一旦超声波脉冲被发送,它就会在空气中传播,直到它击中物体并被反射回传感器。

接收回声:传感器的接收器部分(连接到Echo引脚)等待反射的声波返回。测量从发射脉冲到接收回波所需的时间。

计算距离:您可以根据声波返回所需的时间找到与物体的距离。由于空气中的声速约为每秒343米,因此您可以使用公式计算距离。(除以2,因为声波传播到物体然后再次返回,因此您只需要总传播时间的一半)。distance=(speedofsound*time)/2

此操作发生得非常快,并且可以快速连续重复,使传感器能够实时测量到前方最近物体的距离。
审核编辑:陈陈

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分