原理
- 通过 IO 发送至少 10 us 的高电平信号;
- 模块自动发送 8 个 40 KHz 的方波,自动检测是否有信号返回;
- 当信号返回时,通过 IO 输出高电平,持续的时间就是超声波发射到返回的时间。距离 = ( 高电平时间 x 声速 ) / 2.
接线
SR04 | Arduino |
---|---|
TRIG | D13 |
ECHO | D11 |
示例代码
下载库文件:SR04 库
将库文件下载解压并拷贝至 Arduino IDE 安装目录下 libraries
文件夹中。
//Author: YX Lin @ yxrct.com
//IDE: 1.8.5
//Date: 2019-3-26
//Function: 超声波测距,串口显示距离
#include <SR04.h>
#define TRIG_pin 13
#define ECHO_pin 11
SR04 my_SR04 = SR04(ECHO_pin, TRIG_pin); // 创建对象
long distance; // 用于储存距离的变量
void setup() {
Serial.begin(9600);
delay(1000); // 适当延时使初始化
}
void loop() {
distance = my_SR04.Distance();
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
网友评论