编写arduino超声波电子琴代码
时间: 2024-10-20 13:11:24 浏览: 76
Arduino超声波电子琴是一种基于超声波传感器和音乐控制原理的 DIY 项目,它可以将超声波信号转换成音阶,模拟出按键的声音。以下是一个简单的超声波电子琴的基本代码框架,使用了两个超声波传感器(如HC-SR04)配合Arduino Uno或其他兼容板。
```cpp
#include <Adafruit_Sensor.h>
#include <Adafruit_HCSR04.h>
// 定义超声波传感器实例
Adafruit_HCSR04 ultrasonicSensorA(9, 8); // A0和A1
Adafruit_HCSR04 ultrasonicSensorB(10, 11); // 这里假设B0连接到10,B1连接到11
void setup() {
Serial.begin(9600);
}
void loop() {
int distanceA = ultrasonicSensorA.distance();
int distanceB = ultrasonicSensorB.distance();
// 如果超声波传感器读数小于某个阈值,认为接近并产生音符
if (distanceA < 20 && distanceB < 20) { // 短距离代表接近
// 按照一定频率对应不同的音阶,这里简单示例:每个20cm对应一个八度
int note = map(distanceA, 0, 20, 60, 88); // C4到C5的范围
tone(9, note, 50); // 在第9号引脚(通常用于音频输出)播放音符,持续时间50ms
}
delay(100); // 控制扫描频率
}
```
阅读全文