Ich würde gerne Versuchen, das die räder sich beim vorwärtsfahren anpassen, sodass er exakt geradeausfährt.
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
}
}
Lesezeichen