@amperka/ir-receiver
Модуль для работы с модулем ИК-приёмника и другими приёмниками серии TSOP22.
Для считывания ИК-сигнала требуется опрашивать датчик в аккуратно выверенные временные окна, преобразовывать высокие и низкие сигналы в единицы и нули, и уже их преобразовывать в конечные коды кнопок. Все эти сложности спрятаны в реализации библиотеки.
var myReceiver = require('@amperka/ir-receiver').connect(P2); myReceiver.on('receive', function(code, repeat) { if (repeat) { console.log('Key with code', code, 'is keeped pressed'); } else { console.log('Key with code', code, 'was just pressed'); } });
Возвращает новый объект Receiver
для работы с приёмником подключённому к пину pin
.
Класс для работы с приёмником. Для создания экземпляра используйте функцию connect
.
Событие возникает, когда приёмник успешно декодирует нажатие кнопки ИК-пульта. Вызывается обработчик callback(code, repeat)
:
code
— целое число, декодированный код клавиши.repeat
—true
, если код пришёл повторно в результате зажатия кнопки на пульте, а не её повторного нажатия;false
если пришёл первый сигнал после нажатия кнопки.
Обратите внимание, что не все пульты посылают специальный код о зажатии кнопки.
Список кодов
Если вы используете ИК-пульт с логотипом Амперки, можно воспользоваться готовым объектом с набором кодов.
- POWER — включить / выключить,
- MINUS — минус,
- PLUS — плюс,
- RED — красный,
- GREEN — зелёный,
- BLUE — синий,
- CROSS — крест,
- SQUARE — квадрат,
- TRIANGLE — треугольник,
- TOP_LEFT — вверх влево,
- TOP — вверх,
- TOP_RIGHT — вверх вправо,
- LEFT — влево,
- PLAY — воспроизвести / пауза,
- RIGHT — вправо,
- BOTTOM_LEFT — вниз влево,
- BOTTOM — вниз,
- BOTTOM_RIGHT — вниз вправо,
- X — X,
- Y — Y,
- Z — Z
var receiver = require('@amperka/ir-receiver') .connect(P3); receiver.on('receive', function(code) { if (code === receiver.keys.TOP) { print('TOP'); } if (code === receiver.keys.POWER) { print('POWER'); } if (code === receiver.keys.LEFT) { print('LEFT'); } if (code === receiver.keys.RIGHT) { print('RIGHT'); } });