Ayuda con un millis?

Hola, soy nuevo en esto. LLevo unas 2 semanas aproximadamente. Todo funcionaba perfecto, pero uno de mis valores de millis cambiaba a negativo. Estuve investigando y eso es porque supera el limite de los integrales o algo así, decía también que había que cambiarlo a un long. Ahora funciona, pero no como me gustaría. Funciona siempre y cuando esté en el loop, pero si lo pongo en un if dentro del loop no funciona, no cambia el valor. Lo que quiero hacer es algo en plan "DDR" (dance dance revolution", pero para los dedos. Aparece una flecha apuntanto a algún lugar en la LCD y tu tienes que presionar el boton correspondiente, pero necesito también que sea contra-tiempo, para no tener 2 horas para responder algo. He estado intentando arreglar mi código pero simplemente he logrado joderlo 100% y no tengo respaldos :cry:

Dejo el script agregado por si alguna buena persona decide ayudarme un poco. Comoquiera estaré investigando a ver que es lo que ha pasado a ver si logro arreglar algo :cry:

LCD.ino (7.62 KB)

Defines millisYa y millisAntes como 5 veces.. con cual debe quedarse?
Se definen 1 vez no cada vez que los vas a usar.