Look at the following conditional:
if (digitalRead(Button) == LOW && millis() - ButtonTime > ButtonDelay)
It basically says "If the button IS pressed AND 500ms has passed then..."
This is why you have to hold the button down.
Look at the following conditional:
if (digitalRead(Button) == LOW && millis() - ButtonTime > ButtonDelay)
It basically says "If the button IS pressed AND 500ms has passed then..."
This is why you have to hold the button down.