Simple tool for PWM piezo speaker

Committer:
TeaPack_CZ
Date:
Sat Oct 01 19:09:55 2016 +0000
Revision:
0:39de01daa2de
Child:
1:220d39711dc6
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TeaPack_CZ 0:39de01daa2de 1 #ifndef PIEZO
TeaPack_CZ 0:39de01daa2de 2 #define PIEZO
TeaPack_CZ 0:39de01daa2de 3
TeaPack_CZ 0:39de01daa2de 4 #include "mbed.h"
TeaPack_CZ 0:39de01daa2de 5
TeaPack_CZ 0:39de01daa2de 6 class Piezo{
TeaPack_CZ 0:39de01daa2de 7
TeaPack_CZ 0:39de01daa2de 8 public:
TeaPack_CZ 0:39de01daa2de 9 Piezo(PinName Pwmout);
TeaPack_CZ 0:39de01daa2de 10
TeaPack_CZ 0:39de01daa2de 11 void play(float, int);
TeaPack_CZ 0:39de01daa2de 12 void playAsync(float, int);
TeaPack_CZ 0:39de01daa2de 13
TeaPack_CZ 0:39de01daa2de 14 //void setFrequency(int Hz);
TeaPack_CZ 0:39de01daa2de 15 //void setDuration(int time_ms);
TeaPack_CZ 0:39de01daa2de 16 void stop();
TeaPack_CZ 0:39de01daa2de 17
TeaPack_CZ 0:39de01daa2de 18 private:
TeaPack_CZ 0:39de01daa2de 19 PwmOut _pwm;
TeaPack_CZ 0:39de01daa2de 20 Ticker _timer;
TeaPack_CZ 0:39de01daa2de 21 Ticker _updater;
TeaPack_CZ 0:39de01daa2de 22
TeaPack_CZ 0:39de01daa2de 23 float Period;
TeaPack_CZ 0:39de01daa2de 24
TeaPack_CZ 0:39de01daa2de 25 float min_freq;
TeaPack_CZ 0:39de01daa2de 26 float max_freq;
TeaPack_CZ 0:39de01daa2de 27
TeaPack_CZ 0:39de01daa2de 28 int Duration;
TeaPack_CZ 0:39de01daa2de 29 void autoStop();
TeaPack_CZ 0:39de01daa2de 30
TeaPack_CZ 0:39de01daa2de 31 float stepMultiplier;
TeaPack_CZ 0:39de01daa2de 32
TeaPack_CZ 0:39de01daa2de 33 };
TeaPack_CZ 0:39de01daa2de 34
TeaPack_CZ 0:39de01daa2de 35 #endif