Самый простой в мире однолучевой горизонтальный инфракрасный счётчик людей – та ещё зараза. Он не содержит никаких специальных заводских модулей кроме, собственно, Arduino. Только несколько копеечных радиодеталей общего назначения. Словом, он прост, как болт и гайка.
Вы сделали его, и теперь вы уже не начинающий "ардуинщик". Вы – на уровень выше. Но что это с вами? Как странно! Всего лишь инфракрасный светодиод, фотодиод, биполярный транзистор и три резистора. Ваши руки только что соединили всё это. Вы скопировали из книги и загрузили скетч в Arduino…
И всё? Забаве конец?
Да, конец. Но не ей, а вам. С вами что-то случилось. Вы часами любуетесь своей игрушкой, проверяете, как она считает людей, радуетесь. Трогаете её. Мечтаете улучшить. Вы влюблены в неё, это точно. Вы заболели электроникой.
Поберегитесь. Прежде, чем браться за самоделку, подумайте: оно вам надо?
Ну, если решили, что надо, то – в добрый путь!
Горизонтальные инфракрасные счётчики зарабатывают себе на жизнь, считая людей. Обычно, они установлены на входах в торговые центры и отделы. Сенсорная система счётчика состоит из инфракрасного излучателя, создающего луч, и приёмника, чувствительного к инфракрасному лучу. Приёмник подключен ко входу микроконтроллера.
Идущий человек вторгается в невидимый луч, перекрывает его, и сигнал на выходе приёмника на время исчезает. Микроконтроллер (в нашем случае – Arduino) обнаруживает исчезновение сигнала и на единицу увеличивает результаты счёта.
Обнаруживать вторжение человека в луч можно, вообще говоря, разными способами. Мы будем применять тот, который первым пришёл бы в голову профессиональному программисту. Способ состоит в следующем. Раз появление человека в луче – это внешнее для счётчика событие, обнаруживать прерывание инфракрасного луча нужно с помощью внешнего прерывания работы процессора микроконтроллера.