超声波模块

来自YFRobotwiki
2017年8月31日 (四) 14:46Allblue讨论 | 贡献的版本

跳转至: 导航搜索
超声波模块


产品简介


超声波模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。

注意:

1、此模块不宜带电连接,若要带电连接,则先让模块的 GND端先连接,否则会影响模块的正常工作。

2、测距时,被测物体的面积不少于 0.5平方米且平面尽量要求平整,否则影响测量的结果



工作原理


  • 采用IO 口TRIG 触发测距,给最少10us 的高电平信呈。
  • 模块自动发送8 个40khz 的方波,自动检测是否有信号返回;
  • 有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

公式

  • uS/58=厘米
  • uS/148=英寸
  • 测试距离=(高电平时间*声速(340M/S))/2;


超声波模块时序图

超声波模块时序图.png



规格参数


  • 供电电压:DC5V
  • 静态电流:小于2mA
  • 工作频率:40kHz
  • 感应角度:<15度
  • 探测距离:2cm-400cm
  • 精度:3mm
  • 安装孔径:2MM
  • 模块尺寸:45*27*18MM(长*宽*高,包含排针)
  • 安装孔间距:40mm、15mm
  • 模块重量:7.3g


引脚说明


  • 1. VCC -- 电源
  • 2. Trig -- 触发信号输入
  • 3. Echo -- 回响信号输出
  • 4. GND -- 地


应用示例


电路连接

超声波模块 Arduino UNO
VCC +5V
Trig A2
Echo A3
GND GND


示意图


示例代码

//HC_SR04 Test

const int TrigPin = A2;
const int EchoPin = A3;
float cm;

void setup()
{
  Serial.begin(9600);
  pinMode(TrigPin, OUTPUT);
  pinMode(EchoPin, INPUT);
}
void loop()
{
  digitalWrite(TrigPin, LOW); 
  delayMicroseconds(2);
  digitalWrite(TrigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(TrigPin, LOW);

  cm = pulseIn(EchoPin, HIGH) / 58.0;   //echo time conversion into a distance
  cm = (int(cm * 100.0)) / 100.0;       //keep two decimal places
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  delay(1000);
}

程序下载地址:HC_SR04_Test

程序运行结果:超声波对着墙,测出实时距离,结果如图:

超声波测试结果图



参考资料





返回首页

更多建议和问题欢迎反馈至 YFRobot论坛

购买方式:YFRobot 电子工作室