World In the Balance

Dependencies:   mbed 4DGL-uLCD-SE PinDetect

Committer:
ckaminsky7
Date:
Sat Dec 04 02:19:22 2021 +0000
Revision:
0:eb6c4121cfd1
World In the Balance Lab6 2036 Cody Kaminsky

Who changed what in which revision?

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