Hi mesli-andres,
ich denke Du hast da nen ganz trivialen bug in der Funktion Bewegungsmelder. Bei allen 3 Abfragen sind "End If" und "End Select" vertauscht.

If We < 1010 Then
Select Case We
Case 380 To 470
Bewegungsmelder = 3

Case 535 To 720
Bewegungsmelder = 3
End If
End Select


If B < 1010 Then
Select Case B
Case 612 To 820
Bewegungsmelder = 1
End If
End Select


If C < 1010 Then
Select Case C
Case 612 To 820
Bewegungsmelder = 2
End If
End Select


Verschachtelte Ifs, Selects, Schleifen usw müssen immer von innen nach aussen geschlossen werden.

Edit:
Hab grad noch mal Dein Progie angesehen und verstehe "Call Lienienverfolgung" unter "Case 3" nicht.
Dann dachte ich noch, Du solltest bei "Case 3 " vielleicht zuerst die Motoren abzuschalten, damit das Teil nicht fast 20 Sekunden lang einfach geradeaus weiterfährt.

Grüße
Marvin