The classic LOOP problem :-)

please read this post

i always use this for generating delays

timer.setTimeout(5000L, [](){ digitalWrite(pin, LOW) } );