Попробую придать форму задаче, чтобы не подраться.
Исходное состояние, шлюз-пуст, с двух сторон - зеленый.
Датчик за 10 метров до въезда в шлюз - место, где еще можно разъехаться со встречным.
Какая сторона первая займет это место, та и открывает движение - другой стороне красный, а шлюзу +1 машина.
Получается еще до заезда в шлюз даже при пересечении датчика (чуть-чуть опоздал, не сдавать же назад), при загорании красного сигнала водитель должен остановиться.
На выезде надо, как-то сделать -1 машина и пока в шлюзе > 0 - светофоры продолжают гореть в соответствии с открытым движением.
При 0 в шлюзе - в исходное, и понятно, что если датчик с другой стороны уже пересечен, то он откроет движение в другую сторону.
Получается потребуется по два датчика с каждой стороны, один за 10 метров, чтобы занять шлюз, а второй счетный на въезде/выезде из шлюза.
При такой схеме не будет регламента проезда через шлюз, и если с одной стороны большой поток, то с другой - пробка.
Но если проезд без регламента всех устраивает, то необходимо пересмотреть количество датчиков и места их размещения.