Prototip volana F1
Dependencies: mbed trostrukiSedamSeg
https://os.mbed.com/media/uploads/mmaretic/volan_shema.pdf https://os.mbed.com/media/uploads/mmaretic/prototip_volana_formule_1.pdf
Diff: main.cpp
- Revision:
- 2:3227eef26c80
- Parent:
- 0:1e6d734c8f95
- Child:
- 3:f941bac1f8a9
--- a/main.cpp Thu Dec 02 18:42:45 2021 +0000 +++ b/main.cpp Thu Dec 02 19:24:55 2021 +0000 @@ -1,24 +1,26 @@ #include "mbed.h" #include "trostrukiSedamSeg.h" -Ticker DrsDebouncer; +Ticker DrsDebouncer; // Timeri za debouncanje interrupta Ticker UpozorenjaDebouncer; -Ticker Multiplexer; -InterruptIn DrsButton(PB_10); +Ticker Multiplexer; // Timer za multipleksiranje displaya +InterruptIn DrsButton(PB_10); // Intterupt tipkala InterruptIn UpozorenjaButton(PB_4); -AnalogIn Ain(PC_0); -PwmOut servo(PA_10); +AnalogIn Ain(PC_0); // Analogni ulaz za brzinu +PwmOut servo(PA_10); // Pwm izlaz za ukljucivanje serva -char zaPrikazati[10]; +char zaPrikazati[4]; -SedamSeg prikaz; +SedamSeg prikaz; // Inicijalizacija klase SedamSeg +// Enum za koristenje u switch case-u volatile enum state{ BRZINA, DRS, UPOZORENJA } s; +// Pototipi funkcija void drsInt(); void debouncedDrsInt(); void upozorenjaInt(); @@ -54,10 +56,14 @@ break; default: servo.pulsewidth_us(1250); + + // Skaliranje ulaza s 0 - 1 na 0 - 300kmh ADCvalue = Ain - 0.03; ADCvalue = (ADCvalue < 0) ? 0 : ADCvalue; ADCvalue *= 309.27; + sprintf(zaPrikazati,"%i",(int)ADCvalue); + if(ADCvalue < 10){ zaPrikazati[2] = zaPrikazati[0]; zaPrikazati[0] = '0';