const int buzzer = 4; // Pino do buzzer
const int canalPWM = 0;
const int freqPWM = 2000;
const int resolucaoPWM = 8;
void setup() {
ledcSetup(canalPWM, freqPWM, resolucaoPWM);
ledcAttachPin(buzzer, canalPWM);
tocarMusica();
}
void loop() {
// Nada no loop
}
void tocarNota(int frequencia, int duracao) {
if (frequencia == 0) {
ledcWriteTone(canalPWM, 0); // Pausa
} else {
ledcWriteTone(canalPWM, frequencia);
}
delay(duracao);
ledcWriteTone(canalPWM, 0); // Silêncio entre as notas
delay(50);
}
// Frequências básicas (C4 ~ 261 Hz, D4 ~ 293 Hz, etc.)
#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
void tocarMusica() {
// "Capelinha de Melão" (simplificada)
tocarNota(NOTE_C4, 300);
tocarNota(NOTE_D4, 300);
tocarNota(NOTE_E4, 300);
tocarNota(NOTE_C4, 300);
tocarNota(NOTE_E4, 300);
tocarNota(NOTE_G4, 300);
tocarNota(NOTE_E4, 300);
tocarNota(NOTE_G4, 600);
tocarNota(0, 200);
tocarNota(NOTE_C5, 300);
tocarNota(NOTE_B4, 300);
tocarNota(NOTE_A4, 300);
tocarNota(NOTE_G4, 300);
tocarNota(NOTE_E4, 300);
tocarNota(NOTE_C4, 600);
tocarNota(0, 500); // Pausa longa
}