#define Buzzer 33 //Definir los pines
#define Boton 4
#define DO 261 //Definir la frecuencia de las notas musicales en Hz
#define RE 293
#define MI 329
int contador=0; //Variable a comparar
void setup() {
//Configurar pines a utilizar
pinMode(Boton, INPUT_PULLUP);
pinMode(Buzzer, OUTPUT);
}
void loop() {
if(digitalRead(Boton)==0){
contador++;
delay(400);
}
switch(contador){
case 1:
tocar_nota(DO);
break;
case 2:
tocar_nota(RE);
break;
case 3:
tocar_nota(MI);
break;
}
}
//Funcion para tocar nota musical
void tocar_nota(int frecuencia){
float tiempo = (500000.0/(float)frecuencia);
tiempo = ceil(tiempo);
digitalWrite(Buzzer, HIGH);
delayMicroseconds((int)tiempo);
digitalWrite(Buzzer, LOW);
delayMicroseconds((int)tiempo);
}