原创 HC-SR04的原理,机械结构,和驱动代码

2023-10-6 08:29 849 4 4 分类: 物联网 文集: 学习分享

HC-SR04是一种超声波测距模块,其工作原理如下:

  1. 采用IO口TRIG触发测距,给至少10us的高电平信号。
  2. 模块自动发送8个40kHz的方波,自动检测是否有信号返回。
  3. 有信号返回时,通过IO口ECHO输出一个高电平信号,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340m/s))/2。

HC-SR04的机械结构包括超声波发射器、接收器与控制电路。它采用一体化设计,可以直接连接到单片机或嵌入式系统的IO口上。

以下是使用Arduino驱动HC-SR04的示例代码:

arduino复制代码
// 定义HC-SR04的IO口
#define TRIGGER_PIN 2
#define ECHO_PIN 3
void setup() {
// 初始化IO口
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
// 发送超声波信号
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
// 接收超声波回传信号并计算距离
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = (duration * 0.034) / 2;
// 输出距离信息
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 延时一段时间再进行下一次测距
delay(500);
}

需要注意的是,在使用HC-SR04时,应尽可能避免超声波发射器与接收器之间的障碍物,以保证测距的准确性。同时,也要注意HC-SR04的测距范围和精度等参数,以选择合适的超声波测距模块。

作者: 丙丁先生, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3996156.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条