Digital Read molto lento nel rilevare il cambio di stato

flz47655:
nel codice hai dei delay() che fermano il micro per molto tempo..

E' questo il problema, se metti un delay equivale a mettere uno stop. ll micro si ferma completamente e non esegue altro. Quindi la tua funzione sta ferma 1,3 secondi e poi legge lo stato dei pin.