Ok, Du willst also mehrere Sachen von der Startzeit abhängig ablaufen lassen, und das Ganze jede Sekunde wiederholen, richtig?
Wie wäre es denn damit:
boolean x1, x2, x3; // Definiere drei Merker, ob ich die jeweilige Operation in der Sekunde schon mal gemacht hab
int lastStart = 1000; // Merker, wann die Schleife das letzte Mal durch lief
void loop() { // Diese Funktion wird staendig wiederholend ausgefuehrt
int start = millis() % 1000; // Modulo, Restwert einer Ganzzahlteilung, "start" faengt damit jede Sekunde wieder bei "0" an
if (lastStart>start) { // Wenn der letzte Durchlauf spaeter in der (vorherigen) Sekunde war als wir jetzt sind
x1=false; // Dann die Merker wieder "scharf schalten", damit die Operationen diese Sekunde laufen koennen
x2=false;
x3=false;
}
lastStart = start; // Hier merken wir uns den aktuellen Zeitpunkt in dieser Sekunde, damit wir das naechste Mal, wenn die "if"-Abfrage kommt, wissen, ob eine neue Sekunde angefangen hat oder nicht
if (start>=10 && x1==false) { // Wenn der Anfang der aktuellen Sekunde mindestens 10 Millisekunden her ist und wir diese Operation noch nicht ausgefuehrt haben: Ausfuehren!
Serial.println(millis()); // Die eigentliche Operation, ist nur ein Beispiel
x1 = true; // Merken, dass wir diese Operation in dieser Sekunde schon mal gemacht haben
}
if (start>=100 && x2==false) {
Serial.println(millis());
x2 = true;
}
if (start>=500 && x3==false) {
Serial.println(millis());
x3 = true;
}
}
Müsste dann ungefähr das ausspucken:
10
100
500
1010
1100
1500
2010
2100
2500
...
So?