一种流行的Arduino超声波传感器是HC-SR04。它广泛用于非接触式距离测量,通常用于机器人和自动化项目。本指南将向您展示如何将HC-SR04连接到Arduino并编写一个简单的程序来测量距离。
要求
Arduino的Uno(或兼容板)
HC-SR04超声波传感器
接线图
分步指南
将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
此操作发生得非常快,并且可以快速连续重复,使传感器能够实时测量到前方最近物体的距离。
审核编辑:陈陈
全部0条评论
快来发表一下你的评论吧 !