Vielen Dank!!! Der Code macht das, was ich mir vorstelle !!! 
Ich habe die Modulo Operation falsch interpretiert. Ich muss den Rest vergleichen lassen und nicht den Wert !!! Ich Dummbatz...
Damit habe ich schon experimentiert, aber es lief immer nur von Null bis 5 und dann wieder zurück auf Null bis 5.
Die nächste Zehner-Stelle mit der Eins kam nicht, weil ich den "Encoderwert" verglichen habe.
Dank Deiner Hilfe habe ich den Modulo halbwegs verstanden, aber noch nicht ganz.
Warum "Encoderwert%10" ? Weil das Zählen doch im Dezimal System bleibt, weil ich ja Zahlen über 5 bis 9 verarbeite?
"Rest>5" bedeutet also nach der 5. Operation?
Weshalb wird beim runterzählen auch auf "Rest>5" geprüft?
Code:
void Encoderread(){
if(digitalRead(2)!= digitalRead(3)){
Encoderwert=Encoderwert+1;
Rest = Encoderwert % 10;
if (Rest > 5) Encoderwert = Encoderwert + 4;
}
else Encoderwert=Encoderwert-1;
Rest = Encoderwert % 10;
if (Rest > 5) Encoderwert = Encoderwert - 4;
Encoderwert=constrain (Encoderwert,0,240); //Wert des Encoders begrenzen auf 240
}
So und mit "volatile int Rest;" als Variable geht es nun perfekt.
Wieder was gelernt!!
Ich bin froh, das es doch so geht, wie ich mir das vorgestellt habe. Schwein gehabt.
Lesezeichen