2036 mbed lab4

Dependencies:   4DGL-uLCD-SE PinDetect

Committer:
lhanks02
Date:
Mon Mar 28 18:44:30 2022 +0000
Revision:
0:bbda88bee65a
lab4

Who changed what in which revision?

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