ECE 4180 / Mbed 2 deprecated 4180-L2-P14

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "Speaker.h"
00003 
00004 // Speaker test program - euro police style siren now using new Speaker class method
00005 // for documentation see http://mbed.org/users/4180_1/notebook/using-a-speaker-for-audio-output/
00006 // can also be used to play a song, if you have all of the notes and durations
00007 // for musical note frequencies see http://en.wikipedia.org/wiki/Piano_key_frequencies
00008 
00009 float t = 2.5; //tempo controller
00010 
00011 int main()
00012 {
00013 // setup instance of new Speaker class, mySpeaker using pin 22
00014 // the pin must be a PWM output pin
00015     Speaker mySpeaker(p26);
00016     //DigitalOut shutdown(p17);
00017     // Ramblin Wreck
00018     while(1) {
00019 //first verse using lower octave because the speaker has too much sauce
00020         mySpeaker.PlayNote(783.991,1.0/t,0.1); // G
00021         mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
00022         mySpeaker.PlayNote(622.254,0.9/t,0.1); //E flat
00023         mySpeaker.PlayNote(0.0,0.1/t,0.0); //separation between the same notes
00024         mySpeaker.PlayNote(622.254,0.4/t,0.1); //E flat
00025         mySpeaker.PlayNote(0.0,0.1/t,0.0);
00026         mySpeaker.PlayNote(622.254,1.0/t,0.1); //E flat
00027         mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
00028         mySpeaker.PlayNote(783.991,0.9/t,0.1); // G
00029         mySpeaker.PlayNote(0.0,0.1/t,0.0);
00030         mySpeaker.PlayNote(783.991,0.4/t,0.1); // G
00031         mySpeaker.PlayNote(0.0,0.1/t,0.0);
00032         mySpeaker.PlayNote(783.991,0.5/t,0.1); // G
00033         mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
00034         mySpeaker.PlayNote(622.254,0.5/t,0.1); //E flat
00035         mySpeaker.PlayNote(698.456,0.4/t,0.1); //F
00036         mySpeaker.PlayNote(0.0,0.1/t,0.0);
00037         mySpeaker.PlayNote(698.456,0.4/t,0.1); //F
00038         mySpeaker.PlayNote(0.0,0.1/t,0.0);
00039         mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
00040         mySpeaker.PlayNote(622.254,1.0/t,0.1); //E flat
00041         mySpeaker.PlayNote(587.330,0.5/t,0.1); //D
00042         mySpeaker.PlayNote(622.254,2.5/t,0.1); //E flat
00043         mySpeaker.PlayNote(0.0,0.5/t,0.0); //rest then repeat
00044     }
00045 }
00046