Beep using PWM and speaker

Dependents:   20180621_FT813

Fork of beep by Pallavi Prasad

Files at this revision

API Documentation at this revision

Comitter:
JackB
Date:
Mon Jul 23 12:24:59 2018 +0000
Parent:
0:080ef5594cce
Commit message:
Beep

Changed in this revision

Beep.cpp Show annotated file Show diff for this revision Revisions of this file
Beep.h Show annotated file Show diff for this revision Revisions of this file
beep.cpp Show diff for this revision Revisions of this file
beep.h Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Beep.cpp	Mon Jul 23 12:24:59 2018 +0000
@@ -0,0 +1,58 @@
+#include "Beep.h"
+#include "mbed.h"
+
+/** class to make sound with a buzzer, based on a PwmOut
+ *   The class use a timeout to switch off the sound  - it is not blocking while making noise
+ *
+ * Example:
+ * @code
+ * // Beep with 1Khz for 0.5 seconds
+ * #include "mbed.h"
+ * #include "beep.h"
+ * 
+ * Beep buzzer(p21);
+ * 
+ * int main() {
+ *       ...
+ *   buzzer.beep(1000,0.5);    
+ *       ...
+ * }
+ * @endcode
+ */
+
+using namespace mbed;
+ // constructor
+ /** Create a Beep object connected to the specified PwmOut pin
+  *
+  * @param pin PwmOut pin to connect to 
+  */
+    
+Beep::Beep(PinName pin) : _pwm(pin) {
+    float freq = 1046.50;
+    _pwm.period(1.0f/freq);
+    _pwm.write(0.0f);     // after creating it have to be off
+}
+
+ /** stop the beep instantaneous 
+  * usually not used 
+  */
+void Beep::nobeep() {
+    _pwm.write(0.0f);
+}
+
+/** Beep with given frequency and duration.
+ *
+ * @param frequency - the frequency of the tone in Hz
+ * @param time - the duration of the tone in seconds
+ */
+     
+void Beep::beep(float freq, float time)
+{
+    _pwm.period(1.0f/freq);
+    _pwm.write(0.5f);            // 50% duty cycle - beep on
+    toff.attach(this,&Beep::nobeep, time);   // time to off
+}
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Beep.h	Mon Jul 23 12:24:59 2018 +0000
@@ -0,0 +1,59 @@
+#ifndef MBED_BEEP_H
+#define MBED_BEEP_H
+
+#include "mbed.h"
+
+/** class to make sound with a buzzer, based on a PwmOut
+ *   The class use a timeout to switch off the sound  - it is not blocking while making noise
+ *
+ * Example:
+ * @code
+ * // Beep with 1Khz for 0.5 seconds
+ * #include "mbed.h"
+ * #include "beep.h"
+ * 
+ * Beep buzzer(p21);
+ * 
+ * int main() {
+ *        ...
+ *   buzzer.beep(1000,0.5);    
+ *       ...
+ * }
+ * @endcode
+ */
+
+
+namespace mbed {
+
+/* Class: Beep
+ *  A class witch uses pwm to controle a beeper to generate sounds.
+ */
+class Beep {
+
+public:
+
+/** Create a Beep object connected to the specified PwmOut pin
+ *
+ * @param pin PwmOut pin to connect to 
+ */
+    Beep (PinName pin);
+
+/** Beep with given frequency and duration.
+ *
+ * @param frequency - the frequency of the tone in Hz
+ * @param time - the duration of the tone in seconds
+ */
+    void beep (float frequency, float time);
+
+/** stop the beep instantaneous 
+ * usually not used 
+ */
+    void nobeep();
+
+private :
+    PwmOut _pwm;
+    Timeout toff;
+};
+
+}
+#endif
--- a/beep.cpp	Thu Oct 11 20:14:49 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-#include "beep.h"
-#include "mbed.h"
-
-/** class to make sound with a buzzer, based on a PwmOut
- *   The class use a timeout to switch off the sound  - it is not blocking while making noise
- *
- * Example:
- * @code
- * // Beep with 1Khz for 0.5 seconds
- * #include "mbed.h"
- * #include "beep.h"
- * 
- * Beep buzzer(p21);
- * 
- * int main() {
- *       ...
- *   buzzer.beep(1000,0.5);    
- *       ...
- * }
- * @endcode
- */
-
-using namespace mbed;
- // constructor
- /** Create a Beep object connected to the specified PwmOut pin
-  *
-  * @param pin PwmOut pin to connect to 
-  */
-    
-Beep::Beep(PinName pin) : _pwm(pin) {
-    _pwm.write(0.0);     // after creating it have to be off
-}
-
- /** stop the beep instantaneous 
-  * usually not used 
-  */
-void Beep::nobeep() {
-    _pwm.write(0.0);
-}
-
-/** Beep with given frequency and duration.
- *
- * @param frequency - the frequency of the tone in Hz
- * @param time - the duration of the tone in seconds
- */
-     
-void Beep::beep(float freq, float time) {
-
-    _pwm.period(1.0/freq);
-    _pwm.write(0.5);            // 50% duty cycle - beep on
-    toff.attach(this,&Beep::nobeep, time);   // time to off
-}
-
-
-
-
--- a/beep.h	Thu Oct 11 20:14:49 2012 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-#ifndef MBED_BEEP_H
-#define MBED_BEEP_H
-
-#include "mbed.h"
-
-/** class to make sound with a buzzer, based on a PwmOut
- *   The class use a timeout to switch off the sound  - it is not blocking while making noise
- *
- * Example:
- * @code
- * // Beep with 1Khz for 0.5 seconds
- * #include "mbed.h"
- * #include "beep.h"
- * 
- * Beep buzzer(p21);
- * 
- * int main() {
- *        ...
- *   buzzer.beep(1000,0.5);    
- *       ...
- * }
- * @endcode
- */
-
-
-namespace mbed {
-
-/* Class: Beep
- *  A class witch uses pwm to controle a beeper to generate sounds.
- */
-class Beep {
-
-public:
-
-/** Create a Beep object connected to the specified PwmOut pin
- *
- * @param pin PwmOut pin to connect to 
- */
-    Beep (PinName pin);
-
-/** Beep with given frequency and duration.
- *
- * @param frequency - the frequency of the tone in Hz
- * @param time - the duration of the tone in seconds
- */
-    void beep (float frequency, float time);
-
-/** stop the beep instantaneous 
- * usually not used 
- */
-    void nobeep();
-
-private :
-    PwmOut _pwm;
-    Timeout toff;
-};
-
-}
-#endif