My opinion is that this could work if pulseIn() is avoided and a method like "blink without delay" is implemented with arrays of size 288 to store the time information.
My opinion is that this wouldn't work as you are taking far too long to do the conversion just to see if there is something present which most of the time there would not be. Remember the processor also has to control the visible LEDs and the pattern they go in.