hcsr04超声波传感器代码
时间: 2024-11-07 17:11:14 浏览: 1
带有HC-SR04的超声波传感器阵列,原理图和源码-电路方案
5星 · 资源好评率100%
HCSR04超声波传感器通常用于测量物体的距离。在编写Arduino或其他微控制器平台的代码时,会用到脉冲宽度调制(PWM)信号发送和接收超声波反射的时间差计算距离。以下是一个简单的Arduino示例代码:
```c++
#include <SoftwareSerial.h>
#define TRIGGER_PIN 9 // 发射信号的pin
#define ECHO_PIN 10 // 接收回波信号的pin
SoftwareSerial ultrasonic(SERIAL1, 11); // 创建软件串口
void setup() {
Serial.begin(9600);
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
digitalWrite(TRIGGER_PIN, LOW); // 短暂低电平触发发射
delayMicroseconds(2); // 间隔时间(通常是40us)
digitalWrite(TRIGGER_PIN, HIGH); // 瞬间高电平停止发射
delayMicroseconds(10); // 持续时间(通常是10us)
digitalWrite(TRIGGER_PIN, LOW); // 再次低电平恢复接收
unsigned long duration = pulseIn(ECHO_PIN, HIGH); // 测量接收到回波的时间
float distance = duration * 0.034 / 2; // 根据公式计算距离(假设声速343m/s)
if (distance > 0 && distance <= 400) { // 距离范围限制,避免误差
Serial.println(distance);
} else {
Serial.println("Invalid measurement");
}
delay(500); // 控制扫描频率,太频繁可能导致干扰
}
```
这个代码片段首先初始化硬件,然后在循环中持续发射超声波并监听回音。通过测量从触发到接收到回波的时间,然后转换为实际距离。请注意,这只是一个基础示例,实际应用可能需要考虑噪声过滤和其他优化。
阅读全文