Generate Morse code using console text input and output to LED and speaker.
Dependencies: 4DGL-uLCD-SE PinDetect mbed
https://mbed.org/users/jkhan/notebook/morse-code/
Speaker.h@0:277b4be8e03c, 2014-03-05 (annotated)
- Committer:
- jkhan
- Date:
- Wed Mar 05 18:05:59 2014 +0000
- Revision:
- 0:277b4be8e03c
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jkhan | 0:277b4be8e03c | 1 | #include "mbed.h" |
jkhan | 0:277b4be8e03c | 2 | // new class to play a note on Speaker based on PwmOut class |
jkhan | 0:277b4be8e03c | 3 | class Speaker |
jkhan | 0:277b4be8e03c | 4 | { |
jkhan | 0:277b4be8e03c | 5 | public: |
jkhan | 0:277b4be8e03c | 6 | Speaker(PinName pin) : _pin(pin) |
jkhan | 0:277b4be8e03c | 7 | { |
jkhan | 0:277b4be8e03c | 8 | // _pin(pin) means pass pin to the Speaker Constructor |
jkhan | 0:277b4be8e03c | 9 | } |
jkhan | 0:277b4be8e03c | 10 | |
jkhan | 0:277b4be8e03c | 11 | // class method to play a note based on PwmOut class |
jkhan | 0:277b4be8e03c | 12 | void PlayNote(float frequency, float duration, float volume) |
jkhan | 0:277b4be8e03c | 13 | { |
jkhan | 0:277b4be8e03c | 14 | _pin.period(1.0/frequency); // higher number = more base |
jkhan | 0:277b4be8e03c | 15 | _pin = volume/2.0; // higher number = more weird treble |
jkhan | 0:277b4be8e03c | 16 | wait(duration); |
jkhan | 0:277b4be8e03c | 17 | _pin = 0.0; |
jkhan | 0:277b4be8e03c | 18 | } |
jkhan | 0:277b4be8e03c | 19 | |
jkhan | 0:277b4be8e03c | 20 | private: |
jkhan | 0:277b4be8e03c | 21 | PwmOut _pin; |
jkhan | 0:277b4be8e03c | 22 | }; |