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.

Revision:
5:372aa7360db7
Parent:
4:d8e14429a95f
--- 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
 }