Бесконтактный пользовательский интерфейс – интересная альтернатива более традиционным тактильным решениям, обычно состоящим из набора механических, емкостных или резистивных кнопок. ИК-технология позволяет обнаруживать серию простых жестов с использованием дешевой системы. Эта технология имеет особое значение в плане противодействия глобальной эпидемии и реализации соответствующих мер безопасности, так как не требуется прикасаться пальцами к устройству. А схемы излучения и обнаружения инфракрасного света позволяют довольно легко и недорого создать такое.
С помощью датчика и ИК-диодов можно построить бесконтактный интерфейс, способный обнаруживать базовые жесты, выполняемые на расстоянии нескольких десятков сантиметров от панели – например перемещение руки и пальцев в разных плоскостях.
Развитие технологии производства схем ИК-обнаружения значительно облегчило разработку таких решений. Два основных метода – это измерение положения и измерение смещения объекта. Подход к измерению положения основан на распознавание жеста на основе предполагаемого местоположения объекта на базе измерений. Второе решение не требует прямого измерения положения, фокусируясь на анализе изменений формы сигнала от датчика с течением времени, таким образом определяя тип и направление жеста.
Оба метода позволяют достичь схожих результатов, позволяя реализовать такие функции как прокрутка экрана, перелистывание страниц в устройствах чтения электронных книг или поддержка графического интерфейса пользователя для промышленных систем.
Требования к оборудованию
Несмотря на то что бесконтактные ИК-интерфейсы обычно предназначены для распознавания жестов рук человека, возможно использование той же технологии для обнаружения движений других объектов.
Важным фактором является способность объекта отражать ИК-сигнал в сторону детектора. В случае с человеческой рукой эта способность довольно велика из-за формы и размера объекта, что позволяет распознавать жесты на расстоянии до нескольких десятков сантиметров от сенсора. Эффективное обнаружение жестов одним пальцем из-за значительно меньшего размера и округлой формы объекта возможно только на расстоянии до нескольких сантиметров.
Основной принцип при разработке системы распознавания жестов с использованием нескольких светодиодов – обеспечить полное покрытие рабочей области ИК-сигналом. В противном случае возможны так называемые слепые зоны – места для которых обнаружение помещенного в них объекта будет невозможно. Наличие слепых зон может значительно снизить эффективность системы и ухудшить эффективность распознавания жестов.
Чтобы исключить риск появления слепых зон, следует провести анализ покрытия рабочего пространства ИК-сигналом. Для этого надо знать характеристики излучения светодиодов, их расположение и ожидаемое минимальное расстояние объекта от детектора. Обычно стоит расположить светодиоды на расстоянии друг от друга, близком к размеру обнаруживаемого объекта. Например, если задачей является обнаружение движения руки вправо / влево, расстояние между двумя светодиодами должно быть близко к типичной ширине руки. Если диаграмма направленности светодиодов слишком узкая чтобы перекрыть сигнал в требуемой области, может потребоваться разместить между ними дополнительный.
Еще одна задача стоящая перед проектировщиками, – выбор соответствующего значения тока питания ИК-светодиода. Более высокий ток означает более высокую мощность излучаемого сигнала и, как следствие, больший диапазон. Но это и увеличение потребления электроэнергии, что обычно нежелательно, особенно в схемах с батареечным питанием. Более высокая мощность также означает необходимость рассеивания большего количества тепла, что может привести к увеличению размера и стоимости компонентов системы охлаждения.
Обнаружение жестов на основе измерения положения объекта
Алгоритм распознавания жеста основанный на измерении положения объекта, состоит из трех основных шагов.
- Первый – преобразовать данные от ИК-детектора в значение, представляющее расстояние от объекта до сенсора.
- Второй – использовать данные о расстоянии для расчета положения объекта в пространстве.
- Третий – отслеживать изменения положения объекта, определять событие жеста и распознавать его тип.

Выходной сигнал ИК-детектора прямо пропорционален интенсивности света падающего на датчик. Большая часть ИК-сигнала, поступающего на датчик, исходит от ИК-диода, который является частью системы и отражается от объекта, расположенного рядом с датчиком. Интенсивность принятого сигнала увеличивается по мере приближения объекта к детектору и уменьшается по мере его удаления. На основе измеренного значения интенсивности можно с достаточно хорошей точностью оценить расстояние от объекта (руки) до источника ИК-сигнала (светодиоды). Самый простой и в то же время эффективный способ определить взаимосвязь между расстоянием до объекта и интенсивностью сигнала – это провести эмпирические измерения. Считывание большого количества результатов на разных расстояниях позволяет построить точные характеристики работы.
В системе состоящей из множества передатчиков каждый из светодиодов будет иметь несколько разные рабочие характеристики, поэтому необходимо будет построить зависимость расстояния от уровня принимаемого сигнала для каждого из ИК передатчиков отдельно. В случае системы состоящей из двух светодиодов, лучше всего использовать объект, расположенный посередине между светодиодом и ИК-приемником, чтобы построить характеристики каждого из них, как показано на рисунке.

Следующим шагом будет оценка положения обнаруженного объекта в пространстве. Для этого можно использовать уравнение описывающее точку пересечения двух окружностей или плоскость пересечения двух сфер. Радиус каждого круга равен расстоянию, измеренному детектором для каждого из LED. Оно описывает расстояние между объектом и центром сегмента, определяемого детектором и светодиодом. Если светодиоды и детектор расположены на одной оси, можно использовать уравнение для окружностей, в других случаях аппроксимация сферами будет намного точнее.

Методика определения местоположения объекта схематично показана на рисунке. Сечения D1 и D2 представляют расстояние до объекта, измеренное на основе сигнала от каждого из ИК-диодов, они также являются лучами нарисованных окружностей. Точка пересечения кругов отмечает местоположение объекта. Эта ситуация более подробно показана на рисунке далее. Значения A и B указывают положение объекта вдоль оси, определяемой светодиодами и ИК-датчиком.

Чтобы обнаруживать и распознавать жесты, алгоритм классификации должен отслеживать изменения положения объекта, уделяя особое внимание начальной и конечной точке и времени перехода между ними. Это позволяет определять направление жеста и различать его тип – например медленное или быстрое проведение руки.
Обнаружение жестов по измерению смещения объекта
Второй из описанных методов не требует расчета положения объекта в пространстве ни на каком этапе. Вместо этого анализируются изменения формы сигнала, поступающего на детектор от каждого из диодов. Максимальное значение сигнала всегда достигается, когда объект находится точно над данным светодиодом.

Используя эти знания, можно с очень хорошей точностью идентифицировать отдельные жесты – если рука перемещается вдоль оси, определяемой двумя диодами, направление движения можно определить, наблюдая за последовательностью изменений сигнала от обоих передатчиков. Например, при движении справа налево сигнал от правого светодиода является первым максимумом.

На рисунке 5 показана система, состоящая из трех светодиодов. Если переместить руку влево, она пройдет над светодиодами D2, D3 и D1. Задача алгоритма – выявить крайний (максимум) сигнала, исходящего от каждого из диодов, зафиксировать время этого события и вычислить направление изменения сигнала (уменьшение или увеличение).
Схема способна обнаруживать жесты вправо-влево и вверх-вниз. Когда вы поднимаете руку, сигнал от D3 сначала достигает пика, а затем начинает снижаться, пока одновременно достигаются максимальные значения D2 и D1. На рисунке показаны формы сигналов, записанных системой для четырех основных жестов. Анализ последовательности изменения сигнала поступающего от различных светодиодов, позволяет четко определить направление жеста.
Преимущества и недостатки решений
Метод основанный на позиционировании объекта, позволяет реализовать более обширный пользовательский интерфейс. Например для быстрой прокрутки текста можно использовать жест, при котором рука висит в определенной точке рабочей области, что быстрее и проще чем выполнение нескольких одинаковых движений рукой.
Главный недостаток такого подхода – ограниченная точность определения местоположения объекта. Алгоритм предполагает что диаграмма направленности светодиода всенаправленная, при этом на самом деле она намного больше похожа на конус, к тому же с неоднородным распределением интенсивности света внутри рабочей зоны. Также не учитываются различия в форме обнаруженных объектов, что может исказить полученные результаты. Например система не сможет различить руку и запястье, поэтому если запястье находится в пределах диапазона обнаружения системы во время жеста руки, это может исказить полученные результаты. Самостоятельная реализация метода позиционирования будет работать только для схем с низким разрешением, в которых используется менее 10 ИК-светодиодов.
Метод основанный на анализе изменения формы выходного сигнала ИК-детектора идеально подходит для систем не требующих предоставления информации о местоположении объекта. Идентификация жестов выполняется с хорошей точностью, в том числе и для объектов различной формы. Но отсутствие информации о местоположении объекта ограничивает количество распознаваемых жестов, что может помешать реализации некоторых более продвинутых функций управления.
Для улучшения работы можно комбинировать оба описанных метода. Они используют одни и те же аппаратные ресурсы, поэтому такое слияние требует только соответствующих модификаций программного обеспечения, обрабатывающего данные с датчиков. Это связано с необходимостью обеспечить более высокую вычислительную мощность, но для текущего поколения микропроцессоров это не проблема.
Пример реализации устройства
На рисунке представлена примерная схема распознавания жестов, построенная на основе одной из моделей ИК-детекторов, имеющихся на рынке. Схема состоит из датчика, трех светодиодов и микропроцессора. Детектор оснащен тремя выходами для подключения излучателей ИК-сигналов. Встроенная в датчик схема генерации и переключения сигналов управляет работой светодиодов, последовательно включая каждый из них позволяет принимать и отображать отраженный сигнал, генерируемый отдельно каждым из светодиодов. Микроконтроллер может управлять работой детектора и считывать полученный сигнал через интерфейс I2C. Значение принятого сигнала для каждого из LED хранится в отдельном 16-битном регистре. Циклическое считывание этих значений позволяет отслеживать изменения сигнала и задействовать алгоритм обнаружения и классификации жестов.

Таким образом с помощью ИК-светодиодов и детекторов можно создать простую и недорогую систему, способную обнаруживать и распознавать жесты на расстоянии до нескольких десятков сантиметров. Это решение отлично подходит для построения современных пользовательских интерфейсов, являясь интересной альтернативой классическим устройствам с кнопками. Технология проста в реализации, не требует привлечения больших вычислительных мощностей или дорогостоящих аппаратных ресурсов. Дополнительным преимуществом бесконтактных методов управления является их стерильность, что особенно важно во время повышенного внимания к гигиене.