// Definir el pin donde está conectado el buzzer #define BUZZER_PIN 2 // Definiciones de las notas musicales #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_REST 0 void setup() { // Configurar el pin del buzzer como salida pinMode(BUZZER_PIN, OUTPUT); } void loop() { // Hacer sonar el buzzer con un tono de 1000Hz durante 1000ms (1 segundo) int melody[] = { NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_D4, NOTE_E4, NOTE_REST }; // Duraciones de las notas (en milisegundos) int noteDurations[] = { 4, 4, 8, 8, 8, 8, 4, 4, 4, 8, 8, 8, 8, 4, 4, 4, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; // Toca el himno for (int i = 0; i < sizeof(melody) / sizeof(melody[0]); i++) { int duration = 1000 / noteDurations[i]; tone(BUZZER_PIN, melody[i], duration); delay(duration * 1.1); // Agrega un pequeño tiempo entre notas para evitar que se escuchen juntas } noTone(BUZZER_PIN); // Detiene el sonido al finalizar el himno delay(2000); // Espera antes de volver a reproducir el himno tone(BUZZER_PIN, 1000); delay(1000); // Esperar 1 segundo // Detener el tono (silencio) durante 1000ms (1 segundo) noTone(BUZZER_PIN); delay(1000); // Esperar 1 segundo antes de repetir el ciclo }