AUTO_RAMPA_SAMBOLEK
Dependencies: mbed HCSR04 TextLCD
Revision 1:d4075ab93f44, committed 2021-09-21
- Comitter:
- msambolek
- Date:
- Tue Sep 21 15:48:06 2021 +0000
- Parent:
- 0:83ddf858b8ae
- Commit message:
- Finalna verzija
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 83ddf858b8ae -r d4075ab93f44 main.cpp --- a/main.cpp Tue Sep 21 12:47:26 2021 +0000 +++ b/main.cpp Tue Sep 21 15:48:06 2021 +0000 @@ -3,33 +3,30 @@ #include "HCSR04.h" TextLCD lcd(PB_10, PA_8, PA_10, PB_3, PB_5, PB_4); //inicijacija 20x4 LCD-a -HCSR04 hcsr(PA_6, PA_7); -DigitalOut Stop(PB_9); +HCSR04 hcsr(PA_6, PA_7); //inicijalizacija senzora udaljenosti +DigitalOut Stop(PB_9); DigitalOut Kreni(PB_8); -float d; +InterruptIn Tipka(PA_5); +Timer debounce; //deklaracija timera za debounce +void proces(void); //deklaracija funkcije -InterruptIn Tipka(PA_5); -Timer debounce; -void proces(void); +PwmOut SM(PB_0); //deklaracija izlaznog PWM pina -PwmOut SM(PB_0); -float pwmScale; +Ticker provjera; //deklaracija tickera -Ticker provjera; +Timer ZatRamp; //deklaracija timera za zadržavanje rampe -Timer ZatRamp; - -void mjerenje() +void mjerenje() //funkcija za detekciju predmeta ispred senzora udaljenosti { hcsr.startMeasurement(); - if( hcsr.getDistance_mm()<90 && Kreni==1) + if( hcsr.getDistance_mm()<90 && Kreni==1) //predmet ispred senzora udaljenosti { SM=0.105; } - if( hcsr.getDistance_mm()>90 && Kreni == 1) + if( hcsr.getDistance_mm()>90 && Kreni == 1) { - ZatRamp.start(); + ZatRamp.start(); // timer za spuštanje rampe Stop=1; Kreni=0; lcd.cls(); @@ -40,16 +37,15 @@ } } - int main() { - provjera.attach(&mjerenje,0.1); - SM=0.0534; - Stop = 1; + provjera.attach(&mjerenje,0.1); //tickeru se dodijeljuje funkcija mjerenje + SM=0.0534; //pocetni otklon rampe + Stop = 1; //aktivan crvena LEDica Kreni=0; - Tipka.mode(PullUp); - SM.period(0.020); + Tipka.mode(PullUp); //digitalni ulaz za tipku pritegnut sa pull up otpornikom + SM.period(0.020); //period PWM signala za motor lcd.cls(); lcd.locate(4,1); lcd.printf("Dobro dosli!\n"); @@ -59,15 +55,13 @@ while(1) { - debounce.start(); - Tipka.fall(&proces); - if(ZatRamp.read_ms()>5000) + debounce.start(); //start tajmera za debounce tipke + Tipka.fall(&proces); //na padajući brid tipke za podizanje rampe poziva se funkcija proces + if(ZatRamp.read_ms()>5000) //provjera vrijednosti timera za spuštanje rampe { SM=0.0534; ZatRamp.reset(); - Kreni=0; - } - + } } } @@ -85,6 +79,6 @@ Kreni=!Kreni; SM=0.105; } - } - debounce.reset(); - } \ No newline at end of file + } + debounce.reset(); +} \ No newline at end of file