Roboshark / Mbed 2 deprecated TestRegler

Dependencies:   mbed

Fork of Roboshark_V3 by Roboshark

Revision:
4:767fd282dd9c
Parent:
3:e4264cb5b9a9
Child:
6:a4b745625dbe
--- a/Fahren.cpp	Mon Apr 23 12:19:12 2018 +0000
+++ b/Fahren.cpp	Tue Apr 24 18:16:05 2018 +0000
@@ -24,8 +24,8 @@
     wegLinks = 1767;
         
     //Geschwindigkeit
-    speedRight = 50;
-    speedLeft = 50;
+    speedRight = 25;
+    speedLeft = 25;
     
     //Zustand, dass der Roboter nicht gestoppt hat
     stopRight = false;
@@ -210,5 +210,99 @@
         
     }
     
+        
+//Implementation der Methode Ziel erreicht
+void Fahren::ziel() {
+        
+    //einlesen des aktuellen Encoder standes
+    initialClicksRight = counterRight.read();   
+    initialClicksLeft = counterLeft.read();
     
+    //Anzahl Clicks die der Encoder zählen soll
+    wegRechts = 7050;
+    wegLinks = 7050;
+    
+    //Geschwindigkeit
+    speedRight = 80;
+    speedLeft = 80;
+    
+    //Zustand, dass der Roboter nicht gestoppt hat
+    stopRight = false;
+    stopLeft = false;
+    
+    //Drehrichtung der Motoren
+    controller.setDesiredSpeedRight((speedRight));
+    controller.setDesiredSpeedLeft((speedLeft));
+    
+    while(1){
+       
+       // printf("Encoderrechts %d \n\r", counterRight.read());                   //Debugging Zweck (Putty benutzen!)
+       // printf("Encoderlinks %d \n\r", counterLeft.read());                     //Debugging Zweck (Putty benutzen!)
+        
+        //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
+        if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){    
+            controller.setDesiredSpeedRight(0);
+            stopRight = true;
+            }
+            
+        //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen    
+        if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
+            controller.setDesiredSpeedLeft(0);
+            stopLeft = true;
+            }
+     
+        if(stopRight == true && stopLeft == true){
+            return;  
+            } 
+        }
+        
+    }
 
+//Implementation der Methode stopp
+void Fahren::stopp(){
+    
+    //einlesen des aktuellen Encoder standes
+    initialClicksRight = counterRight.read();   
+    initialClicksLeft = counterLeft.read();
+    
+    //Anzahl Clicks die der Encoder zählen soll
+    wegRechts = 0;
+    wegLinks = 0;
+        
+    //Geschwindigkeit
+    speedRight = 0;
+    speedLeft = 0;
+    
+    //Zustand, dass der Roboter nicht gestoppt hat
+    stopRight = false;
+    stopLeft = false;
+    
+    //Drehrichtung der Motoren
+    controller.setDesiredSpeedRight(speedRight);
+    controller.setDesiredSpeedLeft(-(speedLeft));
+    
+    
+    while(1){
+       
+       // printf("Encoderrechts %d \n\r", counterRight.read());                   //Debugging Zweck (Putty benutzen!)
+       // printf("Encoderlinks %d \n\r", counterLeft.read());                     //Debugging Zweck (Putty benutzen!)
+        
+        //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen
+        if(counterRight.read() - initialClicksRight >= wegRechts || counterRight.read() - initialClicksRight <= -wegRechts){    
+            controller.setDesiredSpeedRight(0);
+            stopRight = true;
+            }
+            
+        //If Schleife, wenn Clicks erreicht sind, muss der Motor stoppen    
+        if(counterLeft.read() - initialClicksLeft >= wegLinks || counterLeft.read() - initialClicksLeft <= -wegLinks ){
+            controller.setDesiredSpeedLeft(0);
+            stopLeft = true;
+            }
+     
+        if(stopRight == true && stopLeft == true){
+            return;
+            }  
+         
+        }
+        
+    }