Sowas möglicherweise:
bool verzoegerung = true;
void loop() {
bool einAusSchalter;
int wertPoti;
int sekunden;
einAusSchalter = digitalRead(einAusPin);
if (einAusSchalter == HIGH) {
if (verzoegerung) {
delay(4000); // 4 Sekunden bis die Rotation beginnt
verzoegerung = false; // hier richtig
}
else {
// verzoegerung = false; // hier falsch
wertPoti = analogRead(potiPin);
sekunden = map(wertPoti, minPoti, maxPoti, 0, 14);
if (sekunden) {
bigMotor->step(20, FORWARD, SINGLE); // Hauptmotor dreht bis zur nächsten Hülse
smallMotor->step(513 * sekunden, FORWARD, SINGLE); // Drehteller dreht sich
}
delay(1); // Pause für Stabilität zwischen dem Einlesen
}
}
else {
verzoegerung = true;
}
}
EDIT 18.10.2017: Sketch korrigiert