ssss

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