Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of Roboshark_V7 by
Diff: Fahren.cpp
- Revision:
- 4:767fd282dd9c
- Parent:
- 3:e4264cb5b9a9
- Child:
- 6:7bbcdd07bc2d
diff -r e4264cb5b9a9 -r 767fd282dd9c Fahren.cpp
--- 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;
+ }
+
+ }
+
+ }
