buzzer
Fork of buzzer by
buzzer.cpp@2:9133a863f1dd, 2018-03-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |