Roboshark / Mbed 2 deprecated TestRegler

Dependencies:   mbed

Fork of Roboshark_V3 by Roboshark

Committer:
ahlervin
Date:
Mon Apr 30 13:22:32 2018 +0000
Revision:
6:a4b745625dbe
Parent:
4:767fd282dd9c
Child:
7:b2a16b1cf487
villicht funktionierts... (30.4.18, 15:30)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jacqueline 0:6d0671ae4648 1 #include "Fahren.h"
Jacqueline 0:6d0671ae4648 2 #include <mbed.h>
Jacqueline 0:6d0671ae4648 3
Jacqueline 0:6d0671ae4648 4
Jacqueline 0:6d0671ae4648 5 //Konstruktor
ahlervin 6:a4b745625dbe 6 Fahren::Fahren(Controller& controller, EncoderCounter& counterLeft, EncoderCounter& counterRight, float SpeedR, float SpeedL):
ahlervin 6:a4b745625dbe 7 controller(controller), counterLeft(counterLeft), counterRight(counterRight), SpeedR(SpeedR), SpeedL(SpeedL)
Jacqueline 0:6d0671ae4648 8
Jacqueline 0:6d0671ae4648 9 {}
Jacqueline 0:6d0671ae4648 10 //Dekonstruktor
Jacqueline 0:6d0671ae4648 11 Fahren::~Fahren() {}
Jacqueline 0:6d0671ae4648 12
Jacqueline 0:6d0671ae4648 13
Jacqueline 0:6d0671ae4648 14
ahlervin 6:a4b745625dbe 15 //Implementation der Methode geradeaus fahren ungeregelt
ahlervin 6:a4b745625dbe 16 void Fahren::geradeausU(){
Jacqueline 0:6d0671ae4648 17
Jacqueline 0:6d0671ae4648 18 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 19 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 20 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 21
Jacqueline 0:6d0671ae4648 22 //Anzahl Clicks die der Encoder zählen soll
Jacqueline 0:6d0671ae4648 23 wegRechts = 1767;
Jacqueline 0:6d0671ae4648 24 wegLinks = 1767;
Jacqueline 0:6d0671ae4648 25
Jacqueline 0:6d0671ae4648 26 //Geschwindigkeit
ahlervin 4:767fd282dd9c 27 speedRight = 25;
ahlervin 4:767fd282dd9c 28 speedLeft = 25;
Jacqueline 0:6d0671ae4648 29
Jacqueline 0:6d0671ae4648 30 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 31 stopRight = false;
Jacqueline 0:6d0671ae4648 32 stopLeft = false;
Jacqueline 0:6d0671ae4648 33
Jacqueline 0:6d0671ae4648 34 //Drehrichtung der Motoren
Jacqueline 0:6d0671ae4648 35 controller.setDesiredSpeedRight(speedRight);
Jacqueline 0:6d0671ae4648 36 controller.setDesiredSpeedLeft(-(speedLeft));
Jacqueline 0:6d0671ae4648 37
Jacqueline 0:6d0671ae4648 38
Jacqueline 0:6d0671ae4648 39 while(1){
Jacqueline 0:6d0671ae4648 40
Jacqueline 0:6d0671ae4648 41 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 42 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 43
Jacqueline 0:6d0671ae4648 44 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 45 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 46 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 47 stopRight = true;
Jacqueline 0:6d0671ae4648 48 }
Jacqueline 0:6d0671ae4648 49
Jacqueline 0:6d0671ae4648 50 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 51 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 52 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 53 stopLeft = true;
Jacqueline 0:6d0671ae4648 54 }
Jacqueline 0:6d0671ae4648 55
Jacqueline 0:6d0671ae4648 56 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 57 return;
Jacqueline 0:6d0671ae4648 58 }
Jacqueline 0:6d0671ae4648 59
Jacqueline 0:6d0671ae4648 60 }
Jacqueline 0:6d0671ae4648 61
Jacqueline 0:6d0671ae4648 62 }
Jacqueline 0:6d0671ae4648 63
ahlervin 6:a4b745625dbe 64 //Implementation der Methode geradeaus fahren geregelt
ahlervin 6:a4b745625dbe 65 void Fahren::geradeausG(){
Jacqueline 0:6d0671ae4648 66
ahlervin 6:a4b745625dbe 67 //einlesen des aktuellen Encoder standes
ahlervin 6:a4b745625dbe 68 initialClicksRight = counterRight.read();
ahlervin 6:a4b745625dbe 69 initialClicksLeft = counterLeft.read();
ahlervin 6:a4b745625dbe 70
ahlervin 6:a4b745625dbe 71 //Anzahl Clicks die der Encoder zählen soll
ahlervin 6:a4b745625dbe 72 wegRechts = 1767;
ahlervin 6:a4b745625dbe 73 wegLinks = 1767;
ahlervin 6:a4b745625dbe 74
ahlervin 6:a4b745625dbe 75 //Geschwindigkeit
ahlervin 6:a4b745625dbe 76 speedRight = SpeedR; // SpeedR
ahlervin 6:a4b745625dbe 77 speedLeft = SpeedL; // SpeedL
ahlervin 6:a4b745625dbe 78
ahlervin 6:a4b745625dbe 79 //Zustand, dass der Roboter nicht gestoppt hat
ahlervin 6:a4b745625dbe 80 stopRight = false;
ahlervin 6:a4b745625dbe 81 stopLeft = false;
ahlervin 6:a4b745625dbe 82
ahlervin 6:a4b745625dbe 83 //Drehrichtung der Motoren
ahlervin 6:a4b745625dbe 84 controller.setDesiredSpeedRight(speedRight);
ahlervin 6:a4b745625dbe 85 controller.setDesiredSpeedLeft(-(speedLeft));
ahlervin 6:a4b745625dbe 86
ahlervin 6:a4b745625dbe 87
ahlervin 6:a4b745625dbe 88 while(1){
ahlervin 6:a4b745625dbe 89
ahlervin 6:a4b745625dbe 90 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 6:a4b745625dbe 91 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 6:a4b745625dbe 92
ahlervin 6:a4b745625dbe 93 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 6:a4b745625dbe 94 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
ahlervin 6:a4b745625dbe 95 controller.setDesiredSpeedRight(0);
ahlervin 6:a4b745625dbe 96 stopRight = true;
ahlervin 6:a4b745625dbe 97 }
ahlervin 6:a4b745625dbe 98
ahlervin 6:a4b745625dbe 99 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 6:a4b745625dbe 100 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
ahlervin 6:a4b745625dbe 101 controller.setDesiredSpeedLeft(0);
ahlervin 6:a4b745625dbe 102 stopLeft = true;
ahlervin 6:a4b745625dbe 103 }
ahlervin 6:a4b745625dbe 104
ahlervin 6:a4b745625dbe 105 if(stopRight == true && stopLeft == true){
ahlervin 6:a4b745625dbe 106 return;
ahlervin 6:a4b745625dbe 107 }
ahlervin 6:a4b745625dbe 108
ahlervin 6:a4b745625dbe 109 }
ahlervin 6:a4b745625dbe 110
ahlervin 6:a4b745625dbe 111 }
ahlervin 6:a4b745625dbe 112
Jacqueline 0:6d0671ae4648 113
Jacqueline 0:6d0671ae4648 114 //Implementation der Methode 90 Grad Rechtsdrehen
Jacqueline 0:6d0671ae4648 115 void Fahren::rechts90() {
Jacqueline 0:6d0671ae4648 116
Jacqueline 0:6d0671ae4648 117 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 118 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 119 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 120
Jacqueline 0:6d0671ae4648 121 //Anzahl Clicks die der Encoder zählen soll
Jacqueline 3:e4264cb5b9a9 122 wegRechts = 878;
Jacqueline 3:e4264cb5b9a9 123 wegLinks = 878;
Jacqueline 0:6d0671ae4648 124
Jacqueline 0:6d0671ae4648 125 //Geschwindigkeit
Jacqueline 0:6d0671ae4648 126 speedRight = 50;
Jacqueline 0:6d0671ae4648 127 speedLeft = 50;
Jacqueline 0:6d0671ae4648 128
Jacqueline 0:6d0671ae4648 129 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 130 stopRight = false;
Jacqueline 0:6d0671ae4648 131 stopLeft = false;
Jacqueline 0:6d0671ae4648 132
Jacqueline 0:6d0671ae4648 133 //Drehrichtung der Motoren
Jacqueline 0:6d0671ae4648 134 controller.setDesiredSpeedRight((speedRight));
Jacqueline 0:6d0671ae4648 135 controller.setDesiredSpeedLeft((speedLeft));
Jacqueline 0:6d0671ae4648 136
Jacqueline 0:6d0671ae4648 137 while(1){
Jacqueline 0:6d0671ae4648 138
Jacqueline 0:6d0671ae4648 139 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 140 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 141
Jacqueline 0:6d0671ae4648 142 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 143 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 144 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 145 stopRight = true;
Jacqueline 0:6d0671ae4648 146 }
Jacqueline 0:6d0671ae4648 147
Jacqueline 0:6d0671ae4648 148 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 149 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 150 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 151 stopLeft = true;
Jacqueline 0:6d0671ae4648 152 }
Jacqueline 0:6d0671ae4648 153
Jacqueline 0:6d0671ae4648 154 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 155 return;
Jacqueline 0:6d0671ae4648 156 }
Jacqueline 0:6d0671ae4648 157
Jacqueline 0:6d0671ae4648 158 }
Jacqueline 0:6d0671ae4648 159
Jacqueline 0:6d0671ae4648 160 }
Jacqueline 0:6d0671ae4648 161
Jacqueline 0:6d0671ae4648 162
Jacqueline 0:6d0671ae4648 163
Jacqueline 0:6d0671ae4648 164 //Implementation der Methode 180 Grad Rechtsdrehen
Jacqueline 0:6d0671ae4648 165 void Fahren::rechts180() {
Jacqueline 0:6d0671ae4648 166
Jacqueline 0:6d0671ae4648 167 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 168 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 169 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 170
Jacqueline 0:6d0671ae4648 171 //Anzahl Clicks die der Encoder zählen soll
Jacqueline 0:6d0671ae4648 172 wegRechts = 1755;
Jacqueline 0:6d0671ae4648 173 wegLinks = 1755;
Jacqueline 0:6d0671ae4648 174
Jacqueline 0:6d0671ae4648 175 //Geschwindigkeit
Jacqueline 0:6d0671ae4648 176 speedRight = 50;
Jacqueline 0:6d0671ae4648 177 speedLeft = 50;
Jacqueline 0:6d0671ae4648 178
Jacqueline 0:6d0671ae4648 179 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 180 stopRight = false;
Jacqueline 0:6d0671ae4648 181 stopLeft = false;
Jacqueline 0:6d0671ae4648 182
Jacqueline 0:6d0671ae4648 183 //Drehrichtung der Motoren
Jacqueline 0:6d0671ae4648 184 controller.setDesiredSpeedRight((speedRight));
Jacqueline 0:6d0671ae4648 185 controller.setDesiredSpeedLeft((speedLeft));
Jacqueline 0:6d0671ae4648 186
Jacqueline 0:6d0671ae4648 187 while(1){
Jacqueline 0:6d0671ae4648 188
Jacqueline 0:6d0671ae4648 189 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 190 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 191
Jacqueline 0:6d0671ae4648 192 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 193 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 194 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 195 stopRight = true;
Jacqueline 0:6d0671ae4648 196 }
Jacqueline 0:6d0671ae4648 197
Jacqueline 0:6d0671ae4648 198 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 199 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 200 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 201 stopLeft = true;
Jacqueline 0:6d0671ae4648 202 }
Jacqueline 0:6d0671ae4648 203
Jacqueline 0:6d0671ae4648 204 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 205 return;
Jacqueline 0:6d0671ae4648 206 }
Jacqueline 0:6d0671ae4648 207
Jacqueline 0:6d0671ae4648 208 }
Jacqueline 0:6d0671ae4648 209
Jacqueline 0:6d0671ae4648 210 }
Jacqueline 0:6d0671ae4648 211
Jacqueline 0:6d0671ae4648 212
Jacqueline 2:402b1a74fff6 213 //Implementation der Methode 90 Grad Linksdrehen
Jacqueline 2:402b1a74fff6 214 void Fahren::links90() {
Jacqueline 0:6d0671ae4648 215
Jacqueline 0:6d0671ae4648 216 //einlesen des aktuellen Encoder standes
Jacqueline 0:6d0671ae4648 217 initialClicksRight = counterRight.read();
Jacqueline 0:6d0671ae4648 218 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 219
Jacqueline 0:6d0671ae4648 220 //Anzahl Clicks die der Encoder zählen soll
Jacqueline 2:402b1a74fff6 221 wegRechts = 878;
Jacqueline 2:402b1a74fff6 222 wegLinks = 878;
Jacqueline 0:6d0671ae4648 223
Jacqueline 0:6d0671ae4648 224 //Geschwindigkeit
Jacqueline 0:6d0671ae4648 225 speedRight = 50;
Jacqueline 0:6d0671ae4648 226 speedLeft = 50;
Jacqueline 0:6d0671ae4648 227
Jacqueline 0:6d0671ae4648 228 //Zustand, dass der Roboter nicht gestoppt hat
Jacqueline 0:6d0671ae4648 229 stopRight = false;
Jacqueline 0:6d0671ae4648 230 stopLeft = false;
Jacqueline 0:6d0671ae4648 231
Jacqueline 0:6d0671ae4648 232 //Drehrichtung der Motoren
Jacqueline 2:402b1a74fff6 233 controller.setDesiredSpeedRight((-speedRight));
Jacqueline 2:402b1a74fff6 234 controller.setDesiredSpeedLeft((-speedLeft));
Jacqueline 0:6d0671ae4648 235
Jacqueline 0:6d0671ae4648 236 while(1){
Jacqueline 0:6d0671ae4648 237
Jacqueline 0:6d0671ae4648 238 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 239 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
Jacqueline 0:6d0671ae4648 240
Jacqueline 0:6d0671ae4648 241 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 242 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
Jacqueline 0:6d0671ae4648 243 controller.setDesiredSpeedRight(0);
Jacqueline 0:6d0671ae4648 244 stopRight = true;
Jacqueline 0:6d0671ae4648 245 }
Jacqueline 0:6d0671ae4648 246
Jacqueline 0:6d0671ae4648 247 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
Jacqueline 0:6d0671ae4648 248 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
Jacqueline 0:6d0671ae4648 249 controller.setDesiredSpeedLeft(0);
Jacqueline 0:6d0671ae4648 250 stopLeft = true;
Jacqueline 0:6d0671ae4648 251 }
Jacqueline 0:6d0671ae4648 252
Jacqueline 0:6d0671ae4648 253 if(stopRight == true && stopLeft == true){
Jacqueline 0:6d0671ae4648 254 return;
Jacqueline 0:6d0671ae4648 255 }
Jacqueline 0:6d0671ae4648 256
Jacqueline 0:6d0671ae4648 257 }
Jacqueline 0:6d0671ae4648 258
Jacqueline 0:6d0671ae4648 259 }
Jacqueline 0:6d0671ae4648 260
ahlervin 4:767fd282dd9c 261
ahlervin 4:767fd282dd9c 262 //Implementation der Methode Ziel erreicht
ahlervin 4:767fd282dd9c 263 void Fahren::ziel() {
ahlervin 4:767fd282dd9c 264
ahlervin 4:767fd282dd9c 265 //einlesen des aktuellen Encoder standes
ahlervin 4:767fd282dd9c 266 initialClicksRight = counterRight.read();
ahlervin 4:767fd282dd9c 267 initialClicksLeft = counterLeft.read();
Jacqueline 0:6d0671ae4648 268
ahlervin 4:767fd282dd9c 269 //Anzahl Clicks die der Encoder zählen soll
ahlervin 4:767fd282dd9c 270 wegRechts = 7050;
ahlervin 4:767fd282dd9c 271 wegLinks = 7050;
ahlervin 4:767fd282dd9c 272
ahlervin 4:767fd282dd9c 273 //Geschwindigkeit
ahlervin 4:767fd282dd9c 274 speedRight = 80;
ahlervin 4:767fd282dd9c 275 speedLeft = 80;
ahlervin 4:767fd282dd9c 276
ahlervin 4:767fd282dd9c 277 //Zustand, dass der Roboter nicht gestoppt hat
ahlervin 4:767fd282dd9c 278 stopRight = false;
ahlervin 4:767fd282dd9c 279 stopLeft = false;
ahlervin 4:767fd282dd9c 280
ahlervin 4:767fd282dd9c 281 //Drehrichtung der Motoren
ahlervin 4:767fd282dd9c 282 controller.setDesiredSpeedRight((speedRight));
ahlervin 4:767fd282dd9c 283 controller.setDesiredSpeedLeft((speedLeft));
ahlervin 4:767fd282dd9c 284
ahlervin 4:767fd282dd9c 285 while(1){
ahlervin 4:767fd282dd9c 286
ahlervin 4:767fd282dd9c 287 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 288 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 289
ahlervin 4:767fd282dd9c 290 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 291 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
ahlervin 4:767fd282dd9c 292 controller.setDesiredSpeedRight(0);
ahlervin 4:767fd282dd9c 293 stopRight = true;
ahlervin 4:767fd282dd9c 294 }
ahlervin 4:767fd282dd9c 295
ahlervin 4:767fd282dd9c 296 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 297 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
ahlervin 4:767fd282dd9c 298 controller.setDesiredSpeedLeft(0);
ahlervin 4:767fd282dd9c 299 stopLeft = true;
ahlervin 4:767fd282dd9c 300 }
ahlervin 4:767fd282dd9c 301
ahlervin 4:767fd282dd9c 302 if(stopRight == true && stopLeft == true){
ahlervin 4:767fd282dd9c 303 return;
ahlervin 4:767fd282dd9c 304 }
ahlervin 4:767fd282dd9c 305 }
ahlervin 4:767fd282dd9c 306
ahlervin 4:767fd282dd9c 307 }
Jacqueline 0:6d0671ae4648 308
ahlervin 4:767fd282dd9c 309 //Implementation der Methode stopp
ahlervin 4:767fd282dd9c 310 void Fahren::stopp(){
ahlervin 4:767fd282dd9c 311
ahlervin 4:767fd282dd9c 312 //einlesen des aktuellen Encoder standes
ahlervin 4:767fd282dd9c 313 initialClicksRight = counterRight.read();
ahlervin 4:767fd282dd9c 314 initialClicksLeft = counterLeft.read();
ahlervin 4:767fd282dd9c 315
ahlervin 4:767fd282dd9c 316 //Anzahl Clicks die der Encoder zählen soll
ahlervin 4:767fd282dd9c 317 wegRechts = 0;
ahlervin 4:767fd282dd9c 318 wegLinks = 0;
ahlervin 4:767fd282dd9c 319
ahlervin 4:767fd282dd9c 320 //Geschwindigkeit
ahlervin 4:767fd282dd9c 321 speedRight = 0;
ahlervin 4:767fd282dd9c 322 speedLeft = 0;
ahlervin 4:767fd282dd9c 323
ahlervin 4:767fd282dd9c 324 //Zustand, dass der Roboter nicht gestoppt hat
ahlervin 4:767fd282dd9c 325 stopRight = false;
ahlervin 4:767fd282dd9c 326 stopLeft = false;
ahlervin 4:767fd282dd9c 327
ahlervin 4:767fd282dd9c 328 //Drehrichtung der Motoren
ahlervin 4:767fd282dd9c 329 controller.setDesiredSpeedRight(speedRight);
ahlervin 4:767fd282dd9c 330 controller.setDesiredSpeedLeft(-(speedLeft));
ahlervin 4:767fd282dd9c 331
ahlervin 4:767fd282dd9c 332
ahlervin 4:767fd282dd9c 333 while(1){
ahlervin 4:767fd282dd9c 334
ahlervin 4:767fd282dd9c 335 // printf("Encoderrechts %d \n\r", counterRight.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 336 // printf("Encoderlinks %d \n\r", counterLeft.read()); //Debugging Zweck (Putty benutzen!)
ahlervin 4:767fd282dd9c 337
ahlervin 4:767fd282dd9c 338 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 339 if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){
ahlervin 4:767fd282dd9c 340 controller.setDesiredSpeedRight(0);
ahlervin 4:767fd282dd9c 341 stopRight = true;
ahlervin 4:767fd282dd9c 342 }
ahlervin 4:767fd282dd9c 343
ahlervin 4:767fd282dd9c 344 //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
ahlervin 4:767fd282dd9c 345 if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
ahlervin 4:767fd282dd9c 346 controller.setDesiredSpeedLeft(0);
ahlervin 4:767fd282dd9c 347 stopLeft = true;
ahlervin 4:767fd282dd9c 348 }
ahlervin 4:767fd282dd9c 349
ahlervin 4:767fd282dd9c 350 if(stopRight == true && stopLeft == true){
ahlervin 4:767fd282dd9c 351 return;
ahlervin 4:767fd282dd9c 352 }
ahlervin 4:767fd282dd9c 353
ahlervin 4:767fd282dd9c 354 }
ahlervin 4:767fd282dd9c 355
ahlervin 4:767fd282dd9c 356 }