// Chân nối loa buzzer int buzzer = 8; // Định nghĩa các nốt nhạc (tần số theo Hz) #define NOTE_C4 262 #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_D5 587 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_G5 784 // Giai điệu bài Happy Birthday int melody[] = { NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4, NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_AS4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4 }; // Thời lượng mỗi nốt (4 = nốt đen, 8 = nốt móc đơn,...) int noteDurations[] = { 4, 8, 4, 4, 4, 2, 4, 8, 4, 4, 4, 2, 4, 8, 4, 4, 4, 4, 2, 4, 8, 4, 4, 4, 2 }; void setup() { for (int i = 0; i < 25; i++) { int noteDuration = 1000 / noteDurations[i]; tone(buzzer, melody[i], noteDuration); int pause = noteDuration * 1.30; // thời gian ngừng giữa các nốt delay(pause); noTone(buzzer); // tắt âm giữa các nốt } } void loop() { // không làm gì cả }