ECE 4180 / Mbed 2 deprecated 4180-L2-P14

Dependencies:   mbed

Committer:
CRaslawski
Date:
Mon Feb 27 22:53:39 2017 +0000
Revision:
3:61d42134c1be
Parent:
2:68eee0fb2026
Child:
4:f4355e8f7d19
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:b2fdf3770282 1 #include "mbed.h"
4180_1 0:b2fdf3770282 2 #include "Speaker.h"
4180_1 0:b2fdf3770282 3
4180_1 0:b2fdf3770282 4 // Speaker test program - euro police style siren now using new Speaker class method
4180_1 0:b2fdf3770282 5 // for documentation see http://mbed.org/users/4180_1/notebook/using-a-speaker-for-audio-output/
4180_1 2:68eee0fb2026 6 // can also be used to play a song, if you have all of the notes and durations
4180_1 0:b2fdf3770282 7 // for musical note frequencies see http://en.wikipedia.org/wiki/Piano_key_frequencies
4180_1 0:b2fdf3770282 8
CRaslawski 3:61d42134c1be 9 float t = 2.5; //tempo controller
CRaslawski 3:61d42134c1be 10
4180_1 0:b2fdf3770282 11 int main()
4180_1 0:b2fdf3770282 12 {
CRaslawski 3:61d42134c1be 13 // setup instance of new Speaker class, mySpeaker using pin 22
4180_1 0:b2fdf3770282 14 // the pin must be a PWM output pin
CRaslawski 3:61d42134c1be 15 Speaker mySpeaker(p22);
CRaslawski 3:61d42134c1be 16 //DigitalOut shutdown(p17);
CRaslawski 3:61d42134c1be 17 // Ramblin Wreck
4180_1 0:b2fdf3770282 18 while(1) {
CRaslawski 3:61d42134c1be 19 //first verse using lower octave because the speaker has too much sauce
CRaslawski 3:61d42134c1be 20 mySpeaker.PlayNote(783.991,1.0/t,0.1); // G
CRaslawski 3:61d42134c1be 21 mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
CRaslawski 3:61d42134c1be 22 mySpeaker.PlayNote(622.254,0.9/t,0.1); //E flat
CRaslawski 3:61d42134c1be 23 mySpeaker.PlayNote(0.0,0.1/t,0.0); //separation between the same notes
CRaslawski 3:61d42134c1be 24 mySpeaker.PlayNote(622.254,0.4/t,0.1); //E flat
CRaslawski 3:61d42134c1be 25 mySpeaker.PlayNote(0.0,0.1/t,0.0);
CRaslawski 3:61d42134c1be 26 mySpeaker.PlayNote(622.254,1.0/t,0.1); //E flat
CRaslawski 3:61d42134c1be 27 mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
CRaslawski 3:61d42134c1be 28 mySpeaker.PlayNote(783.991,0.9/t,0.1); // G
CRaslawski 3:61d42134c1be 29 mySpeaker.PlayNote(0.0,0.1/t,0.0);
CRaslawski 3:61d42134c1be 30 mySpeaker.PlayNote(783.991,0.4/t,0.1); // G
CRaslawski 3:61d42134c1be 31 mySpeaker.PlayNote(0.0,0.1/t,0.0);
CRaslawski 3:61d42134c1be 32 mySpeaker.PlayNote(783.991,0.5/t,0.1); // G
CRaslawski 3:61d42134c1be 33 mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
CRaslawski 3:61d42134c1be 34 mySpeaker.PlayNote(622.254,0.5/t,0.1); //E flat
CRaslawski 3:61d42134c1be 35 mySpeaker.PlayNote(698.456,0.4/t,0.1); //F
CRaslawski 3:61d42134c1be 36 mySpeaker.PlayNote(0.0,0.1/t,0.0);
CRaslawski 3:61d42134c1be 37 mySpeaker.PlayNote(698.456,0.4/t,0.1); //F
CRaslawski 3:61d42134c1be 38 mySpeaker.PlayNote(0.0,0.1/t,0.0);
CRaslawski 3:61d42134c1be 39 mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
CRaslawski 3:61d42134c1be 40 mySpeaker.PlayNote(622.254,1.0/t,0.1); //E flat
CRaslawski 3:61d42134c1be 41 mySpeaker.PlayNote(587.330,0.5/t,0.1); //D
CRaslawski 3:61d42134c1be 42 mySpeaker.PlayNote(622.254,2.5/t,0.1); //E flat
CRaslawski 3:61d42134c1be 43 mySpeaker.PlayNote(0.0,0.5/t,0.0); //rest then repeat
4180_1 0:b2fdf3770282 44 }
4180_1 0:b2fdf3770282 45 }
4180_1 2:68eee0fb2026 46