Erst mal Entschuldigung, für mein Gespamme...ich hab den EDIT Button aber schon mal benutzt![]()
Und jetzt zu meiner neuesten Kreation.
Erst mal kurz der Ablauf, was ich mir dabei gedacht habe.
1. Einlesen ob rechtsschwarzlinksweiß oder andersrum
2. Abspeichern in A und B
while(1){
3. Falls A>B (linksweißrechtsschwarz) -> 2 versch. while schleifen
4. Falls A<B (linksschwarzrechtsweiß) -> 2 versch. while schleifen
}
Einfach mal anschauen!!
Ich würde das ja mal gerne versuchen, aber so rein beim durchschauen denk ich mir, das müsste doch funktionieren![]()
EDIT: Ich hab keine Ahnung warum jetzt alles bold ist, ich habe keinen Knopf gedrückt!!Code:#include "asuro.h" int main(void){ unsigned int data[2]; unsigned char speed=150; unsigned char taste; unsigned char A=0,B=0; Init(); LineData(data); A=data[0]; B=data[1]; FrontLED(ON); MotorDir(FWD,FWD); if ( ((data[0]>550) && (data[1]<450)) || ((data[0]<450) && (data[1]>550)){ while(1){ do { BackLED(OFF,OFF); MotorSpeed(150,150); LineData(data); taste=PollSwitch(); if (taste>0){ MotorSpeed(0,0); StatusLED(RED); } }//ende do while (((data[0]>550) && (data[1]<450)) || ((data[0]<450) && (data[1]>550))) while ((data[0]>600) && (data[1]>600) && (A>B)){ //weiter rechts BackLED(ON,OFF); speed=speed-10; MotorSpeed(150,speed); LineData(data); taste=PollSwitch(); if (taste>0){ MotorSpeed(0,0); StatusLED(RED); } } while ((data[0]<400) && (data[1]<400) && (A>B)){ //weiter links BackLED(OFF,ON); speed=speed+10; MotorSpeed(150,speed); LineData(data); taste=PollSwitch(); if (taste>0){ MotorSpeed(0,0); StatusLED(RED); } } while ((data[0]>600) && (data[1]>600) && (A<B)){ //weiter links BackLED(OFF,ON); speed=speed+10; MotorSpeed(150,speed); LineData(data); taste=PollSwitch(); if (taste>0){ MotorSpeed(0,0); StatusLED(RED); } } while ((data[0]<400) && (data[1]<400) && (A<B)){ //weiter rechts BackLED(ON,OFF); speed=speed-10; MotorSpeed(150,speed); LineData(data); taste=PollSwitch(); if (taste>0){ MotorSpeed(0,0); StatusLED(RED); } } }//ende while }//ende if while(1){ StatusLED(RED); } return 0; }//ende main







Zitieren

Lesezeichen