两路超声波测速代码
时间: 2023-07-02 15:04:05 浏览: 90
以下是两路超声波测速的Arduino代码示例:
```C++
const int trigPin1 = 2; // 第一路超声波模块的 trig 引脚
const int echoPin1 = 3; // 第一路超声波模块的 echo 引脚
const int trigPin2 = 4; // 第二路超声波模块的 trig 引脚
const int echoPin2 = 5; // 第二路超声波模块的 echo 引脚
void setup() {
Serial.begin(9600);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
}
void loop() {
long duration1, duration2;
float distance1, distance2;
// 第一路超声波模块测距
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = duration1 * 0.034 / 2;
// 第二路超声波模块测距
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = duration2 * 0.034 / 2;
// 输出两路超声波模块测得的距离
Serial.print("Distance1: ");
Serial.print(distance1);
Serial.print(" cm\t");
Serial.print("Distance2: ");
Serial.print(distance2);
Serial.println(" cm");
delay(500);
}
```
需要注意的是,两路超声波测速的原理是通过同时发射两个超声波信号,分别接收它们的回波并计算出距离,从而得到物体的速度。具体的速度计算需要根据你的具体应用场景进行设计。
阅读全文