Make noise with a piezo buzzer. Use a digital out pin.

Fork of beep by Peter Drescher

This is a simple non blocking library to turn on the pin passed into the constructor for the amount of time specified when calling the beep(float time) function.

I use it to turn on a buzzer but it could be used for anything you need to turn on for a set time.

Files at this revision

API Documentation at this revision

Comitter:
joe4465
Date:
Sat Feb 22 13:11:02 2014 +0000
Parent:
4:d8e14429a95f
Commit message:
commit before library update

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
diff -r d8e14429a95f -r 372aa7360db7 beep.cpp
--- a/beep.cpp	Tue Sep 11 08:21:45 2012 +0000
+++ b/beep.cpp	Sat Feb 22 13:11:02 2014 +0000
@@ -27,15 +27,15 @@
   * @param pin PwmOut pin to connect to 
   */
     
-Beep::Beep(PinName pin) : _pwm(pin) {
-    _pwm.write(0.0);     // after creating it have to be off
+Beep::Beep(PinName pin) : _digitalOut(pin) {
+    _digitalOut.write(0);     // after creating it have to be off
 }
 
  /** stop the beep instantaneous 
   * usually not used 
   */
 void Beep::nobeep() {
-    _pwm.write(0.0);
+    _digitalOut.write(0);
 }
 
 /** Beep with given frequency and duration.
@@ -44,10 +44,9 @@
  * @param time - the duration of the tone in seconds
  */
      
-void Beep::beep(float freq, float time) {
+void Beep::beep(float time) {
 
-    _pwm.period(1.0/freq);
-    _pwm.write(0.5);            // 50% duty cycle - beep on
+    _digitalOut.write(1);
     toff.attach(this,&Beep::nobeep, time);   // time to off
 }
 
diff -r d8e14429a95f -r 372aa7360db7 beep.h
--- a/beep.h	Tue Sep 11 08:21:45 2012 +0000
+++ b/beep.h	Sat Feb 22 13:11:02 2014 +0000
@@ -43,7 +43,7 @@
  * @param frequency - the frequency of the tone in Hz
  * @param time - the duration of the tone in seconds
  */
-    void beep (float frequency, float time);
+    void beep (float time);
 
 /** stop the beep instantaneous 
  * usually not used 
@@ -51,7 +51,7 @@
     void nobeep();
 
 private :
-    PwmOut _pwm;
+    DigitalOut _digitalOut;
     Timeout toff;
 };