Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:f510a9c32a2c, 2017-06-11 (annotated)
- Committer:
- MarchioKevin
- Date:
- Sun Jun 11 08:10:57 2017 +0000
- Revision:
- 0:f510a9c32a2c
- Child:
- 1:e8fcbd118f4d
Mangat toni
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| MarchioKevin | 0:f510a9c32a2c | 1 | #include "mbed.h" |
| MarchioKevin | 0:f510a9c32a2c | 2 | #include "JoystickPS3.h" |
| MarchioKevin | 0:f510a9c32a2c | 3 | #include "Motor.h" |
| MarchioKevin | 0:f510a9c32a2c | 4 | |
| MarchioKevin | 0:f510a9c32a2c | 5 | const float pwmPowerUp = 1.0; |
| MarchioKevin | 0:f510a9c32a2c | 6 | const float pwmPowerDown = -1.0; |
| MarchioKevin | 0:f510a9c32a2c | 7 | |
| MarchioKevin | 0:f510a9c32a2c | 8 | int case_joy; |
| MarchioKevin | 0:f510a9c32a2c | 9 | bool isLauncher = false; |
| MarchioKevin | 0:f510a9c32a2c | 10 | bool isReload = false; |
| MarchioKevin | 0:f510a9c32a2c | 11 | bool ReloadOn = false; |
| MarchioKevin | 0:f510a9c32a2c | 12 | bool flag_Pneu = false; |
| MarchioKevin | 0:f510a9c32a2c | 13 | bool flag_paku = false; |
| MarchioKevin | 0:f510a9c32a2c | 14 | |
| MarchioKevin | 0:f510a9c32a2c | 15 | bool ready = false; |
| MarchioKevin | 0:f510a9c32a2c | 16 | |
| MarchioKevin | 0:f510a9c32a2c | 17 | int case_joystick(); |
| MarchioKevin | 0:f510a9c32a2c | 18 | |
| MarchioKevin | 0:f510a9c32a2c | 19 | joysticknucleo joystick(PA_0,PA_1); |
| MarchioKevin | 0:f510a9c32a2c | 20 | Serial pc(USBTX,USBRX); |
| MarchioKevin | 0:f510a9c32a2c | 21 | |
| MarchioKevin | 0:f510a9c32a2c | 22 | //DigitalIn infraAtas(PC_9, PullUp); |
| MarchioKevin | 0:f510a9c32a2c | 23 | DigitalIn limitAtas(PA_9, PullUp); |
| MarchioKevin | 0:f510a9c32a2c | 24 | DigitalIn limitBawah(PC_7, PullUp); |
| MarchioKevin | 0:f510a9c32a2c | 25 | DigitalIn limitKiri(PA_7, PullUp); |
| MarchioKevin | 0:f510a9c32a2c | 26 | DigitalIn limitTengah(PB_7, PullUp); |
| MarchioKevin | 0:f510a9c32a2c | 27 | DigitalIn limitKanan(PB_9, PullUp); |
| MarchioKevin | 0:f510a9c32a2c | 28 | |
| MarchioKevin | 0:f510a9c32a2c | 29 | Motor powerScrew(PB_10, PB_14, PB_13); // pwm, fwd, rev |
| MarchioKevin | 0:f510a9c32a2c | 30 | |
| MarchioKevin | 0:f510a9c32a2c | 31 | int case_joystick() |
| MarchioKevin | 0:f510a9c32a2c | 32 | { |
| MarchioKevin | 0:f510a9c32a2c | 33 | int caseJoystick; |
| MarchioKevin | 0:f510a9c32a2c | 34 | if ((joystick.lingkaran_click)&&(!joystick.kotak_click)) { |
| MarchioKevin | 0:f510a9c32a2c | 35 | // Power Screw Up |
| MarchioKevin | 0:f510a9c32a2c | 36 | caseJoystick = 11; |
| MarchioKevin | 0:f510a9c32a2c | 37 | } |
| MarchioKevin | 0:f510a9c32a2c | 38 | else if ((joystick.kotak_click)&&(!joystick.lingkaran_click)) { |
| MarchioKevin | 0:f510a9c32a2c | 39 | // Power Screw Down |
| MarchioKevin | 0:f510a9c32a2c | 40 | caseJoystick = 12; |
| MarchioKevin | 0:f510a9c32a2c | 41 | } |
| MarchioKevin | 0:f510a9c32a2c | 42 | return(caseJoystick); |
| MarchioKevin | 0:f510a9c32a2c | 43 | } |
| MarchioKevin | 0:f510a9c32a2c | 44 | |
| MarchioKevin | 0:f510a9c32a2c | 45 | void aktuator() |
| MarchioKevin | 0:f510a9c32a2c | 46 | { |
| MarchioKevin | 0:f510a9c32a2c | 47 | switch (case_joy) |
| MarchioKevin | 0:f510a9c32a2c | 48 | { |
| MarchioKevin | 0:f510a9c32a2c | 49 | case (11) : |
| MarchioKevin | 0:f510a9c32a2c | 50 | { |
| MarchioKevin | 0:f510a9c32a2c | 51 | // Power Screw Up |
| MarchioKevin | 0:f510a9c32a2c | 52 | ReloadOn = !ReloadOn; |
| MarchioKevin | 0:f510a9c32a2c | 53 | isReload = false; |
| MarchioKevin | 0:f510a9c32a2c | 54 | break; |
| MarchioKevin | 0:f510a9c32a2c | 55 | } |
| MarchioKevin | 0:f510a9c32a2c | 56 | case (12) : |
| MarchioKevin | 0:f510a9c32a2c | 57 | { |
| MarchioKevin | 0:f510a9c32a2c | 58 | // Power Screw Down |
| MarchioKevin | 0:f510a9c32a2c | 59 | ReloadOn = !ReloadOn; |
| MarchioKevin | 0:f510a9c32a2c | 60 | isReload = true; |
| MarchioKevin | 0:f510a9c32a2c | 61 | break; |
| MarchioKevin | 0:f510a9c32a2c | 62 | } |
| MarchioKevin | 0:f510a9c32a2c | 63 | } |
| MarchioKevin | 0:f510a9c32a2c | 64 | } |
| MarchioKevin | 0:f510a9c32a2c | 65 | |
| MarchioKevin | 0:f510a9c32a2c | 66 | void reloader() |
| MarchioKevin | 0:f510a9c32a2c | 67 | { |
| MarchioKevin | 0:f510a9c32a2c | 68 | if(ReloadOn){ |
| MarchioKevin | 0:f510a9c32a2c | 69 | if(isReload){ |
| MarchioKevin | 0:f510a9c32a2c | 70 | powerScrew.speed(pwmPowerDown); |
| MarchioKevin | 0:f510a9c32a2c | 71 | //pc.printf("%.2f\n", jarak_ping); |
| MarchioKevin | 0:f510a9c32a2c | 72 | if(!limitBawah){ |
| MarchioKevin | 0:f510a9c32a2c | 73 | isReload = false; |
| MarchioKevin | 0:f510a9c32a2c | 74 | ReloadOn = false; |
| MarchioKevin | 0:f510a9c32a2c | 75 | } |
| MarchioKevin | 0:f510a9c32a2c | 76 | } |
| MarchioKevin | 0:f510a9c32a2c | 77 | else if(!limitAtas){ |
| MarchioKevin | 0:f510a9c32a2c | 78 | isReload = true; |
| MarchioKevin | 0:f510a9c32a2c | 79 | powerScrew.speed(pwmPowerUp); |
| MarchioKevin | 0:f510a9c32a2c | 80 | } |
| MarchioKevin | 0:f510a9c32a2c | 81 | } |
| MarchioKevin | 0:f510a9c32a2c | 82 | else{ |
| MarchioKevin | 0:f510a9c32a2c | 83 | powerScrew.brake(1); |
| MarchioKevin | 0:f510a9c32a2c | 84 | } |
| MarchioKevin | 0:f510a9c32a2c | 85 | } |
| MarchioKevin | 0:f510a9c32a2c | 86 |