Dragonsired1:
I want to make one thing clear. Is Arduino Mega capable of doing so many thing at once? Are there any limits?
The fact is that it can only do one thing at a time. But it can do things very quickly so it can appear to be doing severla things at a time. Using digitalRead() takes a few microseconds. Using analogRead() takes about 100 µsecs IIRC.
The limits start to emerge if you are asking it to do so many computations that it cannot jump from one task to the next fast enough. And, unfortunately, some of the libraries have been written very carelessly with no thought for minimising the time they take to complete their tasks.
...R