ECE 4180 Lab 2 Part 14
Fork of song_demo_PWM by
Revision 0:b2fdf3770282, committed 2013-01-20
- Comitter:
- 4180_1
- Date:
- Sun Jan 20 03:02:37 2013 +0000
- Child:
- 1:2e6ea42675c7
- Commit message:
- ver 1.0
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Speaker.h Sun Jan 20 03:02:37 2013 +0000
@@ -0,0 +1,19 @@
+#include "mbed.h"
+// new class to play a note on Speaker based on PwmOut class
+class Speaker
+{
+public:
+ Speaker(PinName pin) : _pin(pin) {
+// _pin(pin) means pass pin to the Speaker Constructor
+ }
+// class method to play a note based on PwmOut class
+ void PlayNote(float frequency, float duration, float volume) {
+ _pin.period(1.0/frequency);
+ _pin = volume/2.0;
+ wait(duration);
+ _pin = 0.0;
+ }
+
+private:
+ PwmOut _pin;
+};
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sun Jan 20 03:02:37 2013 +0000
@@ -0,0 +1,19 @@
+#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 the notes and durations
+// for musical note frequencies see http://en.wikipedia.org/wiki/Piano_key_frequencies
+
+int main()
+{
+// setup instance of new Speaker class, mySpeaker using pin 21
+// the pin must be a PWM output pin
+ Speaker mySpeaker(p21);
+ // loops forever playing two notes on speaker
+ while(1) {
+ mySpeaker.PlayNote(969.0,0.5,0.5);
+ mySpeaker.PlayNote(800.0,0.5,0.5);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Jan 20 03:02:37 2013 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/0480438fc29c \ No newline at end of file
