超声波传感器arduino sr04 arduino 生成代码
时间: 2024-11-28 21:20:59 浏览: 26
超声波传感器,如SR04,常用于Arduino平台上测量物体的距离。它利用回声定位原理工作,通过发送超声波脉冲并接收反射回来的信号来计算距离。以下是使用Arduino和SR04模块的基本代码示例:
```c++
#include <SoftwareSerial.h> // 如果你的超声波模块使用的是软件模拟串口
// 定义硬件连接
const int trigPin = 9; // 发射信号的引脚
const int echoPin = 10; // 接收回声信号的引脚
SoftwareSerial ultrasonic(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 (digitalRead(echoPin) == LOW) {}
stopMillis = millis();
// 计算距离
duration = stopMillis - startMillis;
distance = duration * 0.034 / 2; // SR04的公式,单位为厘米
// 输出距离到串口
if (distance > 0 && distance <= 400) {
Serial.print("Distance: ");
Serial.println(distance, DEC);
}
// 暂停一段时间防止频繁测量
delay(50);
}
阅读全文