zliczanie osób wchodzących na schody


Witam od dłuższego czasu próbuje wykonać program do sterowania oświetleniem schodów. Niestety jako początkujący w programowaniu napotkałem na problem jak wykonać zliczanie osób wchodzących na schody z rozpoznawaniem kierunku ruchu tzn. czy ktoś wchodzi od góry schodów czy od dołu i czy np. wchodząc od dołu nie zawrócił z połowy schodów. Na chwile obecną udało mi się wykonać tylko tyle, że jak jedna osoba wchodzi na schody i nie zawraca z nich to działa program poprawnie z wykorzystaniem 4 czujników (do symulacji używam przycisków). Lecz problem polega na tym, że nie wiem jak wykonać zliczenie osób które weszły na schody. Na dole schodów mają być umieszczone czujniki jeden do zapalania świateł jak ktoś wchodzi od dołu, a drugi do gaszenia jak ktoś schodzi ze schodów od góry, analogicznie ma to wyglądać na górze. Jak powinien wyglądać program do obsługi czujników tak aby zliczane były osoby i żeby czujniki reagowały na zbocze narastające lub opadające? Zacząłem się już nawet zastanawiać żeby wykorzystać do tego celu dwa przerwania zewnętrzne INT0 i INT1 oraz dwa timery ustawione jako Counter0 i Counter1 z ustawieniem reagowania na takie samo zbocze. Proszę bardzo o pomoc w rozwiązaniu tego problemu.