Gregory Boudreau / Mbed 2 deprecated Lab6_2036_turkey_greg

Dependencies:   4DGL-uLCD-SE PinDetect mbed

speaker.h

Committer:
gboudreau6
Date:
2022-11-22
Revision:
0:56c7173428ac

File content as of revision 0:56c7173428ac:

#ifndef SPEAKER_H
#define SPEAKER_H

#include "mbed.h"
// new class to play a note on Speaker based on PwmOut class
class Speaker
{
public:
    Speaker(PinName pin) : _pin(pin) {
    // _pin(pin) means pass pin to the Speaker Constructor
    }
    
    // class method to play a note based on PwmOut class
    void PlayNote(float frequency, float duration, float volume) {
        _pin.period(1.0/frequency);
        _pin = volume/2.0;
        wait(duration);
        _pin = 0.0;
    }

private:
    PwmOut _pin;
};

#endif