1. 首页
  2. 课程学习
  3. 嵌入式
  4. Arduino应用_Arduino连接超声波传感器测距

Arduino应用_Arduino连接超声波传感器测距

上传者: 2022-10-16 07:44:00上传 RAR文件 182.039 KB 热度 23次

超声波传感器适用于对大幅的平面进行静止测距。普通的超声波传感器测距范围大概是 2cm~450cm,分辨率3mm(淘宝卖家说的,笔者测试环境没那么好,个人实测比较稳定的 距离10cm~2m 左右,超过此距离就经常有偶然不准确的情况发生了,当然不排除笔者技术 问题。)

测试对象是淘宝上面最便宜的SRF-04 超声波传感器,有四个脚:5v 电源脚(Vcc),触发控制端(Trig),接收端(Echo),地端(GND)

附:SRF 系列超声波传感器参数比较

 

模块工作原理:

采用IO 触发测距,给至少10us 的高电平信号;

模块自动发送8个40KHz 的方波,自动检测是否有信号返回;

有信号返回,通过IO 输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340m/s))/2;

电路连接方法

 

Arduino 程序例子:

constintTrigPin = 2;

constintEchoPin = 3;

floatcm;

voidsetup()

{

Serial.begin(9600);

pinMode(TrigPin, OUTPUT);

pinMode(EchoPin, INPUT);

}

voidloop()

{

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);

}

下载地址
用户评论