Utilities classes for the Zumo Robot
Dependents: ZumoRobotBluetoothControlled Fsl_Zumo
This library represents some useful code for controlling your Zumo Robot.
Diff: Buzzer.cpp
- Revision:
- 6:7740c9d8d834
- Parent:
- 5:5e12111ef01f
- Child:
- 7:d2af97b7cc94
--- a/Buzzer.cpp Thu Dec 11 20:52:06 2014 +0000 +++ b/Buzzer.cpp Sun Dec 21 12:46:41 2014 +0000 @@ -7,29 +7,63 @@ #include "Buzzer.h" -Buzzer::Buzzer(PinName buzzerPinName):buzzerPin(buzzerPinName) { - +Buzzer::Buzzer(PinName buzzerPinName):buzzerPin(buzzerPinName) +{ + // Initialising buzzerPin.period_us(0); buzzerPin.pulsewidth_us(0); } -Buzzer::~Buzzer() { - +Buzzer::~Buzzer() +{ + // Deinitialising } -void Buzzer::stopBeep() { - +void Buzzer::stopBeep() +{ + buzzerPin.period_us(0); buzzerPin.pulsewidth_us(0); } -void Buzzer::startBeep(float frequency, float duration) { - - buzzerPin.period(1/frequency); +void Buzzer::startBeep(float frequency, float duration) +{ + + buzzerPin.period(1/frequency); buzzerPin.pulsewidth_us(100); timeout.attach(this, &Buzzer::stopBeep, duration); } +void Buzzer::playDefaultMelody() +{ + // Playing default melody on buzzer + while (true) { + buzzerPin.period(16); + buzzerPin.pulsewidth_us(200); + wait(0.5); + + buzzerPin.period(0); + buzzerPin.pulsewidth_us(0); + wait(0.5); + + buzzerPin.period(16); + buzzerPin.pulsewidth_us(200); + wait(0.5); + + buzzerPin.period(0); + buzzerPin.pulsewidth_us(0); + wait(0.5); + + buzzerPin.period(16); + buzzerPin.pulsewidth_us(200); + wait(0.5); + + buzzerPin.period(0); + buzzerPin.pulsewidth_us(0); + wait(0.5); + } +} + #endif // BuzzerCpp \ No newline at end of file