I'm new to Arduino UNO but if I were thinking of doing something like this, I would use a loop approach with a table set up to sort out the pattern required etc. A simple state-machine would be nice and easy with no resulting problems with delay() holding everything else up. I've used this approach to drive a Servo and an LCD display with some success.