HC-SR04超声波传感器模块

HC-SR04超声波传感器模块

参数

量程 2-400cm
VCC 模块供电5V
GND 接地
Trig 触发信号输入
Echo 回响信号输入

接线

Trig–2
Echo–3

代码

1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
float checkdistance_2_3() {
digitalWrite(2, LOW); //给Trig发送一个低电平
delayMicroseconds(2); //等待2微秒
digitalWrite(2, HIGH); //给Trig发送一个高电平
delayMicroseconds(10); //等待10微秒
digitalWrite(2, LOW); //给Trig发送一个低电平
float distance = pulseIn(3, HIGH) / 58.00; //检测脉冲信号宽度并换算成距离
delay(10);
return distance;
}

void setup(){
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, INPUT);
}

void loop(){
Serial.println(String(checkdistance_2_3()) + String("cm")); //显示距离和单位"cm"
delay(1000);

}

2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 设定SR04连接的Arduino引脚
const int TrigPin = 2;
const int EchoPin = 3;
float distance;

void setup()
{ // 初始化串口通信及连接SR04的引脚
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
// 要检测引脚上输入的脉冲宽度,需要先设置为输入状态
pinMode(EchoPin, INPUT);
Serial.println("Ultrasonic sensor:");
}

void loop()
{
// 产生一个10us的高脉冲去触发TrigPin
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
// 检测脉冲宽度,并计算出距离
distance = pulseIn(EchoPin, HIGH)/ 58.00;
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(1000);
}

功能

串口输出模块所测距离

参考

[1] pulseIn()-arduino.cn
[2] Mixly图形化编程控制Arduino—蓝牙模块-bilibili
[3] 【Arduino】168种传感器模块系列实验(58)-SR04超声波测距…-Arduino中文社区


HC-SR04超声波传感器模块
http://example.com/2023/01/14/Arduino-HC-SR04超声波传感器模块/
许可协议