Robert Tomczak
/
TP6_MarioTheme
Exemple d'utilisation MArio thème
Fork of app-shield-speaker by
main.cpp
- Committer:
- rtk
- Date:
- 2015-10-16
- Revision:
- 5:d9670e532659
- Parent:
- 3:3bb3e6051175
File content as of revision 5:d9670e532659:
#include "mbed.h" #include "pitchs.h" DigitalIn fire(D4); PwmOut spkr(D6); int melody[] = { NOTE_E7, NOTE_E7, 0, NOTE_E7, 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0,NOTE_C7, NOTE_D7, NOTE_B6, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0,NOTE_C7, NOTE_D7, NOTE_B6, 0, 0 }; //Mario main them tempo // note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = { 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, }; int main() { int size = sizeof(melody) / sizeof(int); while (1) { for (int thisNote = 0; thisNote < 52; thisNote++) { // to calculate the note duration, take one second // divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = noteDurations[thisNote]; //tone(8, melody[thisNote],noteDuration); spkr.period(1.0/melody[thisNote]); spkr=0.25; wait(1.0/noteDuration); //wait(1); // to distinguish the notes, set a minimum time between them. // the note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; //wait(pauseBetweenNotes/1000); wait(1.0/pauseBetweenNotes); // stop the tone playing: //noTone(8); spkr=0; } while(!fire) {wait(0.1);} } }