Intervallsteuerung mit Blinken per taster

int ledPinBlink = 13;
int ledPinTaster = 10;
int tasterPin = 8;
int tasterstatus;
int intervall = 2000;
usigned long prev;
int ledStatus = LOW;

void setup (){
pinMode (ledPinBlink, OUTPUT);
pinMode (ledPinTaster, OUTPUT);
pinMode(tasterPin, INPUT);
prev = millis();
}

void loop(){
if ((millis()-prev)>interval){
prev= millis();
ledStatus = !ledstatus;
digitalWrite (ledPinBlink, ledStatus);
}

tasterStatus=digitalRead (tasterPin);
if(tasterStatus == HIGH)
digitalWrite(ledPinTaster, HIGH);
else 
digitalWrite (ledPinTaster, LOW);
}

Soo, meine Frage ist was diese VARIABLE prev macht und was dieses millis genau macht. Ich verstehe außerdem nicht wieso prev = millis() sein soll ..... :sweat_smile:
bin langsam am verzweifeln
vll kann mir jemand erfahrenes helfen dass ich es auch verstehe denn es is ein bisschen demoralisierend :frowning:
ich möchte es so gerne lernen

ich danke schon im Vorraus :smiley:

millis() gibt dir die Zeit seit dem Einschalten und Millisekunden zurück. Wenn man das zweimal macht und voneinander abzieht hat man Intervall zwischen zwei Ereignissen.

prevMillis ist einfach die Zeit der letzten Aktion. Das zieht man vom aktuellen millis()-Wert ab und überprüft ob x ms vergangen sind. Wenn ja, macht man was.

Hallo Neulinghier,
schaue dir einmal diese Seite an, ich denke, dann werden die meisten deiner Fragen Beantwortet.
http://playground.arduino.cc/Learning/BlinkWithoutDelay_de
Gruß
Ardubu
PS. zu Spät, aber vielleicht doch ganz Interessant

@Serenifly : Sehr gute Erklärung ! Genau nach so einer Erklärung hatte ich gerade gesucht !! XD