//NOTAS Y FRECUENCIAS
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
//BOTÓN
int PULSADOR = 2;
//BUZZER
int BUZZER_PASIVO = 8;
int melodia[] = {
NOTE_D4, NOTE_D4, NOTE_D5, NOTE_A4, NOTE_GS4, NOTE_G4, NOTE_F4, NOTE_D4, NOTE_F4, NOTE_G4,
NOTE_C4, NOTE_C4, NOTE_D5, NOTE_A4, NOTE_GS4, NOTE_G4, NOTE_F4, NOTE_D4, NOTE_F4, NOTE_G4,
NOTE_B3, NOTE_B3, NOTE_D5, NOTE_A4, NOTE_GS4, NOTE_G4, NOTE_F4, NOTE_D4, NOTE_F4, NOTE_G4,
NOTE_AS3, NOTE_AS3, NOTE_D5, NOTE_A4, NOTE_GS4, NOTE_G4, NOTE_F4, NOTE_D4, NOTE_F4, NOTE_G4,
};
int duraciones[] = {
6, 7, 5, 3, 5, 5, 6, 9, 9, 9,
6, 7, 5, 3, 5, 5, 6, 9, 9, 9,
6, 7, 5, 3, 5, 5, 6, 9, 9, 9,
6, 7, 5, 3, 5, 5, 6, 9, 9, 9
};
void setup() {
pinMode(PULSADOR, INPUT_PULLUP);
pinMode(BUZZER_PASIVO, OUTPUT);
}
void loop() {
if(digitalRead(PULSADOR) == LOW){
for (int i = 0; i < 40; i++) {
int duracion = 1000 / duraciones[i];
tone(BUZZER_PASIVO, melodia[i], duracion);
int pausa = duracion * 1.30;
delay(pausa);
noTone(BUZZER_PASIVO);
}
}
}