First Draft, serial print change based on distance

Committer:
liam94
Date:
Fri Feb 04 16:29:33 2022 +0000
Revision:
16:af15244242c2
Parent:
beep/beep.cpp@14:837945ccd8c0
added in a couple more objects that can be detected for variety, changed deadband in all comparisons to =/- 5 mm to avoid crossover

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam94 14:837945ccd8c0 1 #include "beep.h"
liam94 14:837945ccd8c0 2 #include "mbed.h"
liam94 14:837945ccd8c0 3
liam94 14:837945ccd8c0 4
liam94 14:837945ccd8c0 5 /** class to make sound with a buzzer, based on a PwmOut
liam94 14:837945ccd8c0 6 * The class use a timeout to switch off the sound - it is not blocking while making noise
liam94 14:837945ccd8c0 7 *
liam94 14:837945ccd8c0 8 * Example:
liam94 14:837945ccd8c0 9 * @code
liam94 14:837945ccd8c0 10 * // Beep with 1Khz for 0.5 seconds
liam94 14:837945ccd8c0 11 * #include "mbed.h"
liam94 14:837945ccd8c0 12 * #include "beep.h"
liam94 14:837945ccd8c0 13 *
liam94 14:837945ccd8c0 14 * Beep buzzer(p21);
liam94 14:837945ccd8c0 15 *
liam94 14:837945ccd8c0 16 * int main() {
liam94 14:837945ccd8c0 17 * ...
liam94 14:837945ccd8c0 18 * buzzer.beep(1000,0.5);
liam94 14:837945ccd8c0 19 * ...
liam94 14:837945ccd8c0 20 * }
liam94 14:837945ccd8c0 21 * @endcode
liam94 14:837945ccd8c0 22 */
liam94 14:837945ccd8c0 23
liam94 14:837945ccd8c0 24 using namespace mbed;
liam94 14:837945ccd8c0 25 // constructor
liam94 14:837945ccd8c0 26 /** Create a Beep object connected to the specified PwmOut pin
liam94 14:837945ccd8c0 27 *
liam94 14:837945ccd8c0 28 * @param pin PwmOut pin to connect to
liam94 14:837945ccd8c0 29 */
liam94 14:837945ccd8c0 30
liam94 14:837945ccd8c0 31 Beep::Beep(PinName PTC10) : _pwm(PTC10) {
liam94 14:837945ccd8c0 32 _pwm.write(0.0); // after creating it have to be off
liam94 14:837945ccd8c0 33 }
liam94 14:837945ccd8c0 34
liam94 14:837945ccd8c0 35 /** stop the beep instantaneous
liam94 14:837945ccd8c0 36 * usually not used
liam94 14:837945ccd8c0 37 */
liam94 14:837945ccd8c0 38 void Beep::nobeep() {
liam94 14:837945ccd8c0 39 _pwm.write(0.0);
liam94 14:837945ccd8c0 40 }
liam94 14:837945ccd8c0 41
liam94 14:837945ccd8c0 42 /** Beep with given frequency and duration.
liam94 14:837945ccd8c0 43 *
liam94 14:837945ccd8c0 44 * @param frequency - the frequency of the tone in Hz
liam94 14:837945ccd8c0 45 * @param time - the duration of the tone in seconds
liam94 14:837945ccd8c0 46 */
liam94 14:837945ccd8c0 47
liam94 14:837945ccd8c0 48 void Beep::beep(float frequency, float time) {
liam94 14:837945ccd8c0 49
liam94 14:837945ccd8c0 50 _pwm.period(1.0/frequency);
liam94 14:837945ccd8c0 51 _pwm.write(0.5); // 50% duty cycle - beep on
liam94 14:837945ccd8c0 52 // toff.attach(&Beep::nobeep, time); // time to off
liam94 14:837945ccd8c0 53 }
liam94 14:837945ccd8c0 54
liam94 14:837945ccd8c0 55
liam94 14:837945ccd8c0 56
liam94 14:837945ccd8c0 57