First Draft, serial print change based on distance

Committer:
liam94
Date:
Thu Feb 03 21:58:22 2022 +0000
Revision:
14:837945ccd8c0
added in new library titled "beep" to interface with the buzzer, used this library to make the buzzer sound for 0.5 seconds to indicate to the user when a reading has been taken

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam94 14:837945ccd8c0 1 #ifndef MBED_BEEP_H
liam94 14:837945ccd8c0 2 #define MBED_BEEP_H
liam94 14:837945ccd8c0 3
liam94 14:837945ccd8c0 4 #include "mbed.h"
liam94 14:837945ccd8c0 5
liam94 14:837945ccd8c0 6 /** Beep Class
liam94 14:837945ccd8c0 7 * @brief Acknowledgements to EJ Teb
liam94 14:837945ccd8c0 8 *
liam94 14:837945ccd8c0 9 * @brief class to make sound with a buzzer, based on a PwmOut
liam94 14:837945ccd8c0 10 * @brief The class use a timeout to switch off the sound - it is not blocking while making noise
liam94 14:837945ccd8c0 11 *
liam94 14:837945ccd8c0 12 * Example:
liam94 14:837945ccd8c0 13 * @code
liam94 14:837945ccd8c0 14 * // Beep with 1Khz for 0.5 seconds
liam94 14:837945ccd8c0 15 * #include "mbed.h"
liam94 14:837945ccd8c0 16 * #include "beep.h"
liam94 14:837945ccd8c0 17 *
liam94 14:837945ccd8c0 18 * Beep buzzer(p21);
liam94 14:837945ccd8c0 19 *
liam94 14:837945ccd8c0 20 * int main() {
liam94 14:837945ccd8c0 21 * ...
liam94 14:837945ccd8c0 22 * buzzer.beep(1000,0.5);
liam94 14:837945ccd8c0 23 * ...
liam94 14:837945ccd8c0 24 * }
liam94 14:837945ccd8c0 25 * @endcode
liam94 14:837945ccd8c0 26 */
liam94 14:837945ccd8c0 27
liam94 14:837945ccd8c0 28
liam94 14:837945ccd8c0 29 namespace mbed {
liam94 14:837945ccd8c0 30
liam94 14:837945ccd8c0 31 /* Class: Beep
liam94 14:837945ccd8c0 32 * A class witch uses pwm to controle a beeper to generate sounds.
liam94 14:837945ccd8c0 33 */
liam94 14:837945ccd8c0 34 class Beep {
liam94 14:837945ccd8c0 35
liam94 14:837945ccd8c0 36 public:
liam94 14:837945ccd8c0 37
liam94 14:837945ccd8c0 38 /** Create a Beep object connected to the specified PwmOut pin
liam94 14:837945ccd8c0 39 *
liam94 14:837945ccd8c0 40 * @param pin PwmOut pin to connect to
liam94 14:837945ccd8c0 41 */
liam94 14:837945ccd8c0 42 Beep (PinName PTC10);
liam94 14:837945ccd8c0 43
liam94 14:837945ccd8c0 44 /** Beep with given frequency and duration.
liam94 14:837945ccd8c0 45 *
liam94 14:837945ccd8c0 46 * @param frequency - the frequency of the tone in Hz
liam94 14:837945ccd8c0 47 * @param time - the duration of the tone in seconds
liam94 14:837945ccd8c0 48 */
liam94 14:837945ccd8c0 49 void beep (float frequency, float time);
liam94 14:837945ccd8c0 50
liam94 14:837945ccd8c0 51 /** stop the beep instantaneous
liam94 14:837945ccd8c0 52 * usually not used
liam94 14:837945ccd8c0 53 */
liam94 14:837945ccd8c0 54 void nobeep();
liam94 14:837945ccd8c0 55
liam94 14:837945ccd8c0 56 private :
liam94 14:837945ccd8c0 57 PwmOut _pwm;
liam94 14:837945ccd8c0 58 Timeout toff;
liam94 14:837945ccd8c0 59 };
liam94 14:837945ccd8c0 60
liam94 14:837945ccd8c0 61 }
liam94 14:837945ccd8c0 62 #endif