Car simulation

Dependencies:   mbed

Committer:
sdzodan
Date:
Fri Jun 12 12:36:09 2020 +0000
Revision:
0:80d1d58a91ab
Child:
1:2b6bf3a52bc0
Final

Who changed what in which revision?

UserRevisionLine numberNew 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 }