KRAI 2017
/
Motorversi1
Motor omni
Fork of Motor_HelloWorld by
main.cpp@1:91e3b7b265fd, 2016-09-22 (annotated)
- Committer:
- rahmadirizki18
- Date:
- Thu Sep 22 15:16:37 2016 +0000
- Revision:
- 1:91e3b7b265fd
- Parent:
- 0:7bbc230e00d6
motor1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:7bbc230e00d6 | 1 | // Sweep the motor speed from full-speed reverse (-1.0) to full speed forwards (1.0) |
simon | 0:7bbc230e00d6 | 2 | |
simon | 0:7bbc230e00d6 | 3 | #include "mbed.h" |
simon | 0:7bbc230e00d6 | 4 | #include "Motor.h" |
simon | 0:7bbc230e00d6 | 5 | |
rahmadirizki18 | 1:91e3b7b265fd | 6 | Motor m1(PA_9, PC_2, PC_3); // pwm, fwd, rev |
rahmadirizki18 | 1:91e3b7b265fd | 7 | Motor m2(PA_8, PB_0, PC_15); // pwm, fwd, rev |
rahmadirizki18 | 1:91e3b7b265fd | 8 | Motor m3(PA_11, PA_6, PA_5); // pwm, fwd, rev |
rahmadirizki18 | 1:91e3b7b265fd | 9 | Motor m4(PA_10, PB_5, PB_4); // pwm, fwd, rev |
rahmadirizki18 | 1:91e3b7b265fd | 10 | |
simon | 0:7bbc230e00d6 | 11 | |
simon | 0:7bbc230e00d6 | 12 | int main() { |
rahmadirizki18 | 1:91e3b7b265fd | 13 | /* float keterangan = -1.0; |
rahmadirizki18 | 1:91e3b7b265fd | 14 | float fade = 0.01; */ |
rahmadirizki18 | 1:91e3b7b265fd | 15 | char perintah; |
rahmadirizki18 | 1:91e3b7b265fd | 16 | |
rahmadirizki18 | 1:91e3b7b265fd | 17 | Serial pc(USBTX,USBRX); |
rahmadirizki18 | 1:91e3b7b265fd | 18 | Serial data(PA_0,PA_1); // tx,rx |
rahmadirizki18 | 1:91e3b7b265fd | 19 | |
rahmadirizki18 | 1:91e3b7b265fd | 20 | data.baud(115200); |
rahmadirizki18 | 1:91e3b7b265fd | 21 | pc.baud(9600); |
rahmadirizki18 | 1:91e3b7b265fd | 22 | while (1) { |
rahmadirizki18 | 1:91e3b7b265fd | 23 | |
rahmadirizki18 | 1:91e3b7b265fd | 24 | if (data.readable()){ |
rahmadirizki18 | 1:91e3b7b265fd | 25 | perintah = data.getc(); |
rahmadirizki18 | 1:91e3b7b265fd | 26 | pc.printf("%c\n",perintah); |
rahmadirizki18 | 1:91e3b7b265fd | 27 | |
rahmadirizki18 | 1:91e3b7b265fd | 28 | |
rahmadirizki18 | 1:91e3b7b265fd | 29 | switch (perintah){ |
rahmadirizki18 | 1:91e3b7b265fd | 30 | case '8' : |
rahmadirizki18 | 1:91e3b7b265fd | 31 | //Maju |
rahmadirizki18 | 1:91e3b7b265fd | 32 | |
rahmadirizki18 | 1:91e3b7b265fd | 33 | m1.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 34 | m2.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 35 | m3.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 36 | m4.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 37 | pc.printf("Maju"); |
rahmadirizki18 | 1:91e3b7b265fd | 38 | break; |
rahmadirizki18 | 1:91e3b7b265fd | 39 | case '2' : |
rahmadirizki18 | 1:91e3b7b265fd | 40 | //Mundur |
rahmadirizki18 | 1:91e3b7b265fd | 41 | m1.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 42 | m2.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 43 | m3.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 44 | m4.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 45 | pc.printf("Mundur"); |
rahmadirizki18 | 1:91e3b7b265fd | 46 | break; |
rahmadirizki18 | 1:91e3b7b265fd | 47 | case '4' : |
rahmadirizki18 | 1:91e3b7b265fd | 48 | //Kiri |
rahmadirizki18 | 1:91e3b7b265fd | 49 | m1.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 50 | m2.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 51 | m3.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 52 | m4.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 53 | pc.printf("Kiri"); |
rahmadirizki18 | 1:91e3b7b265fd | 54 | break; |
rahmadirizki18 | 1:91e3b7b265fd | 55 | case '6' : |
rahmadirizki18 | 1:91e3b7b265fd | 56 | //Kanan |
rahmadirizki18 | 1:91e3b7b265fd | 57 | m1.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 58 | m2.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 59 | m3.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 60 | m4.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 61 | pc.printf("Kanan"); |
rahmadirizki18 | 1:91e3b7b265fd | 62 | break; |
rahmadirizki18 | 1:91e3b7b265fd | 63 | case 'E' : |
rahmadirizki18 | 1:91e3b7b265fd | 64 | //Searah Jarum Jam |
rahmadirizki18 | 1:91e3b7b265fd | 65 | m1.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 66 | m2.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 67 | m3.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 68 | m4.speed(0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 69 | pc.printf("Putar Kanan"); |
rahmadirizki18 | 1:91e3b7b265fd | 70 | break; |
rahmadirizki18 | 1:91e3b7b265fd | 71 | case 'Q' : |
rahmadirizki18 | 1:91e3b7b265fd | 72 | //Berlawanan Jarum Jam |
rahmadirizki18 | 1:91e3b7b265fd | 73 | m1.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 74 | m2.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 75 | m3.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 76 | m4.speed(-0.7); |
rahmadirizki18 | 1:91e3b7b265fd | 77 | pc.printf("Putar Kiri"); |
rahmadirizki18 | 1:91e3b7b265fd | 78 | break; |
rahmadirizki18 | 1:91e3b7b265fd | 79 | default : |
rahmadirizki18 | 1:91e3b7b265fd | 80 | //Keadaan OFF |
rahmadirizki18 | 1:91e3b7b265fd | 81 | m1.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 82 | m2.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 83 | m3.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 84 | m4.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 85 | } |
rahmadirizki18 | 1:91e3b7b265fd | 86 | }else { |
rahmadirizki18 | 1:91e3b7b265fd | 87 | m1.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 88 | m2.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 89 | m3.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 90 | m4.speed(0); } |
rahmadirizki18 | 1:91e3b7b265fd | 91 | |
rahmadirizki18 | 1:91e3b7b265fd | 92 | |
rahmadirizki18 | 1:91e3b7b265fd | 93 | } |
rahmadirizki18 | 1:91e3b7b265fd | 94 | |
rahmadirizki18 | 1:91e3b7b265fd | 95 | } |
rahmadirizki18 | 1:91e3b7b265fd | 96 | |
rahmadirizki18 | 1:91e3b7b265fd | 97 | /* |
rahmadirizki18 | 1:91e3b7b265fd | 98 | //Maju |
rahmadirizki18 | 1:91e3b7b265fd | 99 | if ( perintah == 'W') { |
rahmadirizki18 | 1:91e3b7b265fd | 100 | m1.speed(0.5); |
rahmadirizki18 | 1:91e3b7b265fd | 101 | wait (5); |
rahmadirizki18 | 1:91e3b7b265fd | 102 | m1.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 103 | pc.printf("Maju"); |
rahmadirizki18 | 1:91e3b7b265fd | 104 | |
rahmadirizki18 | 1:91e3b7b265fd | 105 | } |
rahmadirizki18 | 1:91e3b7b265fd | 106 | //Mundur |
rahmadirizki18 | 1:91e3b7b265fd | 107 | if ( perintah == 'S') { |
rahmadirizki18 | 1:91e3b7b265fd | 108 | m1.speed(-0.5); |
rahmadirizki18 | 1:91e3b7b265fd | 109 | wait (5); |
rahmadirizki18 | 1:91e3b7b265fd | 110 | m1.speed(0); |
rahmadirizki18 | 1:91e3b7b265fd | 111 | pc.printf("Mundur"); |
rahmadirizki18 | 1:91e3b7b265fd | 112 | } |
rahmadirizki18 | 1:91e3b7b265fd | 113 | |
rahmadirizki18 | 1:91e3b7b265fd | 114 | //Kiri |
rahmadirizki18 | 1:91e3b7b265fd | 115 | |
rahmadirizki18 | 1:91e3b7b265fd | 116 | |
rahmadirizki18 | 1:91e3b7b265fd | 117 | //Kanan |
rahmadirizki18 | 1:91e3b7b265fd | 118 | |
rahmadirizki18 | 1:91e3b7b265fd | 119 | */ |
rahmadirizki18 | 1:91e3b7b265fd | 120 | |
rahmadirizki18 | 1:91e3b7b265fd | 121 | |
rahmadirizki18 | 1:91e3b7b265fd | 122 | /* m1.speed(keterangan); |
rahmadirizki18 | 1:91e3b7b265fd | 123 | keterangan = keterangan +fade; |
rahmadirizki18 | 1:91e3b7b265fd | 124 | if (keterangan > 1.00 || keterangan <-1.00) { |
rahmadirizki18 | 1:91e3b7b265fd | 125 | fade = -fade; |
rahmadirizki18 | 1:91e3b7b265fd | 126 | |
rahmadirizki18 | 1:91e3b7b265fd | 127 | } |
rahmadirizki18 | 1:91e3b7b265fd | 128 | |
rahmadirizki18 | 1:91e3b7b265fd | 129 | wait (0.1); |
rahmadirizki18 | 1:91e3b7b265fd | 130 | } |
rahmadirizki18 | 1:91e3b7b265fd | 131 | |
rahmadirizki18 | 1:91e3b7b265fd | 132 | */ |
rahmadirizki18 | 1:91e3b7b265fd | 133 | /* |
simon | 0:7bbc230e00d6 | 134 | for (float s= -1.0; s < 1.0 ; s += 0.01) { |
rahmadirizki18 | 1:91e3b7b265fd | 135 | m1.speed(s); |
simon | 0:7bbc230e00d6 | 136 | wait(0.02); |
simon | 0:7bbc230e00d6 | 137 | } |
rahmadirizki18 | 1:91e3b7b265fd | 138 | */ |
rahmadirizki18 | 1:91e3b7b265fd | 139 | |
rahmadirizki18 | 1:91e3b7b265fd | 140 |