Library koji sluzi za izvrsavanje simulacije kretanja unazad

Committer:
leleracic
Date:
Thu Nov 26 16:51:42 2020 +0000
Revision:
0:22d3ec372d97
Library koji u sebi sadrzi funkcije za simuliranje udaljenosti od straznjeg objekta.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
leleracic 0:22d3ec372d97 1 #include "potenciometar.h"
leleracic 0:22d3ec372d97 2 #include "Citanjeznaka.h"
leleracic 0:22d3ec372d97 3
leleracic 0:22d3ec372d97 4 PwmOut buzzer(PC_7);
leleracic 0:22d3ec372d97 5 AnalogIn pot(PA_1);
leleracic 0:22d3ec372d97 6 DigitalOut stop(PA_0);
leleracic 0:22d3ec372d97 7 DigitalOut kreni(PB_0);
leleracic 0:22d3ec372d97 8
leleracic 0:22d3ec372d97 9 float ADCdata;
leleracic 0:22d3ec372d97 10
leleracic 0:22d3ec372d97 11 Timer timer1;
leleracic 0:22d3ec372d97 12 Timer timer2;
leleracic 0:22d3ec372d97 13 Timer debounce;
leleracic 0:22d3ec372d97 14
leleracic 0:22d3ec372d97 15
leleracic 0:22d3ec372d97 16 void potenciometar(void){
leleracic 0:22d3ec372d97 17 debounce.start();
leleracic 0:22d3ec372d97 18 ADCdata=pot;
leleracic 0:22d3ec372d97 19 timer1.start();
leleracic 0:22d3ec372d97 20 timer2.start();
leleracic 0:22d3ec372d97 21 if(0.9<ADCdata && ADCdata<=1.0) {
leleracic 0:22d3ec372d97 22 buzzer.period(0.0015);
leleracic 0:22d3ec372d97 23 buzzer=0.5;
leleracic 0:22d3ec372d97 24 if (timer1.read_ms()>=600) { // read time in ms
leleracic 0:22d3ec372d97 25 buzzer=0.0;
leleracic 0:22d3ec372d97 26 }
leleracic 0:22d3ec372d97 27 if (timer2.read_ms()>=1200) { // read time in ms
leleracic 0:22d3ec372d97 28 timer1.reset(); // reset timer
leleracic 0:22d3ec372d97 29 timer2.reset(); // reset timer
leleracic 0:22d3ec372d97 30 }
leleracic 0:22d3ec372d97 31 }
leleracic 0:22d3ec372d97 32 if(0.5<ADCdata && ADCdata<=0.9) {
leleracic 0:22d3ec372d97 33 buzzer.period(0.0015);
leleracic 0:22d3ec372d97 34 buzzer=0.5;
leleracic 0:22d3ec372d97 35 if (timer1.read_ms()>=300) { // read time in ms
leleracic 0:22d3ec372d97 36 buzzer=0.0;
leleracic 0:22d3ec372d97 37 }
leleracic 0:22d3ec372d97 38 if (timer2.read_ms()>=600) { // read time in ms
leleracic 0:22d3ec372d97 39 timer1.reset(); // reset timer
leleracic 0:22d3ec372d97 40 timer2.reset(); // reset timer
leleracic 0:22d3ec372d97 41 }
leleracic 0:22d3ec372d97 42 }
leleracic 0:22d3ec372d97 43 if(0.2<ADCdata && ADCdata<=0.5) {
leleracic 0:22d3ec372d97 44 buzzer.period(0.0015);
leleracic 0:22d3ec372d97 45 buzzer=0.5;
leleracic 0:22d3ec372d97 46 if (timer1.read_ms()>=150) { // read time in ms
leleracic 0:22d3ec372d97 47 buzzer=0.0;
leleracic 0:22d3ec372d97 48 }
leleracic 0:22d3ec372d97 49 if (timer2.read_ms()>=300) { // read time in ms
leleracic 0:22d3ec372d97 50 timer1.reset(); // reset timer
leleracic 0:22d3ec372d97 51 timer2.reset(); // reset timer
leleracic 0:22d3ec372d97 52 }
leleracic 0:22d3ec372d97 53 }
leleracic 0:22d3ec372d97 54 if(ADCdata<=0.2 && ADCdata>0.02) {
leleracic 0:22d3ec372d97 55 buzzer.period(0.0015);
leleracic 0:22d3ec372d97 56 buzzer=0.5;
leleracic 0:22d3ec372d97 57 }
leleracic 0:22d3ec372d97 58 kreni=0;
leleracic 0:22d3ec372d97 59 stop=1;
leleracic 0:22d3ec372d97 60 }
leleracic 0:22d3ec372d97 61
leleracic 0:22d3ec372d97 62 void Sudar(void){
leleracic 0:22d3ec372d97 63 if (ADCdata <= 0.02){
leleracic 0:22d3ec372d97 64 kreni=0;
leleracic 0:22d3ec372d97 65 start=0;
leleracic 0:22d3ec372d97 66 buzzer=0.0;
leleracic 0:22d3ec372d97 67 pc.printf("Sudarili ste se!\n\r");
leleracic 0:22d3ec372d97 68 }
leleracic 0:22d3ec372d97 69 }