HC-SR04超声波测距模块的测试

HC-SR04超声波测距模块的接口定义

hc-sr04

HC-SR04超声波测距模块的数据接口如上图,与Arduino uno的接口连接方法:VCC接+5V,GND接地,Trig接数字I/O接口5(也可以是其它),Echo接数字I/O接口4(也可以是其它)。然后打开arduino IDE 上传代码:

hc-sr04-code

HC-SR04的测试程序

int inputPin=4; // define ultrasonic signal receiver pin ECHO to D4
int outputPin=5; // define ultrasonic signal transmitter pin TRIG to D5
void setup()
{
Serial.begin(9600);
pinMode(inputPin, INPUT);
pinMode(outputPin, OUTPUT);
}
void loop()
{
digitalWrite(outputPin, LOW);
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // Pulse for 10μs to trigger ultrasonic detection
delayMicroseconds(10);
digitalWrite(outputPin, LOW);
int distance = pulseIn(inputPin, HIGH); // Read receiver pulse time
distance= distance/58; // Transform pulse time to distance
Serial.println(distance); //Ourput distance
delay(500);
}

HC-SR04的测试结果

hc-sr04测试输出

HC-SR04超声波测距模块的工作原理

hc-sr04的工作原理

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

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

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

(4)回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。

分享到:

标签:

发表评论