Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp
- Committer:
- CRaslawski
- Date:
- 2017-02-27
- Revision:
- 3:61d42134c1be
- Parent:
- 2:68eee0fb2026
- Child:
- 4:f4355e8f7d19
File content as of revision 3:61d42134c1be:
#include "mbed.h"
#include "Speaker.h"
// Speaker test program - euro police style siren now using new Speaker class method
// for documentation see http://mbed.org/users/4180_1/notebook/using-a-speaker-for-audio-output/
// can also be used to play a song, if you have all of the notes and durations
// for musical note frequencies see http://en.wikipedia.org/wiki/Piano_key_frequencies
float t = 2.5; //tempo controller
int main()
{
// setup instance of new Speaker class, mySpeaker using pin 22
// the pin must be a PWM output pin
Speaker mySpeaker(p22);
//DigitalOut shutdown(p17);
// Ramblin Wreck
while(1) {
//first verse using lower octave because the speaker has too much sauce
mySpeaker.PlayNote(783.991,1.0/t,0.1); // G
mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
mySpeaker.PlayNote(622.254,0.9/t,0.1); //E flat
mySpeaker.PlayNote(0.0,0.1/t,0.0); //separation between the same notes
mySpeaker.PlayNote(622.254,0.4/t,0.1); //E flat
mySpeaker.PlayNote(0.0,0.1/t,0.0);
mySpeaker.PlayNote(622.254,1.0/t,0.1); //E flat
mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
mySpeaker.PlayNote(783.991,0.9/t,0.1); // G
mySpeaker.PlayNote(0.0,0.1/t,0.0);
mySpeaker.PlayNote(783.991,0.4/t,0.1); // G
mySpeaker.PlayNote(0.0,0.1/t,0.0);
mySpeaker.PlayNote(783.991,0.5/t,0.1); // G
mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
mySpeaker.PlayNote(622.254,0.5/t,0.1); //E flat
mySpeaker.PlayNote(698.456,0.4/t,0.1); //F
mySpeaker.PlayNote(0.0,0.1/t,0.0);
mySpeaker.PlayNote(698.456,0.4/t,0.1); //F
mySpeaker.PlayNote(0.0,0.1/t,0.0);
mySpeaker.PlayNote(698.456,0.5/t,0.1); //F
mySpeaker.PlayNote(622.254,1.0/t,0.1); //E flat
mySpeaker.PlayNote(587.330,0.5/t,0.1); //D
mySpeaker.PlayNote(622.254,2.5/t,0.1); //E flat
mySpeaker.PlayNote(0.0,0.5/t,0.0); //rest then repeat
}
}