chumbaka

Dependencies:   Servo mbed

Committer:
limcheecheng
Date:
Wed Oct 01 08:54:54 2014 +0000
Revision:
0:1df60be3424b
Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
limcheecheng 0:1df60be3424b 1 #include "mbed.h"
limcheecheng 0:1df60be3424b 2 // new class to play a note on Speaker based on PwmOut class
limcheecheng 0:1df60be3424b 3 class Speaker
limcheecheng 0:1df60be3424b 4 {
limcheecheng 0:1df60be3424b 5 public:
limcheecheng 0:1df60be3424b 6 Speaker(PinName pin) : _pin(pin) {
limcheecheng 0:1df60be3424b 7 // _pin(pin) means pass pin to the Speaker Constructor
limcheecheng 0:1df60be3424b 8 }
limcheecheng 0:1df60be3424b 9 // class method to play a note based on PwmOut class
limcheecheng 0:1df60be3424b 10 void PlayNote(float frequency, float duration, float volume) {
limcheecheng 0:1df60be3424b 11 _pin.period(1.0/frequency);
limcheecheng 0:1df60be3424b 12 _pin = volume/2.0;
limcheecheng 0:1df60be3424b 13 wait(duration);
limcheecheng 0:1df60be3424b 14 _pin = 0.0;
limcheecheng 0:1df60be3424b 15 }
limcheecheng 0:1df60be3424b 16
limcheecheng 0:1df60be3424b 17 private:
limcheecheng 0:1df60be3424b 18 PwmOut _pin;
limcheecheng 0:1df60be3424b 19 };