PURS ZI 008

Committer:
tbjazic
Date:
Wed Sep 07 07:53:54 2016 +0000
Revision:
0:66329e66d1c9
inital

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tbjazic 0:66329e66d1c9 1 #include "mbed.h"
tbjazic 0:66329e66d1c9 2 #include "Sviraj.h"
tbjazic 0:66329e66d1c9 3
tbjazic 0:66329e66d1c9 4 Sviraj::Sviraj(PinName pinIzbora, PinName pinZvucnika) : izbor(pinIzbora), zvucnik(pinZvucnika) {
tbjazic 0:66329e66d1c9 5 izbor.rise(this, &Sviraj::izborTona);
tbjazic 0:66329e66d1c9 6 debounce.start();
tbjazic 0:66329e66d1c9 7 zvucnik = 0;
tbjazic 0:66329e66d1c9 8 odabraniTon = 4;
tbjazic 0:66329e66d1c9 9 frekvencija = 1; // u kHz
tbjazic 0:66329e66d1c9 10 }
tbjazic 0:66329e66d1c9 11
tbjazic 0:66329e66d1c9 12 void Sviraj::izborTona() {
tbjazic 0:66329e66d1c9 13 if (debounce.read_ms() > 20) {
tbjazic 0:66329e66d1c9 14 odabraniTon = ++odabraniTon % 5;
tbjazic 0:66329e66d1c9 15 for (int i=0; i < odabraniTon; i++)
tbjazic 0:66329e66d1c9 16 frekvencija *= 2;
tbjazic 0:66329e66d1c9 17 zvucnik.period(1/(frekvencija*1000));
tbjazic 0:66329e66d1c9 18 frekvencija = 1;
tbjazic 0:66329e66d1c9 19 zvucnik = 0.5;
tbjazic 0:66329e66d1c9 20 vrijemeTona.attach(this, &Sviraj::iskljuciZvucnik, 5);
tbjazic 0:66329e66d1c9 21 debounce.reset();
tbjazic 0:66329e66d1c9 22 }
tbjazic 0:66329e66d1c9 23 }
tbjazic 0:66329e66d1c9 24
tbjazic 0:66329e66d1c9 25 void Sviraj::iskljuciZvucnik() {
tbjazic 0:66329e66d1c9 26 zvucnik = 0;
tbjazic 0:66329e66d1c9 27 }