Задача:
- научиться работать с датчиком
- построить наиболее оптимальный алгоритм для анализа данных с датчика.
Исходные материалы:
Введение
Безусловно вначале необходимо приобрести данные девайсы (ссылки выше) и конечно же проверить:
Сенсор на дисплее не работал, но это другая история.
Начало работы
Для начала нам необходимо поставить соответствующее ПО (Arduino Software). Найти его можно здесь. Впоследствии, когда я делал библиотеку, я понял что это полная лажа и перешел на Arduino IDE, на чем я собственно пока и остановился.
Собираем стенд для отладки
Алгоритм
Особенностью датчика является то что он возвращает лишь значение есть движение или нет, т.е. если человек замрет в комнате (смотрит телевизор или книжку читает), то датчик может дать неверные данные. Поэтому алгоритм должен минимизировать данный вариант событий. Безусловно систему обнаружения человека в помещении я буду усиливать другими датчиками, но это в будущем.
Значит так: замеры движения выполняются на интервалах времени (15 сек, 30 сек, 1 мин, 5 мин).
Замер выполняется раз в пол секунды. Если за интервал времени интервал задетектированного движения больше 10%, считается что движение есть, следствии чего модуль ПО выдает TRUE.
Если за интервал времени детектируется движение, то следующий интервал инкриминируется.
В случае пропажи движения, модуль ПО выдает TRUE до окончания интервала + этот же интервал. В случае пропажи движения на последнем интервале, модуль ПО выдает TRUE до окончания текущего интервала + (интервал - 1).
П.С. выражать свои мысли текстом или языком я толком не умею, не учитель, так что если что не поняли, то вряд ли смогу объяснить (вторую попытку делаю в видео).
Итог
Работа модуля ПО проверялось на светодиоде (с падением напряжения max. 2,8 В), токозадающий резистор 350 Ом.
Если взять за стоимость киловата 5 руб, то стоить данная конфигурация будет 8 рублей в год.