Frage Arduino counter + button

Hallo Marvinmarco,

ich habe nicht ganz verstanden, was dein Problem ist. Aber ich würde dir empfehlen, deinen Code etwas besser zu strukturieren, dann kannst du nämlich auch leichter Fehler erkennen.
Eine Möglichkeit wäre z. B. die Aufteilung in mehrere kleine Funktionen, die du von loop() aus aufrufst, dann brauchst du nicht so viel auf einmal zu überblicken.

Dann habe ich auch noch ganz konkret eine verdächtige Stelle gefunden (eigentlich sind es zwei)

  if ( button == HIGH){
    delay(1000);
   x ++;
   Serial.print(x);
  Serial.print("\n");
  }
  else( button == LOW);{
  delay(1);
  }

Siehst du den ";" hinter "else ( button == LOW);"?

Der bewirkt, dass sich das else-Statement nur auf die nächste Anweisung bezieht. In diesem Fall ist das Statement ";", ein sogenanntes Leer-Statement. Dein Sketch macht also in dem Fall, dass button == LOW gilt, gar nichts!
Das nächste Statement

{
  delay(1)
}

wird dann immer durchgeführt, unabhängig davon, welchen Wert die Variable button hatte.

Ein else-Statement mit einen Semikolon abzuschließen, ist in 99,99% der Fälle keine gute Idee. Für den Fall, dass man das doch einmal braucht,
habe ich mir angewöhnt, das ";" auf eine eigene Zeile zu schreiben, sonst geht es optisch unter und falls jemand anders deinen Code warten müsste, muss er erst einmal überlegen, wie das Teil eigentlich funktioniert;-)

Rudi