millis anstatt delay

Hey, ich hab ein programm, in dem ich ein Motor ansteuere.

void loop() 
{
  
sensorwert = analogRead(eingang); 
ausgabewert = map(sensorwert, 0, 1023, 10, 20); 
volumen = (0.01*ausgabewert); 
sekwert = (ausgabewert*0.3); 
nLCD = (ausgabewert-10);

digitalWrite (EV, HIGH); 
  delay (5000); 
digitalWrite (EV, LOW); 
  delay (sekwert); 
}

aktuell läuft die zeit über ein Delay.
ich hab mal ein wenig über die "millis" funktion gelesen und würde das gerne mal damit versuchen. Doch verstehe ich nicht, wie das Ganze funktioniert.
Hat jemand eine einfache, für Leihen verständliche Erklärung? Danke

Z.B. diese hier.

Suche mal nach der Nachtwächtererklärung.

Gruß Tommy

johncurter:
ich hab mal ein wenig über die "millis" funktion gelesen und würde das gerne mal damit versuchen.

Lies dir das mal durch...
Nachtwächtererklärung