Die folgenden Programme werden in Funktionen aufgeteilt, die jeweils eine abgeschlossene Aufgabe erfüllen. Das kann z.B. der Auftrag sein:
Fahre eine Linie bis zur nächsten Kreuzung entlag und halte dort an
Die erste Funktion liefert immer dann, wenn es erforderlich ist, die Summe und die Differenz der beiden Lichtwerte. Aus diesen beiden Werten
kann man ermitteln, was sich gerade unter dem Roboter befindet.
Die Linienfahrt wird auch in eine extra Funktion gepackt.
Im Hauptprogramm fährt der Roboter solange die Linie entlang, bis er an eine Kreuzung stößt..
Wie erhält man die Werte für den Halt des Robotors an der Kreuzung? Dazu werden in einer unendlichen Schleife die Differenz und die Summe der Lichtwerte betrachtet:
Vor der Kreuzung sieht das dann z.B. so aus:
und auf der Kreuzung so: