Jetzt habe ich nochmal was....
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);
while ((data[0]>550) && (data[1]<450)){ //LwRs
BackLED(OFF,OFF);
MotorSpeed(150,150);
LineData(data);
taste=PollSwitch();
if (taste>0){
MotorSpeed(0,0);
StatusLED(RED);
}
}
while ((data[0]<550) && (data[1]>550)){ //LsRw
BackLED(ON,ON);
MotorSpeed(150,150);
LineData(data);
taste=PollSwitch();
if (taste>0){
MotorSpeed(0,0);
StatusLED(RED);
}
}
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);
}
}
while(1){
StatusLED(RED);
}
return 0;
}
Im Prinzip nichts anderes als vorhin!!
Nur jetzt soll der ASURO auch mit dem Wechsel der Farben der Kanten zurechtkommen, also nicht in einer Endlosschleife while(1) stecken bleiben.
Deswegen lese ich am Anfang mit A und B die Werte für links und rechts ein, egal welche Farbe die haben. Dann gehe ich in die einzelnen Schleifen und vergleiche die Bed. mit A und B. Das Problem ist nur, dass nach einem Programmdurchlauf A und B erneut eingelesen werden (oder?)...und falls ASURO grade 2mal auf weiß steht, dann stimmt gar nichts mehr. Kann man die zuerst gemessenen Werte irgendwo-/wie unveränderbar speichern ???
Habt Geduld mit mir
Lesezeichen