Probleme bei „OneButton.h“

In C / C++ sind "=" und "==" verschieden.
= ist eine Zuweisung und als Ergebnis [EDIT] fast [/DIT] immer richtig.
== ist ein Vergleich. if braucht einen Vergleich.

Ein Trick:
if (Schritt = 2) ist eine syntaktisch korrekte Zuweisung auch wenn sie nicht das macht, was Du willst. Es gibt keine Fehlermelcdung oder Warnung.
wenn Du die Kontrolle umdrehst:
if (2 == Schritt) ist das gleiche wie if (Schritt == 2)
if (2 = Schritt) ergibt aber eine Fehlermeldung weil eine Kostante (die 2) nicht mit einer anderen Zahl zugewiesen werden kann.

Grüße Uwe