Die Encoder-Routine hat bei mir noch nie zufriedenstellend funktioniert.
Ich nutze sehr zuverlässig folgendes:
Code:
Dim Drehung As Integer
Dim Linksrechts As Byte
Links Alias Pind.3
Rechts Alias Pind.4
do
Gosub Rad
.
.
.
.
loop
end
Rad:
If Linksrechts = 0 Then
If Links = 0 And Rechts = 1 Then
Linksrechts = 1
End If
If Rechts = 0 And Links = 1 Then
Linksrechts = 11
End If
End If
If Linksrechts = 1 And Links = 0 And Rechts = 0 Then
Linksrechts = 0
Drehung = 0 - 1
End If
If Linksrechts = 11 And Links = 0 And Rechts = 0 Then
Linksrechts = 0
Drehung = 1
End If
If Links = 1 And Rechts = 1 Then Linksrechts = 0
Return
Der Encoder zieht die PINS auf GND. bei links und rechts werden die pullups aktiviert.
Lesezeichen