请写出arduino中用超声波传感器探测距离,如检测到距离为15cm内则有源蜂鸣器鸣叫接着LED也一起闪烁
时间: 2024-02-01 21:16:23 浏览: 113
下面是一个示例代码,可以实现超声波传感器探测距离,并根据距离控制有源蜂鸣器和LED的闪烁:
```
// 定义超声波传感器引脚
const int trigPin = 9;
const int echoPin = 10;
// 定义有源蜂鸣器和LED引脚
const int buzzerPin = 6;
const int ledPin = 7;
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 设置超声波传感器引脚为输出和输入
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// 设置有源蜂鸣器和LED引脚为输出
pinMode(buzzerPin, OUTPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
// 发送超声波信号
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 接收超声波信号并计算距离
long duration = pulseIn(echoPin, HIGH);
float distance = duration * 0.034 / 2;
// 输出距离到串口
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 根据距离控制有源蜂鸣器和LED
if (distance < 15) {
digitalWrite(buzzerPin, HIGH);
digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
delay(100);
} else {
digitalWrite(buzzerPin, LOW);
digitalWrite(ledPin, LOW);
}
// 等待一段时间后再次检测距离
delay(100);
}
```
需要注意的是,上述代码中使用的是HC-SR04型号的超声波传感器,如果使用其他型号的传感器,可能需要对代码进行适当修改。此外,还需要将超声波传感器正确连接到Arduino的引脚上,具体连接方式可以参考传感器的数据手册。
阅读全文