PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linienprogramm geht nicht,Hilfe



BKA-Anonym
24.05.2006, 18:31
Das ist mein ganz eifaches Programm zum Linienverfolgung. Aber irgendwie funz nicht....Der Asuro soll mit den beiden Sensoren auf Schwarz sein und wenn er mit dem linken auf Wieß kommt soll er sich drehen bis er nochmal auf Schwarz kommt...Aber er dreht sich die ganze Zeit....
Wo ist der Fehler???

#include "asuro.h"
int main(void)
{
unsigned int data[2];
Init();
FrontLED(ON);
MotorDir(FWD,FWD);
MotorSpeed(100,100);
while(1)
{
LineData(data);
if (data[0]>80)
{
MotorDir(RWD,FWD);
MotorSpeed(100,100);
}
}
}

theodrin
24.05.2006, 23:45
Hallo BKA-Anonym!

Da gibts gleich ein Problem mit deiner Schleife. Wenn du einmal in der Schleife mit Data[0] über 80 kommst, dreht er sich immer und immer wieder, auch wenn er später nicht mehr über 80 ist. Du musst den Code noch mal überdenken. Zumindest musst du in die Schleife geben, dass er wenn die data[0] unter 80 ist, wieder gerade aus fährst. So wie du geschrieben hast, kann er sich nur mehr im Kreis drehen, weil nur mehr die eine Anweisung in der Schleife ist, die er dann die ganze Zeit macht.
Ich hoffe das hilft dir weiter!

mfg theodrin