Timer Frage/Problem

Hy,
ich habe ein Projekt mit Steppern. Dafür haben wir Treiber besorgt und ich hab eine eigene Library geschrieben. Das Programm läuft auch alles wie es soll, soweit kein Problem. Nur ich habe das ganze unschick mit delays gelöst:
x.step();
delay(950);
x.step();
delay(950);
...
Natürlich in einer Schleife :slight_smile:

Wenn ich das Timing nicht kaputt machen will, kann ich, während ein Stepper läuft, nix anderes machen. Aber dafür soll es ja die Timer geben. Allerdings, habe ich schon im Playground und div. Tutorials geschaut, aber ich versteh das nicht ganz.
Gibt es irgendwo eine Erklärung für Dummis :slight_smile: oder kann mir das jemand einfach erklären?
Ich möchte einfach irgendwo im Programm einen Stepper mit x Steps zum laufen bringen.
Noch schöner, wäre es, wenn ich den Stepper beschleunigen kann. D.h. sich das Delay schrittweise erhöht, bzw. zum Bremsen verringert.

Danke und Greeeez
Fabi

Halt dich mal an das Beispiel Blink without delay.
Im Sinne

if (millis()-lastmillis>=950){
x.step();
lastmillis=millis();
}

Der Code macht das gleiche.

(Naturlich musst du Lastmillis noch als unsigned long definieren.)

Gruß
Daniel