#define NOTE_C4 262 //DO
#define NOTE_D4 294 //RE
#define NOTE_E4 330 //MI
#define NOTE_F4 349 //FA
#define NOTE_G4 392 //SOL
#define NOTE_A4 440 //LA
#define NOTE_B4 494 //SI
#define NOTE_C5 523 //DO
#define NOTE_D5 587 //RE
#define NOTE_E5 659 //MI
#define NOTE_FIS4 370 //F#
int melody[] = {
NOTE_G4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_B4, NOTE_C5, NOTE_A4, NOTE_G4,
NOTE_C4, NOTE_E4, NOTE_G4, NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_E4, NOTE_F4, NOTE_G4,
NOTE_G4, NOTE_C4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_B4, NOTE_C5, NOTE_A4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_F4, NOTE_E4,
NOTE_D4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_G4, NOTE_C4, NOTE_E4, NOTE_C4,
NOTE_A4, NOTE_A4, NOTE_G4, NOTE_FIS4, NOTE_G4, NOTE_C4, NOTE_G4, NOTE_C5, NOTE_G4, NOTE_D5, NOTE_G4, NOTE_E5, NOTE_D5,
NOTE_C5, NOTE_B4, NOTE_C5, NOTE_C4, NOTE_B4, NOTE_A4, NOTE_G4, NOTE_E4, NOTE_F4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_C4
};
int noteDurations[] = {
4, 2, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 2, 0, 8, 8, 8, 4, 4, 4, 2, 0, 4, 2, 4, 4, 4, 0, 4, 4, 4, 4, 4, 4, 2, 0,
8, 8, 8, 4, 4, 4, 2, 0, 2, 2, 4, 2, 4, 0, 4, 4, 4, 4, 4, 4, 2, 0, 2, 1, 2, 1, 4, 4, 4, 4, 4, 4, 0, 4, 4, 4,
4, 4, 4, 1, 1, 1
};
void setup() {
int totalNotes = sizeof(melody) / sizeof(melody[0]);
for (int thisNote = 0; thisNote < totalNotes ; thisNote++) {
if (noteDurations[thisNote]==0){
noTone(18);
delay(300);
continue;
}
int noteDuration = 1500 / noteDurations[thisNote];
tone(18, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration*1.30;
delay(pauseBetweenNotes);
noTone(18);
}
}
void loop() {
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4