sledzenie_linii.txt

(1 KB) Pobierz
Artem - œledzenie linii

if (decyzja=='T' || decyzja=='t') {

bool flag = true;
bool find = true;
bool inner = true;
char c;

int bright;
int dark;
int mean;

NXT::Motor::SetForward(&comm, OUT_B, 20);
NXT::Motor::SetForward(&comm, OUT_C, 20);
NXT::Sensor::SetLight(&comm, IN_3, 1);
Wait(50);

bright = NXT::Sensor::GetValue(&comm, IN_3);

while (flag) {
Wait(50);

if (NXT::Sensor::GetValue(&comm, IN_3) < 50) {
NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);

dark = NXT::Sensor::GetValue(&comm, IN_3);
mean = (bright + dark)/2;

flag = false;
}
}

while (true) {
if (NXT::Sensor::GetValue(&comm, IN_3) < mean) {
NXT::Motor::SetForward(&comm, OUT_B, 1);
NXT::Motor::SetForward(&comm, OUT_C, 10);
}
else {
NXT::Motor::SetForward(&comm, OUT_B, 10);
NXT::Motor::SetForward(&comm, OUT_C, 1);
}

if(kbhit()==true) {
c=getch();
}

if (c == 'k') {
NXT::Sensor::SetLight(&comm, IN_3, 0);
NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);
break;
}
}

if(kbhit()==true) {
c=getch();
}

if (c == 'k') {
NXT::Sensor::SetLight(&comm, IN_3, 0);
NXT::Motor::SetForward(&comm, OUT_B, 0);
NXT::Motor::SetForward(&comm, OUT_C, 0);
break;
}

break;
}
Zgłoś jeśli naruszono regulamin