Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Committer:
sahilmgandhi
Date:
Sat May 13 23:49:02 2017 +0000
Revision:
14:9e7bb03ddccb
Turns work, but one cell count with encoder does not

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sahilmgandhi 14:9e7bb03ddccb 1 //void turnLeft(){
sahilmgandhi 14:9e7bb03ddccb 2 // double speed0 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 3 // double speed1 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 4 // double kp = 0.01;
sahilmgandhi 14:9e7bb03ddccb 5 //
sahilmgandhi 14:9e7bb03ddccb 6 // int counter = 0;
sahilmgandhi 14:9e7bb03ddccb 7 //
sahilmgandhi 14:9e7bb03ddccb 8 // int initialCount0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 9 // int initialCount1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 10 //
sahilmgandhi 14:9e7bb03ddccb 11 // double desiredCount0 = initialCount0 - desiredCountL;
sahilmgandhi 14:9e7bb03ddccb 12 // double desiredCount1 = initialCount1 + desiredCountL;
sahilmgandhi 14:9e7bb03ddccb 13 //
sahilmgandhi 14:9e7bb03ddccb 14 // int count0 = initialCount0;
sahilmgandhi 14:9e7bb03ddccb 15 // int count1 = initialCount1;
sahilmgandhi 14:9e7bb03ddccb 16 //
sahilmgandhi 14:9e7bb03ddccb 17 // double error0 = count0 - desiredCount0;
sahilmgandhi 14:9e7bb03ddccb 18 // double error1 = count1 - desiredCount1;
sahilmgandhi 14:9e7bb03ddccb 19 //
sahilmgandhi 14:9e7bb03ddccb 20 // while(1){
sahilmgandhi 14:9e7bb03ddccb 21 //
sahilmgandhi 14:9e7bb03ddccb 22 // if(!(abs(error0) < 1) && !(abs(error1) < 1)){
sahilmgandhi 14:9e7bb03ddccb 23 // count0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 24 // count1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 25 //
sahilmgandhi 14:9e7bb03ddccb 26 // error0 = count0 - desiredCount0;
sahilmgandhi 14:9e7bb03ddccb 27 // error1 = count1 - desiredCount1;
sahilmgandhi 14:9e7bb03ddccb 28 //
sahilmgandhi 14:9e7bb03ddccb 29 // speed0 = error0 * kp + speed0;
sahilmgandhi 14:9e7bb03ddccb 30 // speed1 = error1 * kp + speed1;
sahilmgandhi 14:9e7bb03ddccb 31 //
sahilmgandhi 14:9e7bb03ddccb 32 // right_motor.move(speed0);
sahilmgandhi 14:9e7bb03ddccb 33 // left_motor.move(speed1);
sahilmgandhi 14:9e7bb03ddccb 34 // counter = 0;
sahilmgandhi 14:9e7bb03ddccb 35 // }else{
sahilmgandhi 14:9e7bb03ddccb 36 // counter++;
sahilmgandhi 14:9e7bb03ddccb 37 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 38 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 39 // }
sahilmgandhi 14:9e7bb03ddccb 40 //
sahilmgandhi 14:9e7bb03ddccb 41 // if (counter > 60){
sahilmgandhi 14:9e7bb03ddccb 42 // break;
sahilmgandhi 14:9e7bb03ddccb 43 // }
sahilmgandhi 14:9e7bb03ddccb 44 // }
sahilmgandhi 14:9e7bb03ddccb 45 //
sahilmgandhi 14:9e7bb03ddccb 46 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 47 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 48 //}
sahilmgandhi 14:9e7bb03ddccb 49 //
sahilmgandhi 14:9e7bb03ddccb 50 //void turnRight() { //e1 should be negative encoder0 is left, encoder1 is right
sahilmgandhi 14:9e7bb03ddccb 51 // double speed0 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 52 // double speed1 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 53 // double kp = 0.01;
sahilmgandhi 14:9e7bb03ddccb 54 //
sahilmgandhi 14:9e7bb03ddccb 55 // int counter = 0;
sahilmgandhi 14:9e7bb03ddccb 56 //
sahilmgandhi 14:9e7bb03ddccb 57 // int initialCount0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 58 // int initialCount1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 59 //
sahilmgandhi 14:9e7bb03ddccb 60 // double desiredCount0 = initialCount0 + desiredCountR;
sahilmgandhi 14:9e7bb03ddccb 61 // double desiredCount1 = initialCount1 - desiredCountR;
sahilmgandhi 14:9e7bb03ddccb 62 //
sahilmgandhi 14:9e7bb03ddccb 63 // int count0 = initialCount0;
sahilmgandhi 14:9e7bb03ddccb 64 // int count1 = initialCount1;
sahilmgandhi 14:9e7bb03ddccb 65 //
sahilmgandhi 14:9e7bb03ddccb 66 // double error0 = count0 - desiredCount0;
sahilmgandhi 14:9e7bb03ddccb 67 // double error1 = count1 - desiredCount1;
sahilmgandhi 14:9e7bb03ddccb 68 //
sahilmgandhi 14:9e7bb03ddccb 69 // while(1){
sahilmgandhi 14:9e7bb03ddccb 70 //
sahilmgandhi 14:9e7bb03ddccb 71 // if(!(abs(error0) < 1) && !(abs(error1) < 1)){
sahilmgandhi 14:9e7bb03ddccb 72 // count0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 73 // count1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 74 //
sahilmgandhi 14:9e7bb03ddccb 75 // error0 = count0 - desiredCount0; // moves forward
sahilmgandhi 14:9e7bb03ddccb 76 // error1 = count1 - desiredCount1; // moves backwards
sahilmgandhi 14:9e7bb03ddccb 77 //
sahilmgandhi 14:9e7bb03ddccb 78 // speed0 = error0 * kp + speed0;
sahilmgandhi 14:9e7bb03ddccb 79 // speed1 = error1 * kp + speed1;
sahilmgandhi 14:9e7bb03ddccb 80 //
sahilmgandhi 14:9e7bb03ddccb 81 // right_motor.move(speed0);
sahilmgandhi 14:9e7bb03ddccb 82 // left_motor.move(speed1);
sahilmgandhi 14:9e7bb03ddccb 83 // counter = 0;
sahilmgandhi 14:9e7bb03ddccb 84 // }else{
sahilmgandhi 14:9e7bb03ddccb 85 // counter++;
sahilmgandhi 14:9e7bb03ddccb 86 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 87 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 88 // }
sahilmgandhi 14:9e7bb03ddccb 89 //
sahilmgandhi 14:9e7bb03ddccb 90 // if (counter > 60){
sahilmgandhi 14:9e7bb03ddccb 91 // break;
sahilmgandhi 14:9e7bb03ddccb 92 // }
sahilmgandhi 14:9e7bb03ddccb 93 //
sahilmgandhi 14:9e7bb03ddccb 94 // // serial.printf("ERROR=> 0:%f, 1:%f, SPEED=> 0:%f, 1:%f\n", error0, error1, speed0, speed1);
sahilmgandhi 14:9e7bb03ddccb 95 // // serial.printf("Pulse Count=> e0:%d, e1:%d \r\n", encoder0.getPulses(), encoder1.getPulses());
sahilmgandhi 14:9e7bb03ddccb 96 // }
sahilmgandhi 14:9e7bb03ddccb 97 //
sahilmgandhi 14:9e7bb03ddccb 98 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 99 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 100 //}
sahilmgandhi 14:9e7bb03ddccb 101 //
sahilmgandhi 14:9e7bb03ddccb 102 //
sahilmgandhi 14:9e7bb03ddccb 103 //void turnLeft180(){
sahilmgandhi 14:9e7bb03ddccb 104 // double speed0 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 105 // double speed1 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 106 // double kp = 0.01;
sahilmgandhi 14:9e7bb03ddccb 107 //
sahilmgandhi 14:9e7bb03ddccb 108 // int counter = 0;
sahilmgandhi 14:9e7bb03ddccb 109 //
sahilmgandhi 14:9e7bb03ddccb 110 // int initialCount0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 111 // int initialCount1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 112 //
sahilmgandhi 14:9e7bb03ddccb 113 // double desiredCount0 = initialCount0 - 3000;
sahilmgandhi 14:9e7bb03ddccb 114 // double desiredCount1 = initialCount1 + 2700;
sahilmgandhi 14:9e7bb03ddccb 115 //
sahilmgandhi 14:9e7bb03ddccb 116 // int count0 = initialCount0;
sahilmgandhi 14:9e7bb03ddccb 117 // int count1 = initialCount1;
sahilmgandhi 14:9e7bb03ddccb 118 //
sahilmgandhi 14:9e7bb03ddccb 119 // double error0 = count0 - desiredCount0;
sahilmgandhi 14:9e7bb03ddccb 120 // double error1 = count1 - desiredCount1;
sahilmgandhi 14:9e7bb03ddccb 121 //
sahilmgandhi 14:9e7bb03ddccb 122 // while(1){
sahilmgandhi 14:9e7bb03ddccb 123 //
sahilmgandhi 14:9e7bb03ddccb 124 // if(!(abs(error0) < 1) && !(abs(error1) < 1)){
sahilmgandhi 14:9e7bb03ddccb 125 // count0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 126 // count1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 127 //
sahilmgandhi 14:9e7bb03ddccb 128 // error0 = count0 - desiredCount0;
sahilmgandhi 14:9e7bb03ddccb 129 // error1 = count1 - desiredCount1;
sahilmgandhi 14:9e7bb03ddccb 130 //
sahilmgandhi 14:9e7bb03ddccb 131 // speed0 = error0 * kp + speed0;
sahilmgandhi 14:9e7bb03ddccb 132 // speed1 = error1 * kp + speed1;
sahilmgandhi 14:9e7bb03ddccb 133 //
sahilmgandhi 14:9e7bb03ddccb 134 // right_motor.move(speed0);
sahilmgandhi 14:9e7bb03ddccb 135 // left_motor.move(speed1);
sahilmgandhi 14:9e7bb03ddccb 136 // counter = 0;
sahilmgandhi 14:9e7bb03ddccb 137 // }else{
sahilmgandhi 14:9e7bb03ddccb 138 // counter++;
sahilmgandhi 14:9e7bb03ddccb 139 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 140 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 141 // }
sahilmgandhi 14:9e7bb03ddccb 142 //
sahilmgandhi 14:9e7bb03ddccb 143 // if (counter > 60){
sahilmgandhi 14:9e7bb03ddccb 144 // break;
sahilmgandhi 14:9e7bb03ddccb 145 // }
sahilmgandhi 14:9e7bb03ddccb 146 // }
sahilmgandhi 14:9e7bb03ddccb 147 //
sahilmgandhi 14:9e7bb03ddccb 148 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 149 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 150 //}
sahilmgandhi 14:9e7bb03ddccb 151 //
sahilmgandhi 14:9e7bb03ddccb 152 //void turnRight180(){
sahilmgandhi 14:9e7bb03ddccb 153 // double speed0 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 154 // double speed1 = 0.15;
sahilmgandhi 14:9e7bb03ddccb 155 // double kp = 0.01;
sahilmgandhi 14:9e7bb03ddccb 156 //
sahilmgandhi 14:9e7bb03ddccb 157 // int counter = 0;
sahilmgandhi 14:9e7bb03ddccb 158 //
sahilmgandhi 14:9e7bb03ddccb 159 // int initialCount0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 160 // int initialCount1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 161 //
sahilmgandhi 14:9e7bb03ddccb 162 // double desiredCount0 = initialCount0 + desiredCountR*2;
sahilmgandhi 14:9e7bb03ddccb 163 // double desiredCount1 = initialCount1 - desiredCountR*2;
sahilmgandhi 14:9e7bb03ddccb 164 //
sahilmgandhi 14:9e7bb03ddccb 165 // int count0 = initialCount0;
sahilmgandhi 14:9e7bb03ddccb 166 // int count1 = initialCount1;
sahilmgandhi 14:9e7bb03ddccb 167 //
sahilmgandhi 14:9e7bb03ddccb 168 // double error0 = count0 - desiredCount0;
sahilmgandhi 14:9e7bb03ddccb 169 // double error1 = count1 - desiredCount1;
sahilmgandhi 14:9e7bb03ddccb 170 //
sahilmgandhi 14:9e7bb03ddccb 171 // while(1){
sahilmgandhi 14:9e7bb03ddccb 172 //
sahilmgandhi 14:9e7bb03ddccb 173 // if(!(abs(error0) < 1) && !(abs(error1) < 1)){
sahilmgandhi 14:9e7bb03ddccb 174 // count0 = encoder0.getPulses();
sahilmgandhi 14:9e7bb03ddccb 175 // count1 = encoder1.getPulses();
sahilmgandhi 14:9e7bb03ddccb 176 //
sahilmgandhi 14:9e7bb03ddccb 177 // error0 = count0 - desiredCount0; // moves forward
sahilmgandhi 14:9e7bb03ddccb 178 // error1 = count1 - desiredCount1; // moves backwards
sahilmgandhi 14:9e7bb03ddccb 179 //
sahilmgandhi 14:9e7bb03ddccb 180 // speed0 = error0 * kp + speed0;
sahilmgandhi 14:9e7bb03ddccb 181 // speed1 = error1 * kp + speed1;
sahilmgandhi 14:9e7bb03ddccb 182 //
sahilmgandhi 14:9e7bb03ddccb 183 // right_motor.move(speed0);
sahilmgandhi 14:9e7bb03ddccb 184 // left_motor.move(speed1);
sahilmgandhi 14:9e7bb03ddccb 185 // counter = 0;
sahilmgandhi 14:9e7bb03ddccb 186 // }else{
sahilmgandhi 14:9e7bb03ddccb 187 // counter++;
sahilmgandhi 14:9e7bb03ddccb 188 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 189 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 190 // }
sahilmgandhi 14:9e7bb03ddccb 191 //
sahilmgandhi 14:9e7bb03ddccb 192 // if (counter > 60){
sahilmgandhi 14:9e7bb03ddccb 193 // break;
sahilmgandhi 14:9e7bb03ddccb 194 // }
sahilmgandhi 14:9e7bb03ddccb 195 //
sahilmgandhi 14:9e7bb03ddccb 196 // // serial.printf("ERROR=> 0:%f, 1:%f, SPEED=> 0:%f, 1:%f\n", error0, error1, speed0, speed1);
sahilmgandhi 14:9e7bb03ddccb 197 // // serial.printf("Pulse Count=> e0:%d, e1:%d \r\n", encoder0.getPulses(), encoder1.getPulses());
sahilmgandhi 14:9e7bb03ddccb 198 // }
sahilmgandhi 14:9e7bb03ddccb 199 //
sahilmgandhi 14:9e7bb03ddccb 200 // right_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 201 // left_motor.brake();
sahilmgandhi 14:9e7bb03ddccb 202 //}