int pinBuzzer = 4; //D2 void setup() { pinMode(pinBuzzer, OUTPUT); //设置pinBuzzer脚为输出状态 } void loop() { digitalWrite(pinBuzzer, LOW); tone(pinBuzzer, 140, 3000); } /////////////////////////////////// // // //对应音符和频率值 // #define NOTE_D1 262 // #define NOTE_D2 294 // #define NOTE_D3 330 // #define NOTE_D4 350 // #define NOTE_D5 393 // #define NOTE_D6 441 // #define NOTE_D7 495 // // // // //整首曲子的音符部分 // int tune[] = // { // NOTE_D1, NOTE_D2, NOTE_D3, NOTE_D4, NOTE_D5, // NOTE_D6,NOTE_D7, // }; // // //曲子的节拍,即音符持续时间 // float duration[] = // { // 1, 1, 1, 1, 1, // 1, 1, // }; // // int length;//定义一个变量用来表示共有多少个音符 // int tonePin = 4; //蜂鸣器的pin // // void setup() // { // pinMode(tonePin, OUTPUT); //设置蜂鸣器的pin为输出模式 // length = sizeof(tune) / sizeof(tune[0]); //这里用了一个sizeof函数,查出数组里有多少个音符 // } // // void loop() // { // for (int x = 0; x < length; x++) //循环音符的次数 // { // tone(tonePin, tune[x]); //依次播放tune数组元素,即每个音符 // //digitalWrite(tonePin, LOW); // delay(400 * duration[x]); //每个音符持续的时间,即节拍duration,400是调整时间的越大,曲子速度越慢,越小曲子速度越快 // noTone(tonePin);//停止当前音符,进入下一音符 // } // delay(5000);//等待5秒后,循环重新开始 // }