arduino 超声波测距代码
时间: 2024-07-16 19:00:35 浏览: 93
Arduino超声波测距模块(如HC-SR04)通常用于非接触式测量物体的距离,这是一种常见的物联网(IoT)传感器应用。以下是一个基本的Arduino Uno或类似板子上使用超声波测距器的测距代码示例:
```c++
#include <SoftwareSerial.h> // 如果你的传感器连接到串口扩展
#define trigPin 9 // Trig引脚(通常为蓝色)
#define echoPin 10 // Echo引脚(通常为黄色)
// 初始化软件串口
SoftwareSerial ultrasonic(9, 10); // 假设你的传感器连接到9和10引脚
void setup() {
Serial.begin(9600); // 打开串口通信
ultrasonic.begin(9600); // 初始化超声波模块
}
void loop() {
long duration, distance; // 定义距离变量
// 发送触发脉冲
digitalWrite(trigPin, LOW);
delayMicroseconds(2); // 等待触发脉冲低电平
digitalWrite(trigPin, HIGH);
delayMicroseconds(10); // 等待触发脉冲高电平
digitalWrite(trigPin, LOW); // 结束触发
// 接收回波信号并计算持续时间
startMillis = millis(); // 记录当前时间
while (ultrasonic.available() == 0); // 等待超声波接收到回波
stopMillis = millis(); // 记录停止时间
duration = stopMillis - startMillis; // 计算持续时间(/2因声波来回)
distance = duration / 58; // 使用公式:距离(cm)= 时间(us)* 0.034 / 2
// 将距离转换为合适的单位并打印
if (distance > 0) {
distance = round(distance);
Serial.print("Distance: ");
Serial.println(distance, DEC); // 单位通常是厘米
} else {
Serial.println("Error: No distance detected.");
}
// 如果有相关问题: