Paso 7: El código
El código puede utilizarse con o sin una pantalla de LCD, solo comentario de la línea #define LCD.
Durante la inicialización se registran los niveles de base de ambas puertas foto asumiendo el máximo de unos 30ms. Los dos umbrales se calculan entonces un 100 unidades por encima de estos.
En el bucle principal los tiempos cuando las entradas cambian de bajo a alto y de alto a bajo se registran. La media de estos se toma el tiempo para cada puerta. Los tiempos promedio y las diferencias entre los tiempos de las dos puertas es de salida. Como su muy fáciles de conseguir las dos puertas mezclan encima de las diferencias de tiempo para pasar las puertas en cualquier orden se muestran. Por lo general sólo uno de los valores de tiempo será de interés.