Dependencies:   Farbsensor IRSensorLib PID_Control Servo mbed PixyLib

Revision:
1:5c44e2462a8b
Parent:
0:422088ad7fc5
Child:
2:dea0bab5e45c
--- a/Fahren.cpp	Wed May 10 08:59:22 2017 +0000
+++ b/Fahren.cpp	Wed May 10 14:48:50 2017 +0000
@@ -59,75 +59,81 @@
     if(sensors[0]<=0.1 && sensors[1]<=0.12 && sensors[5]<=0.12) {
         //wenn hinten rechts => leichte linkskurve
         if(sensors[2]<=0.25) {
-            pwmLeft=0.35;
-            pwmRight=0.55;
-            printf("zurueck-linkskurve\n");
+            pwmLeft->write(0.35);
+            pwmRight->write(0.55);
+            pc->printf("zurueck-linkskurve\n");
             state=zurueck_l;
         }
 
         if(sensors[4]<=0.25) {
-            pwmLeft=0.35;
-            pwmRight=0.55;
-            printf("zurueck-rechtskurve\n");
+            pwmLeft->write(0.35);
+            pwmRight->write(0.55);
+            pc->printf("zurueck-rechtskurve\n");
             state=zurueck_r;
         }
         if(sensors[4]>=0.25 && sensors[2]>=0.25) {
-            pwmLeft=0.4;
-            pwmRight=0.6;
+            pwmLeft->write(0.4);
+            pwmRight->write(0.6);
             state=zurueck;
-            printf("zurueck-gerade\n");
+            pc->printf("zurueck-gerade\n");
         }
     }
       
     // Wenn Front etwas sehen => drehen***********************************
         
     else if(sensors[1] <= wand || sensors[5]<=wand){
-        pwmLeft=0.35;
-        pwmRight=0.65;
+        pwmLeft->write(0.35);
+        pwmRight->write(0.65);
     }
     
     else if(sensors[0]<0.25 && sensors [1]<=wenden) {  
-        pwmLeft=0.4;
-        pwmRight=0.4;   
-        printf("drehen links\n\n\n");
+        pwmLeft->write(0.4);
+        pwmRight->write(0.4);   
+        pc->printf("drehen links\n\n\n");
     }  
                     
     else if (sensors[0]<0.25 && sensors [5]<=wenden){    
-        pwmLeft=0.6;
-        pwmRight=0.6;   
-        printf("drehen\n\n\n");
+        pwmLeft->write(0.6);
+        pwmRight->write(0.6);   
+        pc->printf("drehen\n\n\n");
                }
     else if(sensors[0]<0.25) {
     if (rand()%2==0 && state != drehen) {
-            pwmLeft=0.4;
-            pwmRight=0.4;
+            pwmLeft->write(0.4);
+            pwmRight->write(0.4);
         } else if (rand()%2 != 0 && state != drehen) {
-            pwmLeft=0.6;
-            pwmRight=0.6;
+            pwmLeft->write(0.6);
+            pwmRight->write(0.6);
         }
     state=drehen;
     }
     //Wenn Front-Left etwas sehen => nach Rechts**************************
     else if(sensors[5]<=wenden) {
-        printf("rechts\n");
-        pwmLeft=0.65;
-        pwmRight=0.45;
+        pc->printf("rechts\n");
+        pwmLeft->write(0.65);
+        pwmRight->write(0.45);
         state=rechts;
     }
 
     // Wenn Front-Right etwas sehen => Links*******************************
     else if(sensors[1]<=wenden) {
-        printf("Links\n");
-        pwmLeft=0.55;
-        pwmRight=0.35;
+        if(pc)
+            pc->printf("Links\n");
+        pwmLeft->write(0.55);
+        pwmRight->write(0.35);
         state=links;
     }
 
     //Wenn kein Sensor anspricht => gerade aus*****************************
     else if(sensors[0]>=0.26) {
-        printf("gerade\n");
-        pwmLeft=0.65;
-        pwmRight=0.35;
+        if(pc)
+            pc->printf("gerade\n");
+        pwmLeft->write(0.65);
+        pwmRight->write(0.35);
         state=gerade;
     }
+    else {
+        if(pc)
+            pc->printf("gerade2\n\r");
+        }
 }
\ No newline at end of file