Motor omni

Dependencies:   Motor mbed

Fork of Motor_HelloWorld by Simon Ford

Committer:
rahmadirizki18
Date:
Thu Sep 22 15:16:37 2016 +0000
Revision:
1:91e3b7b265fd
Parent:
0:7bbc230e00d6
motor1

Who changed what in which revision?

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