Controllo di un motore tramite arduino

Salve, ho realizzato una piccola porta motorizzata, che si aprirà/chiuderà quando una oggetto/persona/animale ci passera vicino.
Per controllare il motore(12V), utilizzo un Driver L293 (successore di un rudimentale deviatore a relè).
Il clock che comanda il sensori ad ultrasuoni viene dato da un timer creato con un Ne 555 con duty cycle al 50 % e frequenza di regolabile tra 100 e 1 MHz.
Sensori utilizzati HC-R04.
La mia domanda è : (Con il codice allegato) perché arduino non reagisce agli eventi esterni? O in taluni casi allo stimolo del primo sensore arduino entra in loop e esegue solo il comando di apertura, e dovuto al codice?

Porticina_2.ino (1.4 KB)