26-ого сентября в городе Пенза стартовал HackDay #32. Мы решили принять участие и реализовать ИК-приёмопередатчик для JACK 3.5. Главным требованием для нашего девайся являлась компактность и неиспользование источников питания.
Свою работу мы начали с перехвата сигнала пульта управления и изучения его осциллограммы. Для приема сигнала мы использовали обычный ИК-диод:
Для анализа сигнала мы пользовались программой Audacity:
Принятый сигнал крайне чистый.
Диод работает как демодулятор и мы не знаем, на какой несущей частоте передается сигнал. Для решения этой проблемы с ресурса remote.rtfms.com скачали пример сигнала, который нужно подать для телевизора фирны Samsung и с помощью той же программы начали исследовать.
Стереосигнал амплитудно-модулирован на пилообразный сигнал с частотой 20кГц, инверсный для каждого канала. Предположительно это сделано из-за того, что JACK стабильно может генерировать сигнал частотой не более 20кГц и к каждому каналу подсоединяется свой диод. Сигнал инвертирован, чтобы ИК-диоды срабатывали по разным фронтам.
Изменив ранее пойманный сигнал по этому алгоритму и сделав передатчик специально для данного алгоритма, мы начали тестировать.
Здесь земля не используется, диоды подключены разноименно к левому и правому каналам.
Схема работала, но нас не устраивало наличие 2-х диодов. Мы решили к данному треку подключить наш приёмник, он тоже управлял устройством. Следовательно, их трек избыточен и мы оставили только один канал.
Данное решение работает только на ПК и некоторых смартфонах с расстояния не более пары метров. Очень не хотелось использовать дополнительный источник питания, но некуда деваться. Для усиления сигнала мы использовали простой транзисторный ключ.
Схема потеряла способность принимать сигнал. В будущем можно доработать схему, мы переключали приемник и передатчик.
Для тестирования использовали DVD проигрыватель фирмы BBK и ресивер Триколор JS 7300. Наш приемник способен управлять данными устройствами с расстояния около 15 метров (на сколько хватило коридора). На демонстрации проектов мы хотели управлять со смартфона проектором ViewSonic PJD 5132. Хорошо, что заранее решили проверить работоспособность — ничего толком не работало. Проектор воспринимал наши управляющие сигналы только если близко поднести передатчик, что было проблематично, так как он висел под потолком.
Мы решили «поиграться» с частотами несущей. При изменении частоты наши тестовые устройства стали работать аналогично проектору, следовательно, накладывать информационный сигнал на одну и ту же несущую нельзя. В ходе долгих стараний мы подобрали частоту и демонстрация не сорвалась.
Приложение для смартфона, автоматически модулирующее считанный сигнал, сделать не успели. Мы записали в телефон готовые звуковые дорожки и стилизовали Activity аналогично пульту управления.
В ближайшее время его доделаем и разместим на Google Play в открытом доступе. Главной его фичей будет обучение командам устройств и возможность создания персонального пульта.
Автор: spirinDmitrij