Library koji sluzi za izvrsavanje simulacije kretanja unazad
potenciometar.cpp@0:22d3ec372d97, 2020-11-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |