Final

Dependencies:   mbed NadzorTemperature

Committer:
fjakic
Date:
Tue Sep 21 15:45:16 2021 +0000
Revision:
0:23dcc83123c6
Final

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fjakic 0:23dcc83123c6 1 #include "mbed.h"
fjakic 0:23dcc83123c6 2 #include "ledSignalizacija.h"
fjakic 0:23dcc83123c6 3
fjakic 0:23dcc83123c6 4 Serial pc(USBTX, USBRX);
fjakic 0:23dcc83123c6 5 AnalogIn temperaturniSenzor(A0);
fjakic 0:23dcc83123c6 6 PwmOut buzzer(D5);
fjakic 0:23dcc83123c6 7 Timer timer;
fjakic 0:23dcc83123c6 8 Ticker zvucniSignal;
fjakic 0:23dcc83123c6 9 InterruptIn button(D7, PullDown);
fjakic 0:23dcc83123c6 10 Timer debounce;
fjakic 0:23dcc83123c6 11 LedSignalizacija ledSig(D4, D3, D2);
fjakic 0:23dcc83123c6 12
fjakic 0:23dcc83123c6 13 void provjeraSenzora();
fjakic 0:23dcc83123c6 14 void upozorenje();
fjakic 0:23dcc83123c6 15
fjakic 0:23dcc83123c6 16 int main()
fjakic 0:23dcc83123c6 17 {
fjakic 0:23dcc83123c6 18 debounce.start();
fjakic 0:23dcc83123c6 19 button.rise(&upozorenje);
fjakic 0:23dcc83123c6 20 zvucniSignal.attach(&provjeraSenzora, 0.5);
fjakic 0:23dcc83123c6 21 buzzer.period_ms(20);
fjakic 0:23dcc83123c6 22
fjakic 0:23dcc83123c6 23 while(1){
fjakic 0:23dcc83123c6 24 pc.printf("Temperatura: %f\r", temperaturniSenzor.read() * 100);
fjakic 0:23dcc83123c6 25 ledSig.postaviLedSignalizaciju(temperaturniSenzor);
fjakic 0:23dcc83123c6 26 wait(0.5);
fjakic 0:23dcc83123c6 27 }
fjakic 0:23dcc83123c6 28 }
fjakic 0:23dcc83123c6 29
fjakic 0:23dcc83123c6 30 void provjeraSenzora(){
fjakic 0:23dcc83123c6 31 if(temperaturniSenzor >= 0.9) {
fjakic 0:23dcc83123c6 32 if(timer.read() == 0){
fjakic 0:23dcc83123c6 33 timer.start();
fjakic 0:23dcc83123c6 34 buzzer = 0;
fjakic 0:23dcc83123c6 35 }
fjakic 0:23dcc83123c6 36 if(timer.read() >= 2){
fjakic 0:23dcc83123c6 37 buzzer = 0.5;
fjakic 0:23dcc83123c6 38 }
fjakic 0:23dcc83123c6 39 }
fjakic 0:23dcc83123c6 40 else{
fjakic 0:23dcc83123c6 41 buzzer = 0;
fjakic 0:23dcc83123c6 42 timer.reset();
fjakic 0:23dcc83123c6 43 }
fjakic 0:23dcc83123c6 44 }
fjakic 0:23dcc83123c6 45
fjakic 0:23dcc83123c6 46 void upozorenje() {
fjakic 0:23dcc83123c6 47 if(debounce.read_ms() > 200) {
fjakic 0:23dcc83123c6 48 buzzer = 0.1;
fjakic 0:23dcc83123c6 49 ledSig.upaliSveLedice(2);
fjakic 0:23dcc83123c6 50 debounce.reset();
fjakic 0:23dcc83123c6 51 buzzer = 0;
fjakic 0:23dcc83123c6 52 }
fjakic 0:23dcc83123c6 53 }