KRAI 2017 / Mbed 2 deprecated Test_LimitSwitch_Nasional

Dependencies:   Motor mbed

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?

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