超声波模块
May 24, 2023About 3 min
简介
超声波模块是一种常用的测距传感器,利用超声波的回波时间来计算距离。它广泛应用于测距、避障、无人机导航、智能车等领域。超声波模块由超声波发射器和接收器组成,通过发送超声波脉冲并接收回波信号,通过测量回波时间来确定目标物体与传感器的距离。
超声波模块工作原理是利用超声波在空气中传播的特性。它通过发送一个短脉冲的超声波信号,并等待接收到回波信号。根据发送和接收之间的时间差,可以计算出目标物体与传感器之间的距离。超声波模块具有高精度、快速响应和非接触测量的特点。
产品实拍
![](/assets/img/sensor/UltrasonicModule/UltrasonicModule1.png)
![](/assets/img/sensor/UltrasonicModule/UltrasonicModule2.png)
产品参数
- 工作电压:3.3V-5V
- 工作频率:40kHz
- 最大测距距离:250cm
- 输出信号:数字信号(脉冲宽度模式)
- 接口类型:PH2.0 4P
引脚说明
序号 | 引脚 | 描述 |
---|---|---|
1 | GND | 电源负极 |
2 | VCC | 电源正极 |
3 | Trig | 触发信号输入 |
4 | Echo | 回波信号输出 |
Arduino示例代码
以下示例代码演示了如何在Arduino上使用超声波模块进行距离测量。
const int trigPin = 2; // 设置触发引脚为D2
const int echoPin = 3; // 设置回波引脚为D3
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); // 将触发引脚置低电平
long duration = pulseIn(echoPin, HIGH); // 读取回波引脚的脉冲宽度
float distance = duration * 0.034 / 2; // 根据回波时间计算距离,单位为厘米
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(1000); // 延迟1秒钟
}
Micropython示例代码
以下示例代码演示了如何在Micropython环境下使用超声波模块进行距离测量。
python
Copy code
from machine import Pin, time_pulse_us
trig_pin = Pin(2, Pin.OUT) # 设置触发引脚为D2
echo_pin = Pin(3, Pin.IN) # 设置回波引脚为D3
while True:
trig_pin.low() # 将触发引脚置低电平
time.sleep_us(2)
trig_pin.high() # 将触发引脚置高电平
time.sleep_us(10)
trig_pin.low() # 将触发引脚置低电平
duration = time_pulse_us(echo_pin, 1) # 读取回波引脚的脉冲宽度
distance = duration * 0.034 / 2 # 根据回波时间计算距离,单位为厘米
print("Distance:", distance, "cm")
time.sleep(1) # 延迟1秒钟
结果
超声波模块是一种常用的测距传感器,通过发送超声波信号并测量回波时间来计算目标物体与传感器之间的距离。它具有高精度、快速响应和非接触测量的特点,广泛应用于各种项目中。通过使用适当的引脚连接和示例代码,你可以在Arduino或Micropython环境下轻松使用超声波模块进行测距操作。
疑难解答
更多问题及有趣的应用,请访问论坛 或加入QQ技术交流群:522420541