咸鱼+水=活 发表于 2013-1-31 18:49:51

蜂鸣器you raise me up

ARDUINO代码:

int buzzer=7;
int i;
void BDO(void)
{
  for(i=0;i<250;i++)//bdo 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822*2);
  }
}
void BRE(void)
{
  for(i=0;i<250;i++)//bre 2
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1700.683479*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1700.683479*2);
  }
}
void BMI(void)
{
  for(i=0;i<250;i++)//bmi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598*2);
  }
}
void BFA(void)
{
  for(i=0;i<250;i++)//bfa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204*2);
  }
}
void BSO(void)
{
  for(i=0;i<250;i++)//bso 5
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1270.363267*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1270.363267*2);
  }
}
void BLA(void)
{
  for(i=0;i<250;i++)//bla 6
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1130.471456*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1130.471456*2);
  }
}
void BSI(void)
{
  for(i=0;i<250;i++)//bsi 7
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1005.979477*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1005.979477*2);
  }
}
//BASS OCTAVE//
void DO(void)
{
  for(i=0;i<250;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822);
  }
}
void RE(void)
{
  for(i=0;i<250;i++)//re 2
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1700.683479);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1700.683479);
  }
}
void MI(void)
{
  for(i=0;i<250;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
}
void FA(void)
{
  for(i=0;i<250;i++)//fa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204);
  }
}
void SO(void)
{
  for(i=0;i<250;i++)//so 5
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1270.363267);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1270.363267);
  }
}
void LA(void)
{
  for(i=0;i<250;i++)//la 6
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1130.471456);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1130.471456);
  }
}
void SI(void)
{
  for(i=0;i<250;i++)//si 7
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1005.979477);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1005.979477);
  }
}
//OCTAVE//
void HDO(void)
{
  for(i=0;i<250;i++)//hdo 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
}
void HRE(void)
{
  for(i=0;i<250;i++)//hre 2
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1700.683479/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1700.683479/2);
  }
}
void HMI(void)
{
  for(i=0;i<250;i++)//hmi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598/2);
  }
}
void HFA(void)
{
  for(i=0;i<250;i++)//hfa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204/2);
  }
}
void HSO(void)
{
  for(i=0;i<250;i++)//hso 5
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1270.363267/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1270.363267/2);
  }
}
void HLA(void)
{
  for(i=0;i<250;i++)//hla 6
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1130.471456/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1130.471456/2);
  }
}
void HSI(void)
{
  for(i=0;i<250;i++)//hsi 7
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1005.979477/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1005.979477/2);
  }
}
//HIGH OCTAVE//
void setup()

  pinMode(buzzer,OUTPUT);
}
void loop()
{   
  BSO();
  for(i=0;i<10;i++){
    digitalWrite(buzzer,LOW);
    delay(1);
  }
  BSO();
  DO();
  //when i am//
  for(i=0;i<700;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822);
  }
  RE();
  DO();
  for(i=0;i<5;i++){
    digitalWrite(buzzer,LOW);
    delay(1);
  }
  DO(); 
  for(i=0;i<100;i++)//bla 6
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1130.471456*2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1130.471456*2);
  }
  BSO();
  DO();
  for(i=0;i<10;i++){
    digitalWrite(buzzer,LOW);
    delay(1);
  }
  //down and oh my soul so weary//
  DO();
  for(i=0;i<10;i++){
    digitalWrite(buzzer,LOW);
    delay(1);
  }
  DO();
  MI();
  //when troubles//
  for(i=0;i<700;i++)//so 5
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1270.363267);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1270.363267);
  }

  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822);
  }
  LA();
  SO();
  for(i=0;i<5;i++){
    digitalWrite(buzzer,LOW);
    delay(1);
  }
  SO();
  MI();
  RE();
  RE();
  for(i=0;i<250;i++)//do 1
  {
    delay(1);
  }
  //come and my heart burdened be//
  SO();
  LA();
  SI();
  //Then i am//
  for(i=0;i<700;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  for(i=0;i<100;i++)//do 1
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  SI();
  LA();
  SO();
  FA();
  SO();
  SO();
  DO();
  DO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //still and wait here in the silence//
  DO();
  SO();
  FA();
  //Until you come//
  for(i=0;i<700;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//fa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204);
  }
  MI();
  RE();
  DO();
  BSI();
  DO();
  DO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //and sit a while with me//
  SO();
  LA();
  SI();
  //you raise me//
  for(i=0;i<700;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  for(i=0;i<100;i++)//do 1
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  SI();
  LA();
  SO();
  FA();
  SO();
  SO();
  MI();
  MI();
  for(i=0;i<250;i++)//do 1
  {
    delay(1);
  }
  //up so i can stand on moutains//
  SO();
  HRE();
  SI();
  //you rasie me//
  for(i=0;i<700;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  SI();
  LA();
  SO();
  FA();
  SO();
  SO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //up to walk on stormy seas//
  SO();
  SI();
  for(i=0;i<700;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  SI();
  LA();
  SO();
  FA();
  SO();
  SO();
  HDO();
  HDO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //i am strong when i am on your shoulders//
  DO();
  SO();
  FA();
  //you rasie me up//
  for(i=0;i<700;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//fa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204);
  }
  MI();
  RE();
  DO();
  BSI();
  DO();
  DO();
  DO();
  DO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //to more than i can be//
  SO();
  LA();
  SI();
  //you raise me//
  for(i=0;i<700;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  for(i=0;i<100;i++)//do 1
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  SI();
  LA();
  SO();
  FA();
  SO();
  SO();
  MI();
  MI();
  for(i=0;i<250;i++)//do 1
  {
    delay(1);
  }
  //up so i can stand on moutains//
  SO();
  HRE();
  SI();
  //you rasie me//
  for(i=0;i<700;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//do 1
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1911.095822/2);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1911.095822/2);
  }
  SI();
  LA();
  SO();
  FA();
  SO();
  SO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //up to walk on stormy seas//
  SO();
  FA();
  for(i=0;i<700;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  FA();
  MI();
  FA();
  LA();
  SO();
  SO();
  HDO();
  HDO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //i am strong when i am on your shoulders//
  DO();
  for(i=0;i<5;i++){
    digitalWrite(buzzer,LOW);
    delay(1);
  }
  DO();
  RE();
  //you rasie me up//
  for(i=0;i<700;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//fa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204);
  }
  MI();
  RE();
  DO();
  BSI();
  DO();
  DO();
  DO();
  DO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //to more than i can be//
  BSO();
  DO();
  RE();
  //you rasie me up//
  for(i=0;i<700;i++)//mi 3
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1513.351598);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1513.351598);
  }
  for(i=0;i<100;i++)//empty
  {
    digitalWrite(buzzer,LOW);
  }
  for(i=0;i<200;i++)//fa 4
  {
    digitalWrite(buzzer,HIGH);
    delayMicroseconds(1427.592204);
    digitalWrite(buzzer,LOW);
    delayMicroseconds(1427.592204);
  }
  MI();
  RE();
  DO();
  BSI();
  DO();
  DO();
  DO();
  DO();
  for(i=0;i<250;i++)//empty
  {
    delay(1);
  }
  //to more than i can be//
}

Malc 发表于 2013-1-31 18:52:49

O.0...
我觉得你可以用个数组。。

幻生幻灭 发表于 2013-1-31 19:30:41

O.0...同上

咸鱼+水=活 发表于 2013-1-31 19:38:44

幻生幻灭 发表于 2013-1-31 19:30 static/image/common/back.gif
O.0...同上

比较喜欢无脑操作~~ctrl c ctrl v~~~不过请问在哪里换呢?{:3_57:}

Ansifa 发表于 2013-1-31 22:13:53

:funk:你可以。。。。用数组,还可以用Tone音调发生函数。。。

幻生幻灭 发表于 2013-2-1 08:53:01

咸鱼+水=活 发表于 2013-1-31 19:38 static/image/common/back.gif
比较喜欢无脑操作~~ctrl c ctrl v~~~不过请问在哪里换呢?

得大换血吧

不过我没玩过音乐控制
建议思路: MIDI文件导出导入到Arduino数组中,单独一个.H文件保存音乐数据
主程序处理+调用即可

这样灵活性大
页: [1]
查看完整版本: 蜂鸣器you raise me up