问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

HC-SR04 超声波传感器使用教程

创作时间:
作者:
@小白创作中心

HC-SR04 超声波传感器使用教程

引用
1
来源
1.
https://spotpear.cn/index/study/detail/id/624.html

超声波传感器是一种常用的测距传感器,广泛应用于机器人、自动化设备等领域。本文将详细介绍HC-SR04超声波传感器的使用方法,包括其工作原理、电路连接和Arduino编程示例。

传感器简介

超声波传感器适用于对大幅的平面进行静止测距。普通的超声波传感器测距范围大概是2cm-450cm,分辨率3mm。个人实测比较稳定的距离在10cm-2m左右,超过此距离就经常有偶然不准确的情况发生。

引脚说明

测试对象是SRF-04超声波传感器,有四个脚:

  • 5v电源脚(Vcc)
  • 触发控制端(Trig)
  • 接收端(Echo)
  • 地端(GND)

模块使用方法

使用本模块,占用单片机的两个IO口,一个IO口做为触发端,一个IO口做为回波PWM信号捕捉引脚。写程序时,先在TXD引脚端为8个40K周期电平,程序处理变换成一个PWM的信号从RXD引脚输出,一旦检测到有回波信号则输出回响信号,供我们方便使用。我们使用时,只需读出的低电平时间(T)。回响信号是一个脉冲的宽度成正比的距离对象。可通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式: uS/58=厘米或者uS/148=英寸。也可以通过声波在空气中传播公式L=340T/2。就可以求出L(测量的距离)。如果没有检测到回响信号,模块回响信号脚将输出约140uS的电平,以防止发射信号对回响信号的影响。

模块工作原理

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

电路连接方法

Arduino程序例子:

const int TrigPin = 2;
const int EchoPin = 3;
float cm;

void setup() {
  Serial.begin(9600);
  pinMode(TrigPin, OUTPUT);
  pinMode(EchoPin, INPUT);
}

void loop() {
  digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);
  cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
  cm = (int(cm * 100.0)) / 100.0; //保留两位小数
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  delay(1000);
}

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号