I didn't understand mucho the proyect but I've worked many times without delays because it's not efficient.
You may use millis(), or Timer0 or Timer1.
I suggest the use of timers because the microcontroller works less and you dont need the main loop(), main loop wastes a lot of computing.
Regards.