Simple tool for PWM piezo speaker
Diff: Piezo.h
- Revision:
- 2:fa6d9a0b66fc
- Parent:
- 1:220d39711dc6
- Child:
- 3:df1e38c2c57b
--- a/Piezo.h Sat Oct 01 19:13:22 2016 +0000 +++ b/Piezo.h Sat Oct 01 21:15:45 2016 +0000 @@ -3,22 +3,68 @@ #include "mbed.h" -class Piezo{ - +/** Class for the PWM Piezo speaker. + * This class is using PWM to make sounds with piezo speaker. + * Currently tested with LPC1768.\n\n + * + * + * Writen by: Jan Crha (TeaPack_CZ), 2016. + * + * Last modified: 2016-10-01 + * + * Example: + * @code + * #include "mbed.h" + * #include "Piezo.h" + * + * Piezo PS(p21); + * + * int main(){ + * int playTime = 120; + * + * for(int i=0; i<2; i++) + * { + * PS.play(466.16,playTime); + * wait_ms(playTime); + * PS.play(415.30,playTime); + * wait_ms(playTime); + * + * PS.play(466.16,playTime); + * wait_ms(playTime); + * PS.play(349.23,playTime); + * wait_ms(playTime); + * + * PS.play(277.18,playTime/2); + * wait_ms(playTime/2); + * PS.play(349.23,playTime/2); + * wait_ms(playTime/2); + * wait_ms(playTime); + * PS.play(233.08,playTime/2); + * wait_ms(playTime/2); + * + * wait_ms(playTime*4); + * } + * } + * @endcode + */ + +class Piezo +{ + public: Piezo(PinName Pwmout); - + void play(float, int); void playAsync(float, int); - + void stop(); private: PwmOut _pwm; Ticker _timer; - + float Period; - + float min_freq; float max_freq; };