void RobotLine::loop() {
if (fabs(heading() - 180) < 5)
stop();
else
go(50, -50);
}
Upotrijebimo kompas kako bismo usmjerili robota prema sjeveru. Kako je pločica s kompasom okrenuta za 180°, u stvari ćemo ciljati na smjer 180°, što bi inače bio jug.
Možda nećemo u praksi voziti robota točno u smjeru neke strane svijeta, ali nam može pomoći u održavanju postojećeg smjera ili okretu za određeni broj stupnjeva.
"
heading()" je funkcija koja vraća kut kompasa.
"
fabs" je funkcija koja od svog parametra (ulazni podatak, u našem slučaju "heading() - 180") vraća njegovu apsolutnu vrijednost (uvijek pozitivnu).
Iskoristite jednu od njih za detekciju kad je robot podignut s podloge, na kojoj ide ravno, i u tom slučaju ugasite motore.