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/09 17:21]
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 23: Zeile 23:
    
 void setup() { void setup() {
-  pinMode(step1,​ OUTPUT);+  pinMode(step1,​ OUTPUT); ​     //​Einstellen der Stepperpins
   pinMode(dir1,​ OUTPUT);   pinMode(dir1,​ OUTPUT);
   pinMode(step2,​ OUTPUT);   pinMode(step2,​ OUTPUT);
Zeile 29: Zeile 29:
   pinMode(step3,​ OUTPUT);   pinMode(step3,​ OUTPUT);
   pinMode(dir3,​ OUTPUT);   pinMode(dir3,​ OUTPUT);
-  
-  digitalWrite(dir2,​ HIGH); 
-  digitalWrite(dir3,​ HIGH); 
   ​   ​
   Serial.begin(9600);​   Serial.begin(9600);​
Zeile 41: Zeile 38:
 void loop() void loop()
 { {
-  ​entfernungsMesser(); +  ​digitalWrite(dir2, HIGH); 
-  ​if(cm<10{ +  ​digitalWrite(dir3, HIGH); 
-    ​array[89]=0+   
-    digitalWrite(dir2, HIGH); +  digitalWrite(step2,​ HIGH)
-    digitalWrite(dir3, LOW);+  digitalWrite(step3, HIGH); 
 +  ​delay(10);​ 
 +  ​digitalWrite(step2, LOW)
 +  digitalWrite(step3,​ LOW); 
 +  delay(10); ​                    //Von loopanfang bis hier simples Nach-Vorne-Fahren 
 +                                 //​Wird später ersetzt. ​  
 +  entfernungsMesser(); ​          //​Aufrufen der Funktion, die den Abstand zur nächsten Wand misst. 
 +  if(cm<​10) {                     
 +      weitesteEntfernung=0;
  
       for(int i=90;​i<​180;​i++) {       for(int i=90;​i<​180;​i++) {
         myservo.write(i);​         myservo.write(i);​
 +        delay(30);
 +        entfernungsMesser();​
 +        //​Serial.println("​wort"​);​
         array[i]=cm;​         array[i]=cm;​
- +        ​if(array[i]>​weitesteEntfernung) { 
-        ​if(array[i]>​array[i-1]) { +          weitesteEntfernung=array[i]; ​ //​optimalerWinkel und weitesteEntfernung 
-          weitesteEntfernung=array[i];​ +          optimalerWinkel=i; ​           //​werden im Programm bis jetzt noch nicht 
-          optimalerWinkel=i;​ +                                      //​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);​ 
-      for(int j=1;​j<​143;​j++) { +       ​if(optimalerWinkel>​90) { 
-        digitalWrite(step2,​ HIGH); +          digitalWrite(dir2,​ HIGH); 
-        digitalWrite(step3,​ HIGH); +          digitalWrite(dir3,​ LOW); 
-        delay(10);+          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- 
 +        digitalWrite(step2,​ HIGH); ​     //​messer der Räder hat ergeben, dass der 
 +        digitalWrite(step3,​ HIGH); ​     //​sich der Roboter nach 143 steps um 
 +        delay(10); ​                     //​90° gedreht hat.
         digitalWrite(step2,​ LOW);         digitalWrite(step2,​ LOW);
         digitalWrite(step3,​ LOW);         digitalWrite(step3,​ LOW);
         delay(10);         delay(10);
       }       }
-    } +      delay(100); 
 +   }
 } }
  
Zeile 91: Zeile 113:
   cm = microsecondsToCentimeters(duration);​   cm = microsecondsToCentimeters(duration);​
    
-  Serial.println(cm,​ DEC);+  ​//Serial.println(cm,​ DEC);
    
-  delay(100);+  delay(10);
 } }
    
projektews2013/wwsr/start/ausweichen.1389284482.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)