Benutzer-Werkzeuge

Webseiten-Werkzeuge


projektews2013:wwsr:start:ausweichen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projektews2013:wwsr:start:ausweichen [2014/01/12 21:22]
gorgotha
projektews2013:wwsr:start:ausweichen [2016/01/21 12:45] (aktuell)
Zeile 11: Zeile 11:
 int dir1=22; int dir1=22;
    
-int step2=26;+int step2=26; ​//Rechtes Rad
 int dir2=28; int dir2=28;
    
-int step3=30;+int step3=30; ​//Linkes Rad
 int dir3=32; int dir3=32;
  
Zeile 50: Zeile 50:
   entfernungsMesser(); ​          //​Aufrufen der Funktion, die den Abstand zur nächsten Wand misst.   entfernungsMesser(); ​          //​Aufrufen der Funktion, die den Abstand zur nächsten Wand misst.
   if(cm<​10) {                    ​   if(cm<​10) {                    ​
-    array[89]=0;                 //​array[89] darf nicht unbeschrieben sein, weil der Anfang bei Winkel=90° ist. +      weitesteEntfernung=0;
-    digitalWrite(dir2,​ HIGH); ​   //​Umstellung der directions, um sich zu drehen. +
-    digitalWrite(dir3,​ LOW);+
  
-      for(int i=90;i>180;i++) {+      for(int i=90;i<180;i++) {
         myservo.write(i);​         myservo.write(i);​
 +        delay(30);
         entfernungsMesser();​         entfernungsMesser();​
-        ​+        ​//​Serial.println("​wort"​);​
         array[i]=cm;​         array[i]=cm;​
-        if(array[i]>​array[i-1]) {+        if(array[i]>​weitesteEntfernung) {
           weitesteEntfernung=array[i]; ​ //​optimalerWinkel und weitesteEntfernung           weitesteEntfernung=array[i]; ​ //​optimalerWinkel und weitesteEntfernung
           optimalerWinkel=i; ​           //werden im Programm bis jetzt noch nicht           optimalerWinkel=i; ​           //werden im Programm bis jetzt noch nicht
-        ​                              ​//​verwendet. +          ​                            ​//​verwendet. 
-      }  +          ​Serial.println(optimalerWinkel);​ 
-      for(int i=180;i<0;i--) {+        ​}  
 +      for(int i=179;i>0;i--) {
         myservo.write(i);​         myservo.write(i);​
 +        delay(30);
         entfernungsMesser();​         entfernungsMesser();​
   ​   ​
         array[i]=cm;​         array[i]=cm;​
-        if(array[i]>​array[i-1]) {+        if(array[i]>​weitesteEntfernung) {
           weitesteEntfernung=array[i];​           weitesteEntfernung=array[i];​
           optimalerWinkel=i;​           optimalerWinkel=i;​
 +          }
 +          Serial.println(optimalerWinkel);​
         }         }
-      }+       ​myservo.write(90);​ 
 +       ​if(optimalerWinkel>​90) { 
 +          digitalWrite(dir2,​ HIGH); 
 +          digitalWrite(dir3,​ LOW); 
 +          Serial.println("​LINKS"​);​ 
 +        ​} 
 +       else { 
 +          digitalWrite(dir2,​ LOW); 
 +          digitalWrite(dir3,​ HIGH); 
 +          Serial.println("​RECHTS"​);​ 
 +        } 
 +         
       for(int j=1;​j<​143;​j++) {          //Rechnerei mit dem Abstand und Durch-       for(int j=1;​j<​143;​j++) {          //Rechnerei mit dem Abstand und Durch-
         digitalWrite(step2,​ HIGH); ​     //messer der Räder hat ergeben, dass der         digitalWrite(step2,​ HIGH); ​     //messer der Räder hat ergeben, dass der
Zeile 82: Zeile 96:
         delay(10);         delay(10);
       }       }
-    } +      delay(100); 
 +   }
 } }
  
Zeile 99: Zeile 113:
   cm = microsecondsToCentimeters(duration);​   cm = microsecondsToCentimeters(duration);​
    
-  Serial.println(cm,​ DEC);+  ​//Serial.println(cm,​ DEC);
    
-  delay(100);+  delay(10);
 } }
    
projektews2013/wwsr/start/ausweichen.1389558174.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)