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:fcd0b627a867, 2018-11-30 (annotated)
- Committer:
- alienbernamaihsan
- Date:
- Fri Nov 30 13:58:10 2018 +0000
- Revision:
- 0:fcd0b627a867
-
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alienbernamaihsan | 0:fcd0b627a867 | 1 | #include "mbed.h" |
alienbernamaihsan | 0:fcd0b627a867 | 2 | #include "motor.h" |
alienbernamaihsan | 0:fcd0b627a867 | 3 | #include "encoderKRAI.h" |
alienbernamaihsan | 0:fcd0b627a867 | 4 | |
alienbernamaihsan | 0:fcd0b627a867 | 5 | //PIN ENC2 dituker PC_9 karena layout di PCBnya salah (bentrok) |
alienbernamaihsan | 0:fcd0b627a867 | 6 | |
alienbernamaihsan | 0:fcd0b627a867 | 7 | //motor motor1 (PA_9, PB_10, PA_8); |
alienbernamaihsan | 0:fcd0b627a867 | 8 | //motor motor2 (PA_7, PB_6, PC_7); |
alienbernamaihsan | 0:fcd0b627a867 | 9 | //motor motor3 (PA_5, PA_6, PC_8); |
alienbernamaihsan | 0:fcd0b627a867 | 10 | |
alienbernamaihsan | 0:fcd0b627a867 | 11 | //konfigurasi baru untuk robot G |
alienbernamaihsan | 0:fcd0b627a867 | 12 | // Variabel encoder |
alienbernamaihsan | 0:fcd0b627a867 | 13 | // PPR PG45 dan PG36 yang digunakan sama = 537.6 |
alienbernamaihsan | 0:fcd0b627a867 | 14 | encoderKRAI enc1(PC_0, PC_3, 1440 , encoderKRAI::X4_ENCODING); // M1 PPR Total = PPR Encoder * Mode Encoding * Gear Reduction |
alienbernamaihsan | 0:fcd0b627a867 | 15 | encoderKRAI enc2(PC_10, PC_4, 1440 , encoderKRAI::X4_ENCODING); // M2 PPR Total = PPR Encoder * Mode Encoding * Gear Reduction |
alienbernamaihsan | 0:fcd0b627a867 | 16 | encoderKRAI enc3(PB_15 , PB_1, 1440 , encoderKRAI::X4_ENCODING); // M3 PPR Total = PPR Encoder * Mode Encoding * Gear Reduction |
alienbernamaihsan | 0:fcd0b627a867 | 17 | |
alienbernamaihsan | 0:fcd0b627a867 | 18 | //konfigurasi untuk kiper// |
alienbernamaihsan | 0:fcd0b627a867 | 19 | //encoderKRAI enc1(PB_2, PC_9, 1440 , encoderKRAI::X4_ENCODING); // M1 PPR Total = PPR Encoder * Mode Encoding * Gear Reduction |
alienbernamaihsan | 0:fcd0b627a867 | 20 | //encoderKRAI enc2(PA_12, PA_11, 537.6 , encoderKRAI::X4_ENCODING); // M2 PPR Total = PPR Encoder * Mode Encoding * Gear Reduction |
alienbernamaihsan | 0:fcd0b627a867 | 21 | //encoderKRAI enc3(PC_6 , PC_5, 537.6 , encoderKRAI::X4_ENCODING); // M3 PPR Total = PPR Encoder * Mode Encoding * Gear Reduction |
alienbernamaihsan | 0:fcd0b627a867 | 22 | |
alienbernamaihsan | 0:fcd0b627a867 | 23 | //Penggiring |
alienbernamaihsan | 0:fcd0b627a867 | 24 | //motor peng_l (PB_0, PA_4, PA_10); |
alienbernamaihsan | 0:fcd0b627a867 | 25 | //motor peng_r (PA_1, PA_0, PB_4); |
alienbernamaihsan | 0:fcd0b627a867 | 26 | //encoderKRAI enc_peng_l(PB_13, PC_4, 537.6 , encoderKRAI::X4_ENCODING); |
alienbernamaihsan | 0:fcd0b627a867 | 27 | //encoderKRAI enc_peng_r(PB_14, PB_15, 537.6 , encoderKRAI::X4_ENCODING); |
alienbernamaihsan | 0:fcd0b627a867 | 28 | |
alienbernamaihsan | 0:fcd0b627a867 | 29 | float buffer ; |
alienbernamaihsan | 0:fcd0b627a867 | 30 | |
alienbernamaihsan | 0:fcd0b627a867 | 31 | // Serial |
alienbernamaihsan | 0:fcd0b627a867 | 32 | Serial pc(USBTX,USBRX,115200); |
alienbernamaihsan | 0:fcd0b627a867 | 33 | |
alienbernamaihsan | 0:fcd0b627a867 | 34 | int main() |
alienbernamaihsan | 0:fcd0b627a867 | 35 | { |
alienbernamaihsan | 0:fcd0b627a867 | 36 | |
alienbernamaihsan | 0:fcd0b627a867 | 37 | float rot1 = 0.0 ; |
alienbernamaihsan | 0:fcd0b627a867 | 38 | float rot2 = 0.0 ; |
alienbernamaihsan | 0:fcd0b627a867 | 39 | float rot3 = 0.0 ; |
alienbernamaihsan | 0:fcd0b627a867 | 40 | // float rot4 = 0.0 ; |
alienbernamaihsan | 0:fcd0b627a867 | 41 | // float rot5 = 0.0 ; |
alienbernamaihsan | 0:fcd0b627a867 | 42 | while(1) |
alienbernamaihsan | 0:fcd0b627a867 | 43 | { |
alienbernamaihsan | 0:fcd0b627a867 | 44 | //motor3.setpwm(0.5); |
alienbernamaihsan | 0:fcd0b627a867 | 45 | |
alienbernamaihsan | 0:fcd0b627a867 | 46 | /* |
alienbernamaihsan | 0:fcd0b627a867 | 47 | |
alienbernamaihsan | 0:fcd0b627a867 | 48 | motor1.setpwm(0.3); |
alienbernamaihsan | 0:fcd0b627a867 | 49 | motor2.setpwm(0.5); |
alienbernamaihsan | 0:fcd0b627a867 | 50 | motor3.setpwm(0.3); |
alienbernamaihsan | 0:fcd0b627a867 | 51 | peng_l.setpwm(0.7); |
alienbernamaihsan | 0:fcd0b627a867 | 52 | peng_r.setpwm(0.7); |
alienbernamaihsan | 0:fcd0b627a867 | 53 | wait(3); |
alienbernamaihsan | 0:fcd0b627a867 | 54 | motor1.setpwm(-0.3); |
alienbernamaihsan | 0:fcd0b627a867 | 55 | motor2.setpwm(-0.5); |
alienbernamaihsan | 0:fcd0b627a867 | 56 | motor3.setpwm(-0.3); |
alienbernamaihsan | 0:fcd0b627a867 | 57 | peng_l.setpwm(-0.7); |
alienbernamaihsan | 0:fcd0b627a867 | 58 | peng_r.setpwm(-0.7); |
alienbernamaihsan | 0:fcd0b627a867 | 59 | wait(3); |
alienbernamaihsan | 0:fcd0b627a867 | 60 | */ |
alienbernamaihsan | 0:fcd0b627a867 | 61 | // |
alienbernamaihsan | 0:fcd0b627a867 | 62 | // |
alienbernamaihsan | 0:fcd0b627a867 | 63 | // if (pc.getc()=='a') |
alienbernamaihsan | 0:fcd0b627a867 | 64 | // { |
alienbernamaihsan | 0:fcd0b627a867 | 65 | // buffer = 0.3; |
alienbernamaihsan | 0:fcd0b627a867 | 66 | // motor1.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 67 | // motor2.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 68 | // motor3.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 69 | // } |
alienbernamaihsan | 0:fcd0b627a867 | 70 | // else if (pc.getc()=='b') |
alienbernamaihsan | 0:fcd0b627a867 | 71 | // { |
alienbernamaihsan | 0:fcd0b627a867 | 72 | // buffer = -0.3; |
alienbernamaihsan | 0:fcd0b627a867 | 73 | // motor1.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 74 | // motor2.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 75 | // motor3.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 76 | // |
alienbernamaihsan | 0:fcd0b627a867 | 77 | // } |
alienbernamaihsan | 0:fcd0b627a867 | 78 | //else if (pc.getc()=='s') |
alienbernamaihsan | 0:fcd0b627a867 | 79 | // { |
alienbernamaihsan | 0:fcd0b627a867 | 80 | // motor1.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 81 | // motor2.setpwm(buffer);// motor3.setpwm(buffer); |
alienbernamaihsan | 0:fcd0b627a867 | 82 | // } |
alienbernamaihsan | 0:fcd0b627a867 | 83 | |
alienbernamaihsan | 0:fcd0b627a867 | 84 | rot1 = rot1 + enc1.getRevolutions() * 2 * 3.14 ; |
alienbernamaihsan | 0:fcd0b627a867 | 85 | rot2 = rot2 + enc2.getRevolutions() * 2 * 3.14 ; |
alienbernamaihsan | 0:fcd0b627a867 | 86 | rot3 = rot3 + enc3.getRevolutions() * 2 * 3.14 ; |
alienbernamaihsan | 0:fcd0b627a867 | 87 | // rot4 = rot4 + enc_peng_l.getRevolutions() * 2 * 3.14 ; |
alienbernamaihsan | 0:fcd0b627a867 | 88 | // rot5 = rot5 + enc_peng_r.getRevolutions() * 2 * 3.14 ; |
alienbernamaihsan | 0:fcd0b627a867 | 89 | pc.printf("%.2f, %.2f, %.2f\n", rot1, rot2, rot3); |
alienbernamaihsan | 0:fcd0b627a867 | 90 | wait_ms(50); |
alienbernamaihsan | 0:fcd0b627a867 | 91 | |
alienbernamaihsan | 0:fcd0b627a867 | 92 | } |
alienbernamaihsan | 0:fcd0b627a867 | 93 | } |