Medición de Flancos de Bajada en Sensores Ultrasónicos

Hola a todos…!
Estoy diseñando un proyecto de un parqueo, en el cual a través de dos sensores ultrasónicos pueda garantizar si un vehículo está o no estacionado en el lugar, además que pueda registrar la hora exacta de entrada y salida y guardar en una SD los datos.

Así he logrado saber si esta ocupado o libre el lugar:

    if (distance < 60) {
Serial.print("ESTACIONAMIENTO OCUPADO");
}
else
{
Serial.print("ESTACIONAMIENTO LIBRE");
}

Ahora bien, tengo problemas para marcar el momento preciso de entrada y salida del vehículo, ya que si marco la hora de entrada cuando ‘distance < 60’ me guarda muchos datos, ya que mientras el sensor mida distancias dentro del rango la condición if se está cumpliendo, y si el sensor esté midiendo distancias fuera del rango, igual me guardará muchos datos ya que la condición else se está cumpliendo.

Para ello he pensado realizar las mediciones a través de flancos, es decir, tomar el momento justo cuando el sensor pasa de inactivo a activo (ENTRADA) y de activo a inactivo (SALIDA); hasta el momento solo he encontrado ejemplos con pulsadores y leds, pero no he logrado aplicarlos a sensores ultrasónicos. El ejemplo más comprensible esta en el siguiente enlace:

¿Como puedo medir los flancos de subida y bajada en sensores ultrasónicos, a modo de guardar un único dato de entrada al “activarse” los sensores y de salida al “desactivarse” los sensores?

Les agradecería mucho su ayuda.

deberias tener en cuenta una variable mas para almacenar el estado de cada parquing.puede ser una variable booleana que al inicio del programa es false (si no hay coche ,claro).si detectas coche y la variable es false,es que ha entrado un coche ,pones variable a true.a partir de ahi ,si detectas coche pero esa variable es true ,ya sabes que el coche estaba ahi.al reves cuando no se cumpla distancia < 60 ,si es true es que habia un coche,variable a false y ya sabes que esa plaza esta vacia.