Probleme eines Anfängers :)

Mach im case eine millis-Abfrage
if(currentMillis - previousMillis > interval) {
und in der IF schreibst du den Wert neu.
dadurch kannst du delay weg lassen, er aktualisiert dann immer nur wenn zb eine Sekunde um ist

Schau dir dazu mal blink without delay an