buzzer

Dependents:   Handheld_Node

Fork of buzzer by Renosi Momoh

Committer:
basvuyk
Date:
Tue Mar 27 14:12:18 2018 +0000
Revision:
2:9133a863f1dd
Parent:
0:01eac446ef9f
master V1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Reniboy 0:01eac446ef9f 1 #include "buzzer.h"
Reniboy 0:01eac446ef9f 2 #include "mbed.h"
Reniboy 0:01eac446ef9f 3
Reniboy 0:01eac446ef9f 4 using namespace mbed;
Reniboy 0:01eac446ef9f 5 // constructor
Reniboy 0:01eac446ef9f 6 /** Create a Beep object connected to the specified PwmOut pin
Reniboy 0:01eac446ef9f 7 *
Reniboy 0:01eac446ef9f 8 * @param pin PwmOut pin to connect to
Reniboy 0:01eac446ef9f 9 */
Reniboy 0:01eac446ef9f 10
Reniboy 0:01eac446ef9f 11 Beep::Beep(PinName pin) : _pwm(pin) {
Reniboy 0:01eac446ef9f 12 _pwm.write(0.0); // after creating it have to be off
Reniboy 0:01eac446ef9f 13 }
Reniboy 0:01eac446ef9f 14
Reniboy 0:01eac446ef9f 15 /** stop the beep instantaneous
Reniboy 0:01eac446ef9f 16 * usually not used
Reniboy 0:01eac446ef9f 17 */
Reniboy 0:01eac446ef9f 18 void Beep::nobeep() {
Reniboy 0:01eac446ef9f 19 _pwm.write(0.0);
Reniboy 0:01eac446ef9f 20 }
Reniboy 0:01eac446ef9f 21
Reniboy 0:01eac446ef9f 22 /** Beep with given frequency and duration.
Reniboy 0:01eac446ef9f 23 *
Reniboy 0:01eac446ef9f 24 * @param frequency - the frequency of the tone in Hz
Reniboy 0:01eac446ef9f 25 * @param time - the duration of the tone in seconds
Reniboy 0:01eac446ef9f 26 */
Reniboy 0:01eac446ef9f 27
Reniboy 0:01eac446ef9f 28 void Beep::beep(float freq, float time) {
Reniboy 0:01eac446ef9f 29
Reniboy 0:01eac446ef9f 30 _pwm.period(1.0/freq);
basvuyk 2:9133a863f1dd 31 _pwm.write(0.2); // 50% duty cycle - beep on
Reniboy 0:01eac446ef9f 32 toff.attach(this,&Beep::nobeep, time); // time to off
Reniboy 0:01eac446ef9f 33 }