Paso 2: código
#define c
3830 / / 261 Hz
#define d 3400 / / 294 Hz
#define e 3038 / / Hz 329
#define f 2864 / / 349 Hz
#define g 2550 / / 392 Hz
#define a 2272 / / 440 Hz
#define b 2028 / / 493 Hz
#define C 1912 / / 523 Hz
#define R 0
int speakerOut = 9;
int tecla = 2;
void setup() {}
pinMode (speakerOut, salida);
pinMode (botón, entrada);
}
melodía de int [] = {i, R, d, R, c, R, d, R, e, R, e, R, e, R, d, R, d, R, d, R, e, R, g, R, g, R, e, R, d, R, c, R, d, R, e, R, e, R, e, R, e, R, d, R, d, R, e, R, d, R, c, R, c};
beats de int [] = {4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 8, 1, 4, 1, 4, 1, 8, 1, 4, 1, 4, 1, 8, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4,1,8};
int número = sizeof(melody) / 2;
largo tempo = 100000;
pausa de int = 10;
int rest_count = 20;
tone_ int = 0;
vencer a int = 0;
duración = 0;
{} void playTone()
largo elapsed_time = 0;
Si (digitalRead(button)==HIGH) {}
Si (tone_ > 0) {}
mientras que (elapsed_time < duración) {}
digitalWrite(speakerOut,HIGH);
delayMicroseconds(tone_ / 2);
digitalWrite (speakerOut, bajo);
delayMicroseconds(tone_ / 2);
elapsed_time += (tone_);
}
}
Else {}
para (int j = 0; j < rest_count; j ++) {}
delayMicroseconds(duration);
}
}
}
}
void loop() {}
para (int i = 0; i
tone_ = la melodía [i];
batir = beats [i];
duración = beat * tempo;
playTone();
delayMicroseconds(pause);
}
}