strunz
30.03.2006, 20:00
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.
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
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.
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