Car simulation
Dependencies: mbed
main.cpp@0:80d1d58a91ab, 2020-06-12 (annotated)
- Committer:
- sdzodan
- Date:
- Fri Jun 12 12:36:09 2020 +0000
- Revision:
- 0:80d1d58a91ab
- Child:
- 1:2b6bf3a52bc0
Final
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sdzodan | 0:80d1d58a91ab | 1 | #include "mbed.h" |
sdzodan | 0:80d1d58a91ab | 2 | int stanjeledice=0; |
sdzodan | 0:80d1d58a91ab | 3 | Ticker flipper1; |
sdzodan | 0:80d1d58a91ab | 4 | Serial pc(USBTX, USBRX); |
sdzodan | 0:80d1d58a91ab | 5 | AnalogIn Ain(p15); |
sdzodan | 0:80d1d58a91ab | 6 | float ADCdata; |
sdzodan | 0:80d1d58a91ab | 7 | |
sdzodan | 0:80d1d58a91ab | 8 | DigitalIn sklopka(p8); |
sdzodan | 0:80d1d58a91ab | 9 | |
sdzodan | 0:80d1d58a91ab | 10 | int rucna = 0; |
sdzodan | 0:80d1d58a91ab | 11 | |
sdzodan | 0:80d1d58a91ab | 12 | void flip1() |
sdzodan | 0:80d1d58a91ab | 13 | { |
sdzodan | 0:80d1d58a91ab | 14 | rucna = sklopka; |
sdzodan | 0:80d1d58a91ab | 15 | ADCdata=Ain*8000; |
sdzodan | 0:80d1d58a91ab | 16 | pc.printf("R=%d,b=%d,%.0f\n\r", rucna, stanjeledice,ADCdata); |
sdzodan | 0:80d1d58a91ab | 17 | } |
sdzodan | 0:80d1d58a91ab | 18 | |
sdzodan | 0:80d1d58a91ab | 19 | InterruptIn shiftup(p6); |
sdzodan | 0:80d1d58a91ab | 20 | |
sdzodan | 0:80d1d58a91ab | 21 | InterruptIn shiftdown(p7); |
sdzodan | 0:80d1d58a91ab | 22 | |
sdzodan | 0:80d1d58a91ab | 23 | DigitalOut yellowled(p20); |
sdzodan | 0:80d1d58a91ab | 24 | |
sdzodan | 0:80d1d58a91ab | 25 | DigitalOut redled(p19); |
sdzodan | 0:80d1d58a91ab | 26 | |
sdzodan | 0:80d1d58a91ab | 27 | |
sdzodan | 0:80d1d58a91ab | 28 | Timer debounce; |
sdzodan | 0:80d1d58a91ab | 29 | |
sdzodan | 0:80d1d58a91ab | 30 | Timer debounce2; |
sdzodan | 0:80d1d58a91ab | 31 | |
sdzodan | 0:80d1d58a91ab | 32 | |
sdzodan | 0:80d1d58a91ab | 33 | |
sdzodan | 0:80d1d58a91ab | 34 | DigitalOut ledica1(LED1); |
sdzodan | 0:80d1d58a91ab | 35 | DigitalOut ledica2(LED2); |
sdzodan | 0:80d1d58a91ab | 36 | DigitalOut ledica3(LED3); |
sdzodan | 0:80d1d58a91ab | 37 | DigitalOut ledica4(LED4); |
sdzodan | 0:80d1d58a91ab | 38 | |
sdzodan | 0:80d1d58a91ab | 39 | void toggle(void); |
sdzodan | 0:80d1d58a91ab | 40 | |
sdzodan | 0:80d1d58a91ab | 41 | void toggle2(void); |
sdzodan | 0:80d1d58a91ab | 42 | |
sdzodan | 0:80d1d58a91ab | 43 | void toggle() { |
sdzodan | 0:80d1d58a91ab | 44 | if (debounce.read_ms()>200 && stanjeledice<=3) |
sdzodan | 0:80d1d58a91ab | 45 | stanjeledice=stanjeledice++; |
sdzodan | 0:80d1d58a91ab | 46 | debounce.reset(); |
sdzodan | 0:80d1d58a91ab | 47 | } |
sdzodan | 0:80d1d58a91ab | 48 | |
sdzodan | 0:80d1d58a91ab | 49 | void toggle2() { |
sdzodan | 0:80d1d58a91ab | 50 | if (debounce2.read_ms()>200 && stanjeledice>=1) |
sdzodan | 0:80d1d58a91ab | 51 | stanjeledice=stanjeledice--; |
sdzodan | 0:80d1d58a91ab | 52 | debounce2.reset(); |
sdzodan | 0:80d1d58a91ab | 53 | } |
sdzodan | 0:80d1d58a91ab | 54 | |
sdzodan | 0:80d1d58a91ab | 55 | int main() { |
sdzodan | 0:80d1d58a91ab | 56 | |
sdzodan | 0:80d1d58a91ab | 57 | flipper1.attach(&flip1, 0.5); |
sdzodan | 0:80d1d58a91ab | 58 | |
sdzodan | 0:80d1d58a91ab | 59 | debounce.start(); |
sdzodan | 0:80d1d58a91ab | 60 | debounce2.start(); |
sdzodan | 0:80d1d58a91ab | 61 | |
sdzodan | 0:80d1d58a91ab | 62 | shiftup.rise(&toggle); |
sdzodan | 0:80d1d58a91ab | 63 | |
sdzodan | 0:80d1d58a91ab | 64 | shiftdown.rise(&toggle2); |
sdzodan | 0:80d1d58a91ab | 65 | |
sdzodan | 0:80d1d58a91ab | 66 | while(1) { |
sdzodan | 0:80d1d58a91ab | 67 | |
sdzodan | 0:80d1d58a91ab | 68 | |
sdzodan | 0:80d1d58a91ab | 69 | if (stanjeledice == 0){ |
sdzodan | 0:80d1d58a91ab | 70 | ledica1=0; |
sdzodan | 0:80d1d58a91ab | 71 | ledica2=0; |
sdzodan | 0:80d1d58a91ab | 72 | ledica3=0; |
sdzodan | 0:80d1d58a91ab | 73 | ledica4=0; |
sdzodan | 0:80d1d58a91ab | 74 | } |
sdzodan | 0:80d1d58a91ab | 75 | |
sdzodan | 0:80d1d58a91ab | 76 | else if (stanjeledice == 1){ |
sdzodan | 0:80d1d58a91ab | 77 | ledica1=1; |
sdzodan | 0:80d1d58a91ab | 78 | ledica2=0; |
sdzodan | 0:80d1d58a91ab | 79 | ledica3=0; |
sdzodan | 0:80d1d58a91ab | 80 | ledica4=0; |
sdzodan | 0:80d1d58a91ab | 81 | } |
sdzodan | 0:80d1d58a91ab | 82 | else if (stanjeledice == 2){ |
sdzodan | 0:80d1d58a91ab | 83 | ledica1=1; |
sdzodan | 0:80d1d58a91ab | 84 | ledica2=1; |
sdzodan | 0:80d1d58a91ab | 85 | ledica3=0; |
sdzodan | 0:80d1d58a91ab | 86 | ledica4=0; |
sdzodan | 0:80d1d58a91ab | 87 | } |
sdzodan | 0:80d1d58a91ab | 88 | else if (stanjeledice == 3){ |
sdzodan | 0:80d1d58a91ab | 89 | ledica1=1; |
sdzodan | 0:80d1d58a91ab | 90 | ledica2=1; |
sdzodan | 0:80d1d58a91ab | 91 | ledica3=1; |
sdzodan | 0:80d1d58a91ab | 92 | ledica4=0; |
sdzodan | 0:80d1d58a91ab | 93 | } |
sdzodan | 0:80d1d58a91ab | 94 | else if (stanjeledice == 4){ |
sdzodan | 0:80d1d58a91ab | 95 | ledica1=1; |
sdzodan | 0:80d1d58a91ab | 96 | ledica2=1; |
sdzodan | 0:80d1d58a91ab | 97 | ledica3=1; |
sdzodan | 0:80d1d58a91ab | 98 | ledica4=1; |
sdzodan | 0:80d1d58a91ab | 99 | } |
sdzodan | 0:80d1d58a91ab | 100 | } |
sdzodan | 0:80d1d58a91ab | 101 | } |