/////////////////////////////////////////////
// // 鬧鐘的鬧鈴音
// /*
// 4 聲短促的Bee聲(1000Hz)後暫停 1 秒, 周而復始
// */
// #define buzzerPin 25
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// tone(buzzerPin, 1000, 100);
// delay(100 + 100);
// tone(buzzerPin, 1000, 100);
// delay(100 + 100);
// tone(buzzerPin, 1000, 100);
// delay(100 + 100);
// tone(buzzerPin, 1000, 100);
// delay(100 + 1000);
// }
/////////////////////////////////////////////
/////////////////////////////////////////////
// 全家鈴聲
#define buzzerPin 25
void setup() {
pinMode(buzzerPin, OUTPUT);
}
// #define NOTE_G5 784
// #define NOTE_C6 1047
// #define NOTE_D6 1175
// #define NOTE_E6 1319
// #define NOTE_G6 1568
void loop() {
// E6 C6 G5 C6 D6 G6 D6 E6 D6 G5 C6
// 1 1 1 1 1 2 1 1 1 1 2
int t = 300;
tone(buzzerPin, 1319, t); // E6
tone(buzzerPin, 1047, t); // C6
tone(buzzerPin, 784 , t); // G5
tone(buzzerPin, 1047, t); // C6
tone(buzzerPin, 1175, t); // D6
tone(buzzerPin, 1568, 2*t); // G6
tone(buzzerPin, 1175, t); // D6
tone(buzzerPin, 1319, t); // E6
tone(buzzerPin, 1175, t); // D6
tone(buzzerPin, 784 , t); // G5
tone(buzzerPin, 1047, 2*t); // C6
tone(buzzerPin, 0, 3000); // 休息3秒
}
/////////////////////////////////////////////
/////////////////////////////////////////////
// // // 學校16音鐘聲
// #define buzzerPin 25
// int t = 1000;
// //int keyTransition = t + 30; // pause for key transition
// #define NOTE_A3 220 // 6
// #define NOTE_D4 294 // 2
// #define NOTE_E4 330 // 3
// #define NOTE_FS4 370 // #4
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// // #4236-63#42-#4326-63#42--
// // 升FA(4) 『-』延一拍 LA(6)低音
// tone(buzzerPin, NOTE_FS4, t); // #4
// tone(buzzerPin, NOTE_D4, t); // 2
// tone(buzzerPin, NOTE_E4, t); // 3
// tone(buzzerPin, NOTE_A3, t); // 6
// tone(buzzerPin, 0, 100); // 間隔
// tone(buzzerPin, NOTE_A3, t); // 6
// tone(buzzerPin, NOTE_E4, t); // 3
// tone(buzzerPin, NOTE_FS4, t); // #4
// tone(buzzerPin, NOTE_D4, t); // 2
// tone(buzzerPin, 0, 100); // 間隔
// tone(buzzerPin, NOTE_FS4, t); // #4
// tone(buzzerPin, NOTE_E4, t); // 3
// tone(buzzerPin, NOTE_D4, t); // 2
// tone(buzzerPin, NOTE_A3, t); // 6
// tone(buzzerPin, 0, 100); // 間隔
// tone(buzzerPin, NOTE_A3, t); // 6
// tone(buzzerPin, NOTE_E4, t); // 3
// tone(buzzerPin, NOTE_FS4, t); // #4
// tone(buzzerPin, NOTE_D4, t); // 2
// tone(buzzerPin, 0, 100); // 間隔
// }
// // // 學校16鐘聲
// #define buzzerPin 25
// int BPM = 70; // 表示1分鐘有120個四分音符的長度
// float tempo = 60.0/ BPM; // 每個四分音符的時間長度(秒)
// int t = tempo * 1000;
// //int keyTransition = 1000; // pause for key transition
// #define NOTE_G4 392 // 5
// #define NOTE_C5 523 // 1
// #define NOTE_D5 587 // 2
// #define NOTE_E5 659 // 3
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// tone(buzzerPin, NOTE_E5, t); //3
// tone(buzzerPin, NOTE_C5, t); //1
// tone(buzzerPin, NOTE_D5, t); //2
// tone(buzzerPin, NOTE_G4, 2*t); //5
// tone(buzzerPin, 0, 0.5*t); // 間隔
// tone(buzzerPin, NOTE_G4, t); //5
// tone(buzzerPin, NOTE_D5, t); //2
// tone(buzzerPin, NOTE_E5, t); //3
// tone(buzzerPin, NOTE_C5, 2*t); //1
// tone(buzzerPin, 0, 0.5*t); // 間隔
// tone(buzzerPin, NOTE_C5, t); //1
// tone(buzzerPin, NOTE_E5, t); //3
// tone(buzzerPin, NOTE_D5, t); //2
// tone(buzzerPin, NOTE_G4, 2*t); //5
// tone(buzzerPin, 0, 0.5*t); // 間隔
// tone(buzzerPin, NOTE_G4, t); //5
// tone(buzzerPin, NOTE_D5, t); //2
// tone(buzzerPin, NOTE_E5, t); //3
// tone(buzzerPin, NOTE_C5, 2*t); //1
// tone(buzzerPin, 0, 0.5*t); // 間隔
// }
/////////////////////////////////////////////
// ////////////////////////////////////////////////////////////////////////
// // 模擬電話鈴聲
// // 電話振鈴音是以 1000 Hz 與 500 Hz 間隔 50 毫秒重複 10 次模擬出來的
// // 然後用 noTone() 來暫停 2 秒
// #include<ESP32Servo.h>
// #define buzzerPin 25
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// for (int i = 0; i < 10; i++) {
// tone(buzzerPin, 1000);
// delay(50);
// tone(buzzerPin, 500);
// delay(50);
// }
// noTone(buzzerPin);
// delay(2000);
// }
/////////////////////////////////////////////
// //////////////////////////////////////////////////////////////////////////
// //模擬救護車
// /*
// 救護車:
// 以低頻頻率 650Hz 至 750Hz ,高頻頻率 900z 至 1000Hz ,
// 低頻持續時間 0.4 秒,高頻持續時間 0.6 秒,高低頻交替進行。
// */
// //#include<ESP32Servo.h>
// #define buzzerPin 25
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// tone(buzzerPin, 715);
// delay(400);
// tone(buzzerPin, 956);
// delay(600);
// }
// // //模擬救護車 2
// #define buzzerPin 25
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// ambulenceSiren(buzzerPin);
// }
// void ambulenceSiren(int pin) {
// tone(pin, 400);
// delay(500);
// tone(pin, 800);
// delay(500);
// noTone(pin);
// }
// //////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////
// //警車聲音模擬(失敗)
// /*
// 警車:
// 以低頻頻率 650Hz 至 750Hz ,高頻頻率 1450Hz 至 1550Hz ,
// 由低頻升至高頻時間 0.23 秒,再由高頻降至低頻為 0.1 秒。
// */
// //#include<ESP32Servo.h>
// #define buzzerPin 25
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// double t;
// int minFreq = 715;
// int maxFreq = 956;
// int step = 30;
// void loop() {
// t = 0.23*1000/((maxFreq-minFreq)/step+1);
// for (int i = minFreq ; i <= maxFreq; i+=step) {
// tone(buzzerPin, i);
// delay(t);
// }
// t = 0.1*1000/((maxFreq-minFreq)/step+1);
// for (int i = maxFreq; i >= minFreq ; i-=step) {
// tone(buzzerPin, i);
// delay(t);
// }
// }
////////////////////////////////////////////////////////////////////////
// ////////////////////////////////////////////////////////////////////////////////
// //小蜜蜂
// // #include<ESP32Servo.h>
// #define buzzerPin 25
// int keyTransition = 10; // pause for key transition
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// tone(buzzerPin, 392, 500);//G(So)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 330, 500);//E(Me)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 330, 1000);//E(Me)
// tone(buzzerPin, 0, 100); // 小節間隔
// tone(buzzerPin, 349, 500);//F(Fa)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 294, 500);//D(Re)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 294, 1000);//D(Re)
// tone(buzzerPin, 0, 100); // 小節間隔
// tone(buzzerPin, 262, 500);//C(Do)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 294, 500);//D(Re)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 330, 500);//E(Me)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 349, 500);//F(Fa)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 392, 500);//G(So)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 392, 500);//G(So)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 392, 1000);//G(So)
// tone(buzzerPin, 0, keyTransition); // 間隔
// tone(buzzerPin, 0, 1000); // 休息1秒
// }
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// // //小蜜蜂(陣列迴圈版)
// // //#include<ESP32Servo.h>
// #include "pitches.h"
// #define buzzerPin 25
// int BPM = 60; // 表示1分鐘有60個四分音符的長度
// float tempo = 60/ BPM; // 每個四分音符的時間長度(秒)
// int keyTransition = 0; // pause for key transition
// //// 小蜜蜂歌譜 2/4
// // 小蜜蜂音名
// int musical_Alphabet[] = {
// NOTE_G4, NOTE_E4, NOTE_E4,
// NOTE_F4, NOTE_D4, NOTE_D4,
// NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
// NOTE_G4, NOTE_G4, NOTE_G4,
// NOTE_G4, NOTE_E4, NOTE_E4,
// NOTE_F4, NOTE_D4, NOTE_D4,
// NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G4,
// NOTE_E4,
// NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4,
// NOTE_D4, NOTE_E4, NOTE_F4,
// NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4,
// NOTE_E4, NOTE_F4, NOTE_G4,
// NOTE_G4, NOTE_E4, NOTE_E4,
// NOTE_F4, NOTE_D4, NOTE_D4,
// NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G4,
// NOTE_C4,
// };
// // 小蜜蜂節拍
// float beat[] ={
// 0.5, 0.5, 1,
// 0.5, 0.5, 1,
// 0.5, 0.5, 0.5, 0.5,
// 0.5, 0.5, 1,
// 0.5, 0.5, 1,
// 0.5, 0.5, 1,
// 0.5, 0.5, 0.5, 0.5,
// 2,
// 0.5, 0.5, 0.5, 0.5,
// 0.5, 0.5, 1,
// 0.5, 0.5, 0.5, 0.5,
// 0.5, 0.5, 1,
// 0.5, 0.5, 1,
// 0.5, 0.5, 1,
// 0.5, 0.5, 0.5, 0.5,
// 2,
// };
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// };
// void loop(){
// for(int i = 0 ; i < sizeof(musical_Alphabet) / sizeof(int); i++){
// tone(buzzerPin, musical_Alphabet[i], beat[i]*tempo*1000);
// delay(beat[i]*tempo*1000 + keyTransition);
// }
// delay(3000); // 休息3秒
// };
//////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// //// 生日快樂(陣列迴圈版)
// #include "pitches.h"
// #define buzzerPin 25
// int BPM = 120; // 表示1分鐘有120個四分音符的長度
// float tempo = 60.0/ BPM; // 每個四分音符的時間長度(秒)
// int keyTransition = 0; // pause for key transition
// //// 生日快樂歌譜 3/4 // 四分音符為1拍,每小節3拍
// // 生日快樂音名
// int musical_Alphabet[] = {
// NOTE_, NOTE_, NOTE_G4, NOTE_G4,
// NOTE_A4, NOTE_G4, NOTE_C5,
// NOTE_B4, NOTE_G4, NOTE_G4,
// NOTE_A4, NOTE_G4, NOTE_D5,
// NOTE_C5, NOTE_G4, NOTE_G4,
// NOTE_G5, NOTE_E5, NOTE_C5,
// NOTE_B4, NOTE_A4, NOTE_F5, NOTE_F5,
// NOTE_E5, NOTE_C5,NOTE_D5,
// NOTE_C5, NOTE_C5
// };
// // 生日快樂節拍
// float beat[] ={
// 1, 1, 0.5, 0.5,
// 1, 1, 1,
// 2, 0.5, 0.5,
// 1, 1, 1,
// 2, 0.5, 0.5,
// 1, 1, 1,
// 1, 1, 0.5, 0.5,
// 1, 1 ,1,
// 2, 1
// };
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// };
// void loop(){
// for(int i = 0 ; i < sizeof(musical_Alphabet) / sizeof(int); i++){
// tone(buzzerPin, musical_Alphabet[i], beat[i]*tempo*1000);
// delay(beat[i]*tempo*1000 + keyTransition);
// }
// delay(3000); // 休息3秒
// };
///////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
// ////少女的祈禱(陣列迴圈版)
// //#include<ESP32Servo.h>
// #include "pitches.h"
// #define buzzerPin 25
// // 現代音樂都以「每分鐘幾拍」(beats per minute,省略為 BPM)作單位。
// // 全音符 4
// // 二分音符 2
// // 四分音符 1
// // 八分音符 1/2
// // 十六分音符 1/4
// int BPM = 72; // 表示1分鐘有72個四分音符的長度
// float tempo = 60.0/ BPM; // 每個四分音符的時間長度(秒)
// int keyTransition = 0; // pause for key transition
// //// 少女的祈禱歌譜 4/4
// // 少女的祈禱音名
// int musical_Alphabet[] = {
// NOTE_C3, NOTE_G4, NOTE_C5, NOTE_E5, NOTE_G5, NOTE_C6, NOTE_E6, NOTE_D6,
// NOTE_D6, NOTE_C6, NOTE_C6, NOTE_B5, NOTE_A5, NOTE_A5, NOTE_,
// NOTE_G3, NOTE_B3, NOTE_D4, NOTE_G4, NOTE_B4, NOTE_D5, NOTE_B5, NOTE_A5,
// NOTE_A5, NOTE_G5, NOTE_G5, NOTE_F5, NOTE_E5, NOTE_E5, NOTE_,
// NOTE_C3, NOTE_G4, NOTE_C5, NOTE_E5, NOTE_G5, NOTE_C6, NOTE_E6, NOTE_D6,
// NOTE_D6, NOTE_C6, NOTE_C6, NOTE_B5, NOTE_A5, NOTE_A5, NOTE_,
// NOTE_G3, NOTE_B3, NOTE_D4, NOTE_G4, NOTE_B4, NOTE_D5, NOTE_C3, NOTE_E4, NOTE_G4, NOTE_C5, NOTE_E5, NOTE_G5,
// NOTE_G2, NOTE_F4, NOTE_G4, NOTE_E5, NOTE_D5, NOTE_C5,
// };
// // 少女的祈禱節拍
// float beat[] ={
// 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.5, 0.5,
// 2.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1, 1,
// 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.5, 0.5,
// 2.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1, 1,
// 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.5, 0.5,
// 2.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1, 1,
// 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3, 1.0/3,
// 1.0/3, 1.0/3, 1.0/3, 2.0/3, 1.0/3, 2,
// };
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// };
// void loop(){
// for(int i = 0 ; i < sizeof(musical_Alphabet) / sizeof(int); i++){
// tone(buzzerPin, musical_Alphabet[i], beat[i]*tempo*1000);
// delay(beat[i]*tempo*1000 + keyTransition);
// }
// delay(3000); // 休息3秒
// };
/////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////
// ////天空之城(陣列迴圈版)
// #include "pitches.h"
// #define buzzerPin 25
// int BPM = 90; // 表示1分鐘有72個四分音符的長度
// float tempo = 60.0/ BPM; // 每個四分音符的時間長度(秒)
// int keyTransition = 0; // pause for key transition
// //// 天空之城歌譜 4/4
// // 天空之城音名
// int musical_Alphabet[] = {
// NOTE_A4, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_C5, NOTE_E5,
// NOTE_B4, NOTE_, NOTE_E4,
// NOTE_A4, NOTE_G4, NOTE_A4, NOTE_C5,
// NOTE_G4, NOTE_, NOTE_E4,
// NOTE_F4, NOTE_E4, NOTE_F4, NOTE_C5,
// NOTE_E4, NOTE_, NOTE_C5,
// NOTE_B4, NOTE_FS4, NOTE_F4, NOTE_B4,
// NOTE_B4, NOTE_, NOTE_A4, NOTE_B4,
// NOTE_C5, NOTE_B4, NOTE_C5, NOTE_E5,
// NOTE_B4, NOTE_, NOTE_E4,
// NOTE_A4, NOTE_G4, NOTE_A4, NOTE_C5,
// NOTE_G4
// };
// // 天空之城節拍
// float beat[] ={
// 0.5, 0.5, 1.5, 0.5, 1, 1,
// 2, 1, 1,
// 1.5, 0.5, 1, 1,
// 2, 1, 1,
// 1.5, 0.5, 1, 1,
// 2, 1, 1,
// 1.5, 0.5, 1, 1,
// 2, 1, 0.5, 0.5,
// 1.5, 0.5, 1, 1,
// 2, 1, 1,
// 1.5, 0.5, 1, 1,
// 2
// };
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// };
// void loop(){
// for(int i = 0 ; i < sizeof(musical_Alphabet) / sizeof(int); i++){
// tone(buzzerPin, musical_Alphabet[i], beat[i]*tempo*1000);
// delay(beat[i]*tempo*1000 + keyTransition);
// }
// delay(3000); // 休息3秒
// };
/////////////////////////////////////////////
/////////////////////////////////////////////
// //// 青花瓷
// // #include<ESP32Servo.h>
// #include "pitches.h"
// #define buzzerPin 25
// //青花瓷
// int BlueAndWhitePorcelainLody[] = {
// NOTE_, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_,
// NOTE_, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_,
// NOTE_, NOTE_G3, NOTE_A3, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_,
// NOTE_, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_,
// NOTE_, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_G3, NOTE_,
// NOTE_, NOTE_G3, NOTE_A3, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_,
// NOTE_, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_D4,
// NOTE_C4, NOTE_A3, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_,
// //
// NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_A3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_,
// NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_D4, NOTE_C4, NOTE_,
// NOTE_, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_,
// NOTE_, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_,
// NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_A3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_,
// NOTE_, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G3, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_D4, NOTE_C4, NOTE_,
// NOTE_, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4,
// NOTE_G3, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_D4, NOTE_C4, NOTE_,
// };
// //青花瓷
// int BlueAndWhitePorcelainDurations[] = {
// 16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
// 16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
// 16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 16, 16, 8,
// 16, 16, 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 8, 8,
// 16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
// 16, 16, 16, 16, 8, 16, 16, 8, 16, 16, 16, 16, 8, 8,
// 16, 16, 16, 16, 16, 16, 16, 16, 8,
// 16, 16, 16, 16, 16, 16, 8, 16, 4, 8,
// //
// 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
// 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
// 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 4, 8,
// 16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 16, 16, 8, 8,
// 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
// 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 4, 8,
// 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 4,
// 16, 8, 16, 16, 16, 4, 8,
// };
// void play(int *melody, int *noteDurations, int num)
// {
// for(int note = 0; note < num; note++)
// {
// int noteDuration = 3000 / noteDurations[note];
// if(melody[note] != NOTE_){
// tone(buzzerPin, melody[note], noteDuration);
// }else{
// delay(noteDuration);
// }
// //delay(noteDuration * 1.30);
// }
// }
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// }
// void loop() {
// play(BlueAndWhitePorcelainLody, BlueAndWhitePorcelainDurations, sizeof(BlueAndWhitePorcelainLody) / sizeof(int));
// }
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// //// 學校鐘聲
// #include "pitches.h"
// #define buzzerPin 25
// int BPM = 95; // 表示1分鐘有95個四分音符的長度
// float tempo = 60.0/ BPM; // 每個四分音符的時間長度(秒)
// int keyTransition = 0; // pause for key transition
// //// 學校鐘聲 (孤挺花)歌譜 4/4 // 四分音符為1拍,每小節4拍
// // 孤挺花音名
// int musical_Alphabet[] = {
// NOTE_B4, NOTE_CS5, NOTE_B4, NOTE_E5,
// NOTE_B4, NOTE_CS5, NOTE_B4,
// NOTE_CS5, NOTE_CS5, NOTE_B4, NOTE_CS5,
// NOTE_B4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_E4,
// NOTE_B4, NOTE_CS5, NOTE_B4, NOTE_E5,
// NOTE_B4, NOTE_CS5, NOTE_B4,
// NOTE_CS5, NOTE_CS5, NOTE_B4, NOTE_CS5,
// NOTE_B4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_E4,
// NOTE_G4, NOTE_G4, NOTE_G4,
// NOTE_G4, NOTE_G4, NOTE_G4,
// NOTE_G4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4,
// NOTE_F4, NOTE_E4, NOTE_F4, NOTE_E4,//NOTE_E4 + NOTE_G4???
// NOTE_B4, NOTE_CS5, NOTE_B4, NOTE_E5,
// NOTE_B4, NOTE_CS5, NOTE_B4,
// NOTE_CS5, NOTE_CS5, NOTE_B4, NOTE_C4,
// //NOTE_F4 + NOTE_B4???
// NOTE_B4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_E4,//NOTE_E4 + NOTE_G4???
// NOTE_
// };
// // 孤挺花節拍
// float beat[] ={
// 1, 1, 1, 1,
// 1, 1, 2,
// 1, 1, 1, 1,
// 0.5, 0.5, 0.5, 0.5, 1, 1,
// 1, 1, 1, 1,
// 1, 1, 2,
// 1, 1, 1, 1,
// 0.5, 0.5, 0.5, 0.5, 2,
// 1, 1, 2,
// 1, 1, 2,
// 1, 1 ,1, 0.5, 0.5,
// 1, 1, 0.5, 2,
// 1, 1, 1, 1,
// 1, 1, 2,
// 1, 1, 1, 1,
// 0.5, 0.5, 0.5, 0.5, 2,
// 4
// };
// void setup() {
// pinMode(buzzerPin, OUTPUT);
// };
// void loop(){
// for(int i = 0 ; i < sizeof(musical_Alphabet) / sizeof(int); i++){
// tone(buzzerPin, musical_Alphabet[i], beat[i]*tempo*1000);
// delay(beat[i]*tempo*1000 + keyTransition);
// }
// delay(3000); // 休息3秒
// };
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// // 控制蜂鳴器佔空比(音色?)、頻率(音高)
// /* ESP32 Arduino開發平台2.x版 */
// #define buzzerPin 25
// int freq = 2000;
// int channel = 0;
// int resolution = 8;
// void setup() {
// /* ESP32 Arduino開發平台2.x版 */
// Serial.begin(115200);
// ledcSetup(channel, freq, resolution);
// ledcAttachPin(buzzerPin, channel);
// }
// void loop() {
// /* ESP32 Arduino開發平台2.x版 */
// ledcWriteTone(channel, 2000); // 固定頻率改變佔空比
// for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle += 10) {
// Serial.println(dutyCycle);
// ledcWrite(channel, dutyCycle);
// delay(1000);
// }
// ledcWrite(channel, 125); // 固定佔空比改變頻率
// for (int freq = 255; freq < 10000; freq = freq + 250) {
// Serial.println(freq);
// ledcWriteTone(channel, freq);
// delay(1000);
// }
// }
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// // 控制蜂鳴器佔空比(音色?)、頻率(音高)
// /* ESP32 Arduino開發平台3.x版 */
// #define buzzerPin 25
// int freq = 2000;
// int channel = 0;
// int resolution = 8;
// void setup() {
// /* ESP32 Arduino開發平台3.x版 */
// Serial.begin(115200);
// ledcAttachChannel(buzzerPin, freq, resolution, channel); // ledcAttachChannel(pin, freq, resolution_bits, channel) // 設定接腳、頻率、解析度、通道
// }
// void loop() {
// /* ESP32 Arduino開發平台3.x版 */
// ledcWriteTone(buzzerPin, 2000); // 固定頻率改變佔空比
// for (int dutyCycle = 0; dutyCycle <= 255; dutyCycle += 10) {
// Serial.println(dutyCycle);
// ledcWrite(buzzerPin, dutyCycle);
// delay(1000);
// }
// ledcWrite(buzzerPin, 125); // 固定佔空比改變頻率
// for (int freq = 255; freq < 10000; freq = freq + 250) {
// Serial.println(freq);
// ledcWriteTone(buzzerPin, freq);
// delay(1000);
// }
// }
///////////////////////////////////////////////////////////////////