int val;
void setup() {
Serial.begin(115200);
}
void loop() {
val = Serial.read();
Serial.println(val);
}
Das Problem ist, wenn ich die Daten direkt vom ProMini lese und am Drehgeber drehe, erhalte ich tadellose Werte, aber der Nano empfängt die Werte nicht mehr richtig, ich kann drehen was ich will die Werte bewegen sich nur noch um die 50 herum und fallen auf -1 sobald ich mit drehen aufhöre.
Nur ein Schuss ins Blaue: Mir sind zwei Dinge aufgefallen.
Du definierst pin_A und pin_B als Eingänge, ohne den internen Pullup-Widerstand zu aktivieren. Ersetze im Sketch für den Pro Mini das INPUT durch INPUT_PULLUP
Im Sketch für den Nano fragst Du den Eingang ständig ab, ohne zu prüfen, ob denn überhaupt etwas „anliegt“. Setze die beiden Befehle in loop() mal in eine Abfrage (irgendwas mit Serial.available(), glaube ich).
Um Probleme wegen zu hoher Übertragungsgeschwindigkeiten auszuschließen, könntest Du außerdem die Datenrate herabsetzen. Zum Testen dürften die üblichen 9600 Baud genügen.
So wie du es machst, "liest" du -1 wenn nichts gesendet wird.
Wenn etwas gesendet wird, kann das allerhöchstens eine 255 sein.
Wenn du Zahlen per print sendest, werden das Buchstaben im Bereich '0' = 48 bis '9' = 57.
Das hast du also sehr gut beobachtet und ist vollkommen richtig.