terbaru
Dependencies: DigitDisplay Motor PID Ping mbed millis
Fork of MainProgram_BaseBaru_20Feb_malam by
Diff: main.cpp
- Revision:
- 20:54dc93e7b016
- Parent:
- 19:38f148ce00f0
- Child:
- 21:da2f3d04468f
--- a/main.cpp Fri Jan 27 16:27:56 2017 +0000 +++ b/main.cpp Sat Jan 28 04:33:39 2017 +0000 @@ -18,11 +18,11 @@ /* */ /****************************************************************************/ /* */ -/* Joystick */ -/* kanan => posisi target x ditambah 0.01 */ -/* kiri => posisi target x dikurang 0.01 */ -/* atas => posisi target y ditambah 0.01 */ -/* bawah => posisi target y dikurang 0.01 */ +/* Joystick */ +/* Kanan => Posisi target x ditambah 'perpindahan' */ +/* Kiri => Posisi target x dikurang 'perpindahan' */ +/* Atas => Posisi target y ditambah 0.01 */ +/* Bawah => Posisi target y dikurang 0.01 */ /* */ /* Tombol silang => Kembali keposisi Awal */ /* Tombol segitiga => Aktif motor Launcher */ @@ -31,10 +31,9 @@ /* Tombol R3 => PWM Launcher ditambahin */ /* */ /* Bismillahirahmanirrahim */ -/* Jagalah Kebersihan kodingan */ +/* Jagalah Kebersihan Kodingan */ /****************************************************************************/ - #include "mbed.h" #include "JoystickPS3.h" #include "Motor.h" @@ -65,20 +64,20 @@ float kpX=0.5, kpY=0.5, kp_tetha=0.03; /* Deklarasi encoder */ -encoderKRAI encoderDepan( PB_13, PB_14, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan -encoderKRAI encoderBelakang( PC_11, PC_10, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan -encoderKRAI encoderKanan( PC_12, PD_2, 720, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan -encoderKRAI encoderKiri( PC_4, PB_15, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan +encoderKRAI encoderDepan( PB_13, PB_14, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan +encoderKRAI encoderBelakang( PC_11, PC_10, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan +encoderKRAI encoderKanan( PC_12, PD_2, 720, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan +encoderKRAI encoderKiri( PC_4, PB_15, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan /* Deklarasi Motor Base */ -Motor motor1(PB_7, PA_14 , PA_15); // pwm, fwd, rev -Motor motor2(PB_8, PA_13 ,PB_0); // pwm, fwd, rev -Motor motor3(PB_9, PA_12 ,PC_5); // pwm, fwd, rev -Motor motor4(PB_6, PB_1 ,PB_12); // pwm, fwd, rev +Motor motor1(PB_7, PA_14, PA_15); // pwm, fwd, rev +Motor motor2(PB_8, PA_13, PB_0); // pwm, fwd, rev +Motor motor3(PB_9, PA_12, PC_5); // pwm, fwd, rev +Motor motor4(PB_6, PB_1, PB_12); // pwm, fwd, rev /* Deklarasi Motor Launcher */ -Motor motorld(PA_8, PC_1 , PC_2); // pwm, fwd, rev -Motor motorlb(PA_9, PA_4, PC_15 ); // pwm, fwd, rev +Motor motorld(PA_8, PC_1, PC_2); // pwm, fwd, rev +Motor motorlb(PA_9, PA_4, PC_15 ); // pwm, fwd, rev /* Deklarasi Servo Launcher */ Servo servoS(PB_2); @@ -91,16 +90,16 @@ **/ /* Variabel Encoder */ -float jarak, posX, posY; // +float jarak, posX, posY; // float XT, YT, Tetha; // Jarak Target Robot float errX, errY, errT, Vt, Vx, Vy; // Variabel yang didapatkan encoder float v1, v2, v3, v4; // Variabel kecepatan motor dari encoder /* Fungsi dan Procedur Encoder */ void setCenter(); // Fungsi reset agar robot di tengah -float getY(); // FUngsi mendapatkan jarak Y -float getX(); // FUngsi mendapatkan jarak X -float getTetha(); // FUngsi mendapatkan jarak Tetha +float getY(); // Fungsi mendapatkan jarak Y +float getX(); // Fungsi mendapatkan jarak X +float getTetha(); // Fungsi mendapatkan jarak Tetha /* Inisialisasi Pin TX-RX Joystik dan PC */ joysticknucleo joystick(PA_0,PA_1); @@ -299,7 +298,7 @@ } } // End Switch } else { - //Mode Encoder + // Mode Encoder switch (case_ger) { case (1):{ Tetha = Tetha - 0.05; @@ -340,18 +339,15 @@ case (9) :{ // Kanan if (case_ger != caseSebelum) XT = XT + PERPINDAHAN; - - break; } case (10) :{ // Kiri if (case_ger != caseSebelum) XT = XT - PERPINDAHAN; - break; } default :{} - } //end of switch + } // End of Switch caseSebelum = case_ger; } } @@ -499,12 +495,10 @@ Tetha = 0; } speedLauncher(); - } else { joystick.idle(); } gotoXYT(XT,YT,Tetha); - } }