Problema lettura stato pulsanti, con digitalRead e delay

Premetto di non aver letto attentamente il tuo codice ma il delay per il pulsanti lo si usa per dare all'utente il tempo di rilasciarlo, altrimenti ad un certo punto del codice ti risulterebbe ancora HIGH