Ok, but...
I only have problem, with the microcontroller. I think, if i cant use pin 0 with an easy wireing, for example with an LED on pin13 and a button on 0, not the software is wrong. I mean.
So the program is not the main part of this problem.
Because if i use an original arduino microcontroller, everything is good. But when i use the chinese one, the pin 0 stay HIGH. HIGH in every time. If i wire it to GND also stay HIGH, but the original gone LOW.
That is the problem. So i dont think, we have to debugging the full (very big) program. Because the problem is not this.
Tell me if i was wrong.