HC-SR04超声波传感器与Arduino测距教程


HC-SR04超声波传感器与Arduino测距教程

时间:2025-03-13  作者:Diven  阅读:0

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

要求

Arduino的Uno(或兼容板)

HC-SR04超声波传感器

接线图

1.png

分步指南

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

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

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

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

Arduino超声波示例代码

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

// Define the Trig and Echo pin connectionsconst int trigPin = 9;const int echoPin = 10;// Define variables to store duration and distancelong 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

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