arduino超声波测距模块接线
时间: 2024-12-31 18:40:41 浏览: 16
### Arduino与超声波测距模块的接线方法
对于Arduino连接到URM37或HC-SR04这样的超声波测距模块,具体的接线方式取决于所使用的具体型号。然而,基本的原则保持一致。
#### URM37超声波测距模块接线说明
URM37超声波模块具备四个主要引脚:Vcc、GND、Trig以及Echo。为了使能测量过程,需将Arduino的一个数字输出引脚连接至Trig引脚,并发送一个持续时间不少于10微秒(μs)的高电平脉冲以启动测距操作[^1]。当传感器检测到障碍物反射回来的声音信号之后,它会通过设置Echo引脚为高电平来通知Arduino处理器;此时,Arduino可以读取这一状态并计算出往返所需的时间间隔从而得出目标物体的距离。
#### HC-SR04超声波测距模块接线指南
针对更常见的HC-SR04模型来说,同样存在类似的四条线路——电源正极(VCC)、接地(GND)、触发(Trigger, Trig)和回响(Echo)[^3]。这里的关键在于确保向Trig输入端施加至少10 μs以上的高电压脉冲以便激活设备发出8个周期的40 kHz方波形式的声呐脉冲。一旦这些脉冲遇到前方某个表面就会被反弹回去,而Echo则会在整个接收期间维持高电位直到完成全部数据采集工作为止。
#### 实际连线实例
下面给出了一种典型的硬件连接方案:
| **Arduino Uno** | **超声波模块 (如HC-SR04)** |
|-----|
| 5V | VCC |
| GND | GND |
| D9 (或其他任意可用数字I/O口)| TRIG |
| D10 (或其他任意可用数字I/O口)| ECHO |
请注意,在实际应用中可以根据个人需求调整用于控制TRIG/ECHO的具体针脚编号,只需保证它们之间一一对应即可。此外,某些情况下可能还需要额外考虑外部电路元件比如限流电阻等辅助组件的应用场景[^4]。
```cpp
#include <NewPing.h>
#define TRIGGER_PIN 9 // 连接到超声波模块的Trig引脚
#define ECHO_PIN 10 // 连接到超声波模块的Echo引脚
#define MAX_DISTANCE 200 // 定义最大可探测范围(单位:厘米)
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50); // 延迟一段时间等待稳定
unsigned int uS = sonar.ping(); // 发送ping命令获取返回值uS表示来回一次花费了多少微妙数
float cm = uS / US_ROUNDTRIP_CM; // 将得到的结果转换成厘米显示出来
Serial.print("Distance: ");
Serial.println(cm); // 打印当前测量所得距离数值
}
```
阅读全文