// Change this depending on where you put your piezo buzzer
const int TONE_OUTPUT_PIN = 13;
// The ESP32 has 16 channels which can generate 16 independent waveforms
// We'll just choose PWM channel 0 here
const int TONE_PWM_CHANNEL = 0;
void setup() {
ledcAttachPin(TONE_OUTPUT_PIN, TONE_PWM_CHANNEL);
}
void loop() {
// Plays the middle C scale
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_C, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_D, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_E, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_F, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_G, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_A, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_B, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_C, 5);
delay(500);
noTone(TONE_PWM_CHANNEL);
delay(1000);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_C, 5);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_B, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_A, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_G, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_F, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_E, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_D, 4);
delay(500);
ledcWriteNote(TONE_PWM_CHANNEL, NOTE_C, 4);
delay(500);
noTone(TONE_PWM_CHANNEL);
delay(1000);
}