Das ist mein Code zum Auswerten des Encoders:
if (digitalRead(A)==HIGH && digitalRead(B)==LOW && speicherA==0 && speicherB==0)
{
auswahl++;
auswahl = auswahl % 4;
speicherA=1;
speicherB=0;
}
else if (digitalRead(A)==HIGH && digitalRead(B)==HIGH && speicherA==1 && speicherB==0)
{
auswahl++;
auswahl = auswahl % 4;
speicherA=1;
speicherB=1;
}
else if (digitalRead(A)==LOW && digitalRead(B)==HIGH && speicherA==1 && speicherB==1 )
{
auswahl++;
auswahl = auswahl % 4;
speicherA=0;
speicherB=1;
}
else if (digitalRead(A)==LOW && digitalRead(B)==LOW && speicherA==0 && speicherB==1 )
{
auswahl++;
auswahl = auswahl % 4;
speicherA=0;
speicherB=0;
}
else if (digitalRead(A)==LOW && digitalRead(B)==HIGH && speicherA==0 && speicherB==0)
{
auswahl--;
auswahl = auswahl % 4;
speicherA=0;
speicherB=1;
}
else if (digitalRead(A)==HIGH && digitalRead(B)==HIGH && speicherA==0 && speicherB==1)
{
auswahl--;
auswahl = auswahl % 4;
speicherA=1;
speicherB=1;
}
else if (digitalRead(A)==HIGH && digitalRead(B)==LOW && speicherA==1 && speicherB==1)
{
auswahl--;
auswahl = auswahl % 4;
speicherA=1;
speicherB=0;
}
else if (digitalRead(A)==LOW && digitalRead(B)==LOW && speicherA==1 && speicherB==0)
{
auswahl--;
auswahl = auswahl % 4;
speicherA=0;
speicherB=0;
}
Und bei einer Änderung von "auswahl" soll das auf dem Display passieren:
if (auswahl == 0)
{
Ausgabe(0x01, 0x02, "->");
AusgabeLoeschen(0x01, 0x0B, "->");
AusgabeLoeschen(0x10, 0x0B, "->");
}
else if (auswahl == 1)
{
Ausgabe(0x01, 0x0B, "->");
AusgabeLoeschen(0x01, 0x02, "->");
AusgabeLoeschen(0x07, 0x0B, "->");
}
else if (auswahl == 2)
{
Ausgabe(0x07, 0x0B, "->");
AusgabeLoeschen(0x01, 0x0B, "->");
AusgabeLoeschen(0x10, 0x0B, "->");
}
else if (auswahl == 3)
{
Ausgabe(0x10, 0x0B, "->");
AusgabeLoeschen(0x07, 0x0B, "->");
AusgabeLoeschen(0x01, 0x02, "->");
}