“超声波模块”的版本间的差异
来自YFRobotwiki
(未显示2个用户的16个中间版本) | |||
第28行: | 第28行: | ||
*测试距离=(高电平时间*声速(340M/S))/2; | *测试距离=(高电平时间*声速(340M/S))/2; | ||
<br> | <br> | ||
+ | '''超声波模块时序图''' | ||
+ | <br> | ||
+ | [[Image:超声波模块时序图.png|600px]] | ||
<br> | <br> | ||
− | |||
− | |||
第82行: | 第83行: | ||
'''示意图''' | '''示意图''' | ||
<br> | <br> | ||
− | < | + | <img src="http://yfrobot.gitee.io/wiki/img/ 超声波 测距.png" alt=" 超声波" /> |
第88行: | 第89行: | ||
'''示例代码''' | '''示例代码''' | ||
<br> | <br> | ||
− | < | + | <source lang="c"> |
− | // | + | //HC_SR04 Test |
− | + | const int TrigPin = A2; | |
− | + | const int EchoPin = A3; | |
+ | float cm; | ||
− | void setup() { | + | void setup() |
− | pinMode( | + | { |
+ | Serial.begin(9600); | ||
+ | pinMode(TrigPin, OUTPUT); | ||
+ | pinMode(EchoPin, INPUT); | ||
} | } | ||
− | |||
void loop() | 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); | ||
} | } | ||
− | </ | + | </source> |
− | 程序下载地址:[ | + | 程序下载地址:[https://eyun.baidu.com/s/3jHDcxYu HC_SR04_Test] |
− | + | ||
− | + | ||
− | + | ||
+ | 程序运行结果:超声波对着墙,测出实时距离,结果如图: | ||
+ | <br> | ||
+ | <br> | ||
+ | [[Image: 超声波测试结果图.png|400px|center|超声波测试结果图]] | ||
+ | <br> | ||
===参考资料=== | ===参考资料=== | ||
<br> | <br> | ||
− | * [ | + | * [https://eyun.baidu.com/s/3mhYCSWS 超声波模块参考手册] |
− | + | * [https://eyun.baidu.com/s/3hrRtCeK 超声波模块原理图] | |
− | * [ | + | |
− | + | ||
− | + | ||
2023年4月6日 (四) 11:07的最后版本
产品简介
超声波模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。
注意:
1、此模块不宜带电连接,若要带电连接,则先让模块的 GND端先连接,否则会影响模块的正常工作。
2、测距时,被测物体的面积不少于 0.5平方米且平面尽量要求平整,否则影响测量的结果
工作原理
- 采用IO 口TRIG 触发测距,给最少10us 的高电平信呈。
- 模块自动发送8 个40khz 的方波,自动检测是否有信号返回;
- 有信号返回,通过IO 口ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
公式
- uS/58=厘米
- uS/148=英寸
- 测试距离=(高电平时间*声速(340M/S))/2;
规格参数
- 供电电压: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 电子工作室