综合技术交流
直播中

ss

7年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[经验]

迷你特雷门琴威廉希尔官方网站 连接图及源程序

  1、将手靠近超声波传感器,来回移动手与超声波传感器的距离,迷你特雷门琴会随着手与距离的远近演奏出不同频率的声音。距离设定在10厘米到60厘米之间。
  2、通过代码的转换可以实现单音阶演奏或特雷门琴模式演奏。


  • /*
  • IDE 版本:1.6.5
  • 功能:利用SR04超声波传感器进行测距,通过反馈的距离演奏对应的音阶
  • */
  • // 设定SR04连接的Arduino引脚和扬声器输出引脚
  • const int TrigPin = 2;
  • const int EchoPin = 3;
  • float distance;
  • const int speakerPin = 8;//扬声器连接8脚
  • void setup()
  • {   // 初始化串口通信及连接SR04的引脚
  •         Serial.begin(9600);
  •         pinMode(TrigPin, OUTPUT);
  •     // 要检测引脚上输入的脉冲宽度,需要先设置为输入状态
  •         pinMode(EchoPin, INPUT);
  •         Serial.println("Ultrasonic sensor:");
  •                 PinMode (led,OUTPUT);
  • }
  • void loop()
  • {
  •     // 产生一个10us的高脉冲去触发TrigPin
  •                 digitalWrite(TrigPin, LOW);
  •         delayMicroseconds(2);
  •         digitalWrite(TrigPin, HIGH);
  •         delayMicroseconds(10);
  •         digitalWrite(TrigPin, LOW);
  •     // 检测脉冲宽度,并计算出距离
  •         int a = pulseIn(EchoPin, HIGH);
  •         distance = a / 58.00;
  •          Serial.print(distance);
  •          Serial.print("cm");
  •          Serial.println();
  •          Serial.print(a);
  •          Serial.println();
  •                 //特雷门琴演奏模式
  •                 if (distance<61)
  •                 {
  •                  int m = map (distance,11,59,659,1661);
  •                 tone ( speakerPin,m);
  •                 }
  •                 delay (500);
  •                 noTone(8);
  • }

更多回帖

发帖
×
20
完善资料,
赚取积分