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@3:61d42134c1be, 2017-02-27 (annotated)
- 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?
| User | Revision | Line number | New 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 |