Hallo Leute,

ich habe hier mal ein Leitlinienprogramm geschrieben.
Leider bin ich mit dem Ergebniss garnicht zufrieden.

Er foldt der Linie nicht zuverlässig oder garnicht.
Ich habe 5 x CNY70 Sensoren nebeneinander.

Meine frage:

was würdet ihr anders machen damit er stabiler der Linie folgt?
Ich weiss, dass der Code ziemlich trivial ist aber ich bin neuling auf dem Gebiet.

Bitte um Hilfe.


Hier mal mein der entscheidende Teil des Codes:
An PortA hängen die Sensoren,
an PortB die Motoransteuerung.

Code:

If Pina.5 = 0 And Pina.6 = 0 And Pina.7 = 0 Then
      Waitms 100
      Portb.4 = 0                                 'beide Motoren vor
      Portb.5 = 1
      Portb.6 = 0
      Portb.7 = 1

Elseif Pina.5 = 0 And Pina.6 = 0 And Pina.7 = 1 Then
      Waitms 100
      Portb.4 = 1                                  'Motor links vor, rechts zurück
      Portb.5 = 0
      Portb.6 = 0
      Portb.7 = 1

Elseif Pina.5 = 0 And Pina.6 = 1 And Pina.7 = 0 Then
      Waitms 100
      Portb.4 = 0                                  'beide Motoren zurück
      Portb.5 = 1
      Portb.6 = 0
      Portb.7 = 1

Elseif Pina.5 = 0 And Pina.6 = 1 And Pina.7 = 1 Then
      Waitms 100
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 0
      Portb.7 = 1

Elseif Pina.5 = 1 And Pina.6 = 0 And Pina.7 = 0 Then
      Waitms 100      
      Portb.4 = 0
      Portb.5 = 1
      Portb.6 = 1
      Portb.7 = 0

Elseif Pina.5 = 1 And Pina.6 = 0 And Pina.7 = 1 Then
      Waitms 100     
      Portb.4 = 0
      Portb.5 = 1
      Portb.6 = 1
      Portb.7 = 0

Elseif Pina.5 = 1 And Pina.6 = 1 And Pina.7 = 0 Then
      Waitms 100      
      Portb.4 = 0
      Portb.5 = 1
      Portb.6 = 1
      Portb.7 = 0

Elseif Pina.5 = 1 And Pina.6 = 1 And Pina.7 = 1 Then
      Waitms 100      
      Portb.4 = 1
      Portb.5 = 0
      Portb.6 = 1
      Portb.7 = 0


Else
     
      Portb.4 = 0
      Portb.5 = 1
      Portb.6 = 0
      Portb.7 = 1
      Waitms 100
End If