У меня, оказывается, тоже были какие-то наработки по управлению жд сигналами.
Паял в детстве, вроде работало. Только была не очень правильная скважность у жёлтого мигающего огня.

Повторять это один в один, скорее всего, смысла нет. Но можно подсмотреть идею и адаптировать под свои возможности, например, зашить в ардуино. Схема работает по логике трёхзначной автоблокировки и умеет мигать жёлтым сигналом, если это предвходной светофор.
Здесь входы - это провода 11, 12 и 13. Не важно, откуда будет подаваться сигнал на эти входы. На первое время это могут быть тумблеры, а по мере появления датчиков свободности/занятости пути, подключить к ним. Таким образом, из этих модулей можно наворотить сколь угодно сложную систему.
Вход 11 - состояние ограждаемого блок-участка: 0 – занят; 1 – свободен.
Вход 12 - состояние следующего светофора: 0 – закрыт; 1 – открыт.
Вход 13 - положение стрелок за входным светофором: 0 – на боковой путь; 1 – на главный путь. Чтобы получить этот сигнал от стрелок, там должны быть контрольные контакты, типа, прямо - замкнуто, на бок - не замкнуто. Если это не предвходной светофор, просто всегда подавать 1.