4180Lab2Part10

Dependencies:   mbed

Fork of speaker_demo_PWM by jim hamblen

Committer:
CRaslawski
Date:
Mon Feb 27 22:53:39 2017 +0000
Revision:
3:61d42134c1be
Parent:
2:68eee0fb2026
initial commit

Who changed what in which revision?

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