ssss
Diff: Audio.h
- Revision:
- 0:e9c48701a273
- Child:
- 1:f9ed5024854e
diff -r 000000000000 -r e9c48701a273 Audio.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Audio.h Mon Aug 07 10:54:06 2017 +0000 @@ -0,0 +1,66 @@ +/* + \\ library ini merupakan play audio menggunakan PWM dan buzzer + \\ terinspirasi dari https://developer.mbed.org/users/4180_1/notebook/using-a-speaker-for-audio-output/ +*/ + +#ifndef AUDIO_H +#define AUDIO_H + +#include "mbed.h" + +class Audio +{ +public: + Audio(PinName buzzer); + + /* + \\ Set Volume digunakan untuk menentukan Volume dari buzzer + \\ Parameter volume bernilai 0.0 - 2.0 + \\ 0.0 untuk mute dan 2.0 untuk full + */ + void SetVolume(double volume=0.5f); + + /* + \\ SetDuration digunakan untuk menentukan lamanya buzzer bunyi dalam satu siklus + \\ Parameter menggunakan tipe bilangan bulat dalam orde mili sekon + */ + void SetDuration(unsigned int milisec=1000); + + /* + \\ PlayNote digunakan untuk membunyikan buzzer sesuai dengan nada, + \\ Nada yang digunakan merupakan nada dasar do sampai si dengan c=do + \\ parameter angka merupakan perwujudan nada 0=diam, 1=do, 2=re, 3=mi, dst + */ + void PlayNote(unsigned int angka); + + /* + \\ PlayNote digunakan untuk membunyikan buzzer sesuai dengan nada, + \\ dimainkan dalam not huruf + \\ parameter huruf berupa const char * karena dapat + */ +// void PlayNote(const char * huruf); + + void PlayNote(double frequency, double duration, double volume); + + void mute(); +private: +// PwmOut out; + PinName _out; + double vol; + int ms; +}; + +// ----------------------------------------------------------------------------- +class MyAudio : public Audio +{ +public: + MyAudio(PinName buzz); + void play(const int &code); + +private: + void set(double dur=500, double vol=0.1); + void playing(unsigned int note); + void mute(); +}; + +#endif // AUDIO_H \ No newline at end of file