Hallo,
wir haben große Probleme mit den Tastern vom Asuro. Wir haben bereits probiert PollSwitch öfters aufzurufen, PollSwitch - Werte zu vergleichen und bei der Umrechnung in der asuro.c den Originalwert 61 verändert. Trotzdem liefert die Funktion nicht immer korrekte Ergebnisse.
Wir wollten ein Programm schreiben, welches den Asuro veranlasst einen bestimmten Weg zu fahren, wenn er auf ein Hindernis stößt.
Unsere Funktionen sieht folgendermaßen aus:
Könnt ihr uns weiterhelfen??Code:void CollisionTest() { unsigned int data[2]; int switchesPressed; UnloadCondensator(); FrontLED(ON); MotorDir(FWD,FWD); MotorSpeed(150, 150); while(1) { LineData(data); switchesPressed = MyPollSwitch(); if (switchesPressed > 0) { //Hier fährt der Roboter einen bestimmten Weg // ... } } } int MyPollSwitch() { int p1, p2; do { UnloadCondensator(); Msleep(10); p1 = PollSwitch(); UnloadCondensator(); Msleep(10); p2 = PollSwitch(); } while (p1 != p2); return p1; } void UnloadCondensator() { int i = 0; for (; i <= 8; i++) PollSwitch(); }
Vielen Dank!
schönen Abend,
Bertl und Uli







Zitieren

Lesezeichen