Схема устройства представляет собой несколько ультразвуковых датчиков, направленных в разные стороны и настроенных на определённые расстояния срабатывания. Как только в зоне контроля хотя бы одного из датчиков появляется что-то вызывающее срабатывание (измеряемое расстояние становится меньше порогового несколько раз подряд), то включается освещение (в данном случае это 3 светодиода, также направленных в разные стороны). Одновременно запускается таймер на выключение освещения. Если появляются новые срабатывания, то таймер обновляется. Дополнительно реализовано плавное выключение света.
Ультразвуковые датчики были использованы за неимением датчиков движения. Но в общем со своей задачей они пока справляются, а потом можно будет заменить, для большей точности).
Статья про то, как всё это создавалось:
Яндекс.Дзен
ВКонтакте
LiveJournal
В ветке sensors-auto-restart
немного модифицированный вариант: добавлена автоматическая перезагрузка датчиков при их зависании. Также немного изменена схема. Возможно, что это конкретно мой случай (один из датчиков иногда глючит), а в общем всё должно корректно работать по схеме и алгоритму, представленным в главной, то есть в этой ветке.