该模块具有四个接口分别为VCC,Trig,Echo,GND.其中VCC的工作电压为5v
参数表
电气参数 | HC-SR04 |
工作电压 | DC 3V~5V |
工作电流 | 5.3mA |
工作温度 | -40~80摄氏度 |
输出方式 | GPIO |
感应角度 | 15度 |
探测距离 | 2cm~600cm |
工作原理
当在Trig引脚输入一个10us的高电平信号,芯片会发出8个40Khz的超声波脉冲,然后检测回传的脉冲。检测到回传脉冲后通过echo引脚输出。通过计算echo引脚输出的高电平持续时间来计算距离。公式为S=(高电平持续时间*340m/s)/2.当距离超出范围时echo会发出持续66ms的高电平信号。
代码部分
代码引用
arduino-超声波测距_不一样的崽的博客-CSDN博客_arduino超声波测距
const int TrigPin = 2; //发出超声波
const int EchoPin = 3; //收到反射回来的超声波
float cm; //因为测得的距离是浮点型的
void setup()
{
Serial.begin(9600); //设置波特率
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2); // delayMicroseconds在更小的时间内延时准确
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW); //通过这里控制超声波的发射
cm = pulseIn(EchoPin, HIGH) / 58.0; //将回波时间换算成cm
cm = (int(cm * 100.0)) / 100.0; //保留两位小数
Serial.print("Distance:");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}