PURS ZI 008
Diff: Sviraj.cpp
- Revision:
- 0:66329e66d1c9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Sviraj.cpp Wed Sep 07 07:53:54 2016 +0000 @@ -0,0 +1,27 @@ +#include "mbed.h" +#include "Sviraj.h" + +Sviraj::Sviraj(PinName pinIzbora, PinName pinZvucnika) : izbor(pinIzbora), zvucnik(pinZvucnika) { + izbor.rise(this, &Sviraj::izborTona); + debounce.start(); + zvucnik = 0; + odabraniTon = 4; + frekvencija = 1; // u kHz +} + +void Sviraj::izborTona() { + if (debounce.read_ms() > 20) { + odabraniTon = ++odabraniTon % 5; + for (int i=0; i < odabraniTon; i++) + frekvencija *= 2; + zvucnik.period(1/(frekvencija*1000)); + frekvencija = 1; + zvucnik = 0.5; + vrijemeTona.attach(this, &Sviraj::iskljuciZvucnik, 5); + debounce.reset(); + } +} + +void Sviraj::iskljuciZvucnik() { + zvucnik = 0; +} \ No newline at end of file