Hallo Leute,
ich habe hier mal folgenden code zusammengeschrieben:
Es ist ein code für einen Liniensucher mit CNY70 sensoren.Code:$regfile = "m32def.dat" $crystal = 4000000 $baud = 9600 Rem Portb.4 = 1 --> Motor links vor Rem Portb.5 = 1 --> Motor links rück Rem Portb.6 = 1 --> Motor rechts vor Rem Portb.7 = 1 --> Motor links rück Config Portb = Output Config Portd = Input Config Portc = Input Do ' Alles Weiß --> vorwärts If Pinc.2 = 1 Then If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 1 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 0 Portb.7 = 1 End If If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 1 And Pind.6 = 1 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 0 Portb.7 = 0 End If If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 1 And Pind.6 = 0 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 0 Portb.7 = 0 End If If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 1 And Pind.5 = 1 And Pind.6 = 0 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 0 And Pind.3 = 0 And Pind.4 = 1 And Pind.5 = 0 And Pind.6 = 0 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 0 And Pind.3 = 1 And Pind.4 = 1 And Pind.5 = 0 And Pind.6 = 0 Then Portb.4 = 1 Portb.5 = 0 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 0 And Pind.3 = 1 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then Portb.4 = 0 Portb.5 = 0 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 1 And Pind.3 = 1 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then Portb.4 = 0 Portb.5 = 0 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 1 And Pind.3 = 0 And Pind.4 = 0 And Pind.5 = 0 And Pind.6 = 0 Then Portb.4 = 0 Portb.5 = 1 Portb.6 = 1 Portb.7 = 0 End If If Pind.2 = 1 And Pind.3 = 1 And Pind.4 = 1 And Pind.5 = 1 And Pind.6 = 1 Then Portb.4 = 0 Portb.5 = 1 Portb.6 = 0 Portb.7 = 1 End If End If If Pinc.2 = 0 Then Portb.4 = 0 Portb.5 = 0 Portb.6 = 0 Portb.7 = 0 End If Loop
Jetzt habe ich aber folgendes Problem:
Es funktioniert nur bei komplett schwarzem untergrund richtig(die räder drehen rückwärts).
bei weissem untergrund schalten die motoren willkürlich durch die gegend.
Habe die pins an portd.2 bis portd.6 wärend dem weissen untergrund mal gemessen: die scheinnen irre schnell zwischen hi und low zu schalten...
Habe ich im code was vergessen? Ist er selbst fehlerhaft?
Bitte um mithilfe.







Zitieren

Lesezeichen