arduino 多个超声波加蜂鸣器代码
时间: 2023-07-02 13:03:50 浏览: 163
stm32单片机 超声波+蜂鸣器+led 代码
下面是一个使用Arduino连接多个超声波传感器和蜂鸣器的示例代码:
```
// 定义超声波信号引脚
#define trigPin1 2
#define echoPin1 3
#define trigPin2 4
#define echoPin2 5
// 定义蜂鸣器引脚
#define buzzerPin 6
// 定义超声波模块变量
long duration1, distance1;
long duration2, distance2;
void setup() {
// 初始化串口
Serial.begin(9600);
// 初始化超声波信号引脚
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
// 初始化蜂鸣器引脚
pinMode(buzzerPin, OUTPUT);
}
void loop() {
// 发送超声波信号1
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
// 接收超声波信号1
duration1 = pulseIn(echoPin1, HIGH);
distance1 = duration1 * 0.034 / 2;
// 发送超声波信号2
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
// 接收超声波信号2
duration2 = pulseIn(echoPin2, HIGH);
distance2 = duration2 * 0.034 / 2;
// 检查距离是否小于10厘米
if (distance1 < 10 || distance2 < 10) {
// 发出蜂鸣声
digitalWrite(buzzerPin, HIGH);
delay(1000);
digitalWrite(buzzerPin, LOW);
}
// 输出距离
Serial.print("Distance1: ");
Serial.print(distance1);
Serial.print("cm");
Serial.print(" Distance2: ");
Serial.print(distance2);
Serial.println("cm");
// 等待500毫秒
delay(500);
}
```
需要注意的是,每个超声波传感器都需要有一个触发引脚和一个回声引脚。在上面的代码中,我们使用了两个超声波传感器,因此定义了`trigPin1`、`echoPin1`、`trigPin2`和`echoPin2`四个引脚。同时,我们也需要一个蜂鸣器引脚,这里定义了`buzzerPin`引脚。
在`setup()`函数中,我们首先初始化了串口,然后初始化了超声波信号引脚和蜂鸣器引脚。
在`loop()`函数中,我们先发送第一个超声波信号,然后接收回声信号,并计算距离。然后发送第二个超声波信号,接收回声信号并计算距离。接着,我们检查距离是否小于10厘米,如果是,就发出蜂鸣声。最后,我们输出两个超声波传感器的距离,并等待500毫秒。
阅读全文