The symptoms you describe are usually caused by a bunch of "delay()" in the code. And guess what? You have a BUNCH.
Study the very first posting on this forum: Demonstration code for several things at the same time. Then see if you can us it as a guide to rewriting your program.
Paul