Using delays inside loop

Sigh....

Look at the BlinkWithoutDelay example in the IDE.
It uses the principle of noting the start time of an event then periodically checking if the required interval has elapsed. If yes then do the next thing. If no then do something else like reading sensors before going back to check again if the required interval has elapsed.