Hallo
Hier mal mein Ansatz:
(Ich werte hier nur zwei Taster aus wegen der Störimpulse der Mots)Code:/* asuro fährt nach Anstoss einstellbare Zeit zurueck mic 3.1.2007 */ #include <asuro.h> unsigned long zurueckzeit; // Zeit Rueckwaerts in Millisekunden unsigned char sw; // Zwischenspeicher für Schalter k1-k6 int main(void) { Init(); zurueckzeit=0; // vorwärts losfahren MotorDir(FWD,FWD); MotorSpeed(150,150); /* Achtung! Das funzt nur wenn die Taster richtig erkannt werden, sonst bleibt der asuro auf freier Strecke stehen! */ do { sw=PollSwitch(); // Schalter einlesen und für eine Runde speichern if (!zurueckzeit && ((sw==2) || (sw==16))) { zurueckzeit=Gettime()+1000; // Aktuelle Zeit plus x millisek. zurueck MotorSpeed(0,0); MotorDir(RWD,RWD); // Bei unterschiedlichen Geschwindigkeiten MotorSpeed(100,100); // dreht der asuro beim Zurueckfahren ;-) } if (zurueckzeit && (Gettime() > zurueckzeit)) { // Lange genug zurueck? MotorSpeed(0,0); MotorDir(FWD,FWD); MotorSpeed(150,150); zurueckzeit=0; } }while (1); // mainloop (Endlosschleife) return 0; }
@AxelZ: Ich denke, dass asuro-Buch wäre für dich das Richtige
Gruß
mic







Zitieren

Lesezeichen