arduino蜂鸣器音+超声波
时间: 2023-09-06 20:11:12 浏览: 46
您想让Arduino控制蜂鸣器发出音乐,并使用超声波传感器来控制它吗?以下是一些简单的代码示例,您可以根据您的需要进行修改:
```c++
#include <NewPing.h> // 超声波传感器库
#define TRIGGER_PIN 12 // 超声波传感器引脚
#define ECHO_PIN 11 // 超声波传感器引脚
#define MAX_DISTANCE 200 // 超声波传感器最大测量距离
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // 超声波传感器对象
int melody[] = { // 定义音乐的频率
262, 196, 196, 220, 196, 0, 247, 262
};
int noteDuration[] = { // 定义音符持续时间
300, 300, 300, 300, 300, 300, 600, 600
};
void setup() {
pinMode(8, OUTPUT); // 将蜂鸣器引脚设置为输出
}
void loop() {
delay(50);
unsigned int distance = sonar.ping_cm(); // 获取距离(以厘米为单位)
if (distance <= 10) { // 如果距离小于或等于10厘米
for (int i = 0; i < 8; i++) {
tone(8, melody[i], noteDuration[i]); // 发出音乐
delay(noteDuration[i] + 20); // 稍微暂停一下,以便下一次音符
}
}
}
```
这段代码使用NewPing库来读取超声波传感器的距离,并在距离小于或等于10厘米时发出音乐。您可以根据需要更改距离阈值和音乐。注意,您需要将蜂鸣器连接到Arduino的8号引脚。