Utilities classes for the Zumo Robot
Dependents: ZumoRobotBluetoothControlled Fsl_Zumo
This library represents some useful code for controlling your Zumo Robot.
Buzzer.cpp@6:7740c9d8d834, 2014-12-21 (annotated)
- Committer:
- catalincraciun7
- Date:
- Sun Dec 21 12:46:41 2014 +0000
- Revision:
- 6:7740c9d8d834
- Parent:
- 5:5e12111ef01f
- Child:
- 7:d2af97b7cc94
Encryption removed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
catalincraciun7 | 4:dcd52a961392 | 1 | // Craciun Catalin |
catalincraciun7 | 4:dcd52a961392 | 2 | // Buzzer.cpp |
catalincraciun7 | 4:dcd52a961392 | 3 | // © 2014 Catalin Craciun |
catalincraciun7 | 4:dcd52a961392 | 4 | |
catalincraciun7 | 4:dcd52a961392 | 5 | #ifndef BuzzerCpp |
catalincraciun7 | 4:dcd52a961392 | 6 | #define BuzzerCpp |
catalincraciun7 | 4:dcd52a961392 | 7 | |
catalincraciun7 | 4:dcd52a961392 | 8 | #include "Buzzer.h" |
catalincraciun7 | 4:dcd52a961392 | 9 | |
catalincraciun7 | 6:7740c9d8d834 | 10 | Buzzer::Buzzer(PinName buzzerPinName):buzzerPin(buzzerPinName) |
catalincraciun7 | 6:7740c9d8d834 | 11 | { |
catalincraciun7 | 6:7740c9d8d834 | 12 | |
catalincraciun7 | 4:dcd52a961392 | 13 | // Initialising |
catalincraciun7 | 5:5e12111ef01f | 14 | buzzerPin.period_us(0); |
catalincraciun7 | 5:5e12111ef01f | 15 | buzzerPin.pulsewidth_us(0); |
catalincraciun7 | 4:dcd52a961392 | 16 | } |
catalincraciun7 | 4:dcd52a961392 | 17 | |
catalincraciun7 | 6:7740c9d8d834 | 18 | Buzzer::~Buzzer() |
catalincraciun7 | 6:7740c9d8d834 | 19 | { |
catalincraciun7 | 6:7740c9d8d834 | 20 | |
catalincraciun7 | 4:dcd52a961392 | 21 | // Deinitialising |
catalincraciun7 | 4:dcd52a961392 | 22 | } |
catalincraciun7 | 4:dcd52a961392 | 23 | |
catalincraciun7 | 6:7740c9d8d834 | 24 | void Buzzer::stopBeep() |
catalincraciun7 | 6:7740c9d8d834 | 25 | { |
catalincraciun7 | 6:7740c9d8d834 | 26 | |
catalincraciun7 | 5:5e12111ef01f | 27 | buzzerPin.period_us(0); |
catalincraciun7 | 5:5e12111ef01f | 28 | buzzerPin.pulsewidth_us(0); |
catalincraciun7 | 4:dcd52a961392 | 29 | } |
catalincraciun7 | 4:dcd52a961392 | 30 | |
catalincraciun7 | 6:7740c9d8d834 | 31 | void Buzzer::startBeep(float frequency, float duration) |
catalincraciun7 | 6:7740c9d8d834 | 32 | { |
catalincraciun7 | 6:7740c9d8d834 | 33 | |
catalincraciun7 | 6:7740c9d8d834 | 34 | buzzerPin.period(1/frequency); |
catalincraciun7 | 5:5e12111ef01f | 35 | buzzerPin.pulsewidth_us(100); |
catalincraciun7 | 4:dcd52a961392 | 36 | timeout.attach(this, &Buzzer::stopBeep, duration); |
catalincraciun7 | 4:dcd52a961392 | 37 | } |
catalincraciun7 | 4:dcd52a961392 | 38 | |
catalincraciun7 | 6:7740c9d8d834 | 39 | void Buzzer::playDefaultMelody() |
catalincraciun7 | 6:7740c9d8d834 | 40 | { |
catalincraciun7 | 6:7740c9d8d834 | 41 | // Playing default melody on buzzer |
catalincraciun7 | 6:7740c9d8d834 | 42 | while (true) { |
catalincraciun7 | 6:7740c9d8d834 | 43 | buzzerPin.period(16); |
catalincraciun7 | 6:7740c9d8d834 | 44 | buzzerPin.pulsewidth_us(200); |
catalincraciun7 | 6:7740c9d8d834 | 45 | wait(0.5); |
catalincraciun7 | 6:7740c9d8d834 | 46 | |
catalincraciun7 | 6:7740c9d8d834 | 47 | buzzerPin.period(0); |
catalincraciun7 | 6:7740c9d8d834 | 48 | buzzerPin.pulsewidth_us(0); |
catalincraciun7 | 6:7740c9d8d834 | 49 | wait(0.5); |
catalincraciun7 | 6:7740c9d8d834 | 50 | |
catalincraciun7 | 6:7740c9d8d834 | 51 | buzzerPin.period(16); |
catalincraciun7 | 6:7740c9d8d834 | 52 | buzzerPin.pulsewidth_us(200); |
catalincraciun7 | 6:7740c9d8d834 | 53 | wait(0.5); |
catalincraciun7 | 6:7740c9d8d834 | 54 | |
catalincraciun7 | 6:7740c9d8d834 | 55 | buzzerPin.period(0); |
catalincraciun7 | 6:7740c9d8d834 | 56 | buzzerPin.pulsewidth_us(0); |
catalincraciun7 | 6:7740c9d8d834 | 57 | wait(0.5); |
catalincraciun7 | 6:7740c9d8d834 | 58 | |
catalincraciun7 | 6:7740c9d8d834 | 59 | buzzerPin.period(16); |
catalincraciun7 | 6:7740c9d8d834 | 60 | buzzerPin.pulsewidth_us(200); |
catalincraciun7 | 6:7740c9d8d834 | 61 | wait(0.5); |
catalincraciun7 | 6:7740c9d8d834 | 62 | |
catalincraciun7 | 6:7740c9d8d834 | 63 | buzzerPin.period(0); |
catalincraciun7 | 6:7740c9d8d834 | 64 | buzzerPin.pulsewidth_us(0); |
catalincraciun7 | 6:7740c9d8d834 | 65 | wait(0.5); |
catalincraciun7 | 6:7740c9d8d834 | 66 | } |
catalincraciun7 | 6:7740c9d8d834 | 67 | } |
catalincraciun7 | 6:7740c9d8d834 | 68 | |
catalincraciun7 | 4:dcd52a961392 | 69 | #endif // BuzzerCpp |