Stap 13: Het programma
Ik had plezier in het schrijven van dit programma. Fundamenteel zijn er een paar functies die zorgen voor het hele doolhof proces op te lossen. De linkerhand op de muur-functie bevat de logica om te lezen van de sensoren en navigeren de doolhof volgens die regels die ik eerder heb geschetst. De turning functies zijn geprogrammeerd op een manier zodat de robot draaien blijft totdat hij ziet de zwarte lijn in welk geval het dan drijft naar voren. Er is ook een functie geprogrammeerd met een beetje regel die volgt op mogelijkheden. Het is geen PID lijn volgende, maar laat de robot te blijven op koers. Deze functie controleert ook de robot de snelheid.
De meer gedetailleerde functie is dat het pad in te korten. Een brief is opgeslagen op elk snijpunt van die aangeeft dat de richting de robot nam. Als de vorige letter een "B", met vermelding van een verkeerde afslag, wordt de functie die het pad verkort uitgevoerd om het vervangen van letters in plaats van die 3 brief sequenties eerder geschetst.
Tenslotte is er een functie die het kortste pad dat de robot berekend wanneer de robot is opgepikt en dan terug naar beneden geplaatst op de zwarte lijn replays. De robot kan detecteren wanneer het terug naar beneden wordt geplaatst en vervolgens de kortste berekende route loopt.
U kunt de code hieronder downloaden.