Hallo Leute, wir haben in der Schule einen Asuro gebaut und wolln jetzt, das er vernünftig geradeaus fährt. Kann man die Motoren nicht irgendwie auf einander abstimmen.
Und wenn ihr schon dabei seit wie kann ich bei mir einbauen, das er einem Licht oder einer Linie folgt?
Code:
#include "asuro.h"

int main(void){
   Init();
   
   int zeit;
   
    while(1)   {
   MotorDir(FWD,FWD);                       // Beiden Motoren auf Vorwärts
    MotorSpeed(120,150);                  // Die Motoren arbeiten ungleichmäßig stark, so gehts geradeaus
    StatusLED(GREEN);                     // Status-Leuchtdiode auf grün schalten
    while (PollSwitch()==0) {              // Kollisionskontakte prüfen und solange keine Kollision erfolgt...
                SerWrite("Los gehts!\n",9); // ...weiterfahren
            
    }
    MotorSpeed(0,0);                     // Kollision! sofort anhalten!
    StatusLED(RED);                      // Status-Leuchtdiode auf rot schalten
    for(zeit=0;zeit<1000;zeit++){         // Ne pause von 1000 millisekunden
   Sleep(72);}   
   BackLED(ON,ON);                        // Rückleuchten anschalten
   MotorDir(RWD,RWD);                     // Rückwärtsgang einlegen
    MotorSpeed(120,150);                  // losfahren
    SerWrite("Wech hier!\n",10);         // "Wech hier!" schicken
    for(zeit=0;zeit<1000;zeit++){         // wieder Pause
   Sleep(72);}    
   MotorSpeed(0,0);                  // Motoren ausschalten
               SerWrite("Uff! Das war knapp.\n",16);
   StatusLED(GREEN);                  // StatusLED wieder grün schalten
   BackLED(OFF,OFF);                  // und Rückleuchten wieder aus
   for(zeit=0;zeit<1000;zeit++){        // schon wieder Pause
   Sleep(72);}   
    MotorDir(FWD,RWD);                 // Den linken Motor vorwärts und den rechten Rückwärts schalten,
   StatusLED(YELLOW);                 // StatusLED  gelb schalten,
   MotorSpeed(100,129);                 // Beide Motoren einschalten
               SerWrite("Drehn! Drehn! Drehn!\n",18); // und sich drehen
   for(zeit=0;zeit<1000;zeit++){                     // wieder kurz warten...
   Sleep(72);}   
   MotorSpeed(0,0);
   for(zeit=0;zeit<1000;zeit++){
   Sleep(72);}                                        // ...und dann alles von vorne
   }
   
}