Sorry for the delay ... been busy with other things.
ShelleyCat - I don't use delay(). However, my code is somewhat more clumsy than than the pseudo code you posted. Definitely got my brain jump started on how to simplify things. Thanks!
David - My code was originally written to only loop once, so each device was coded into one loop. Rather than write the extra lines of code for each "event", I figured the interrupt would be easier. Also, I prefer the idea of an interrupt so that it can respond quickly to a short circuit situation. Part of my feelings come from the fact that I'm not very familiar with the Arduino or how fast it processes. I'm just now starting to figure out how many clock cycles are needed for things like digitalWrite()/digitalRead().
Nick - What everyone is saying here is starting to sink in through my thick skull and I don't like the idea, either! ![]()