Sforzati di capire come funziona la tecnica con interrupt.
Lo sketch contiene ancora parti che non servono:
if (Statoreed != Statoreed_old){// si verifica se è cambiato
Statoreed_old = Statoreed; // se SI si aggiorna lo stato
if (Statoreed == HIGH){ // si controlla SE è alto ( passaggio magnete)
...