Снятие протокола инфракрасного пульта ДУ
Вчера ко мне обратился знакомый, который собирается сделать игрушку, управляемую обычным телевизионным ИК пультом. Сам пульт у него уже был. Осталось подобрать нужную микросхему из семейства tsop48xx (как известно, они отличаются частотой модуляции принимаемого сигнала) и узнать, какую последовательность предает пульт. Сказано-сделано.
Для такого кустарного “реверс-инжиниринга”, я подпаял делитель из резисторов 1к и 10к к светодиоду, воткнул проводок в звуковушку.
А звуковушка у меня знатная – E-MU0202 USB. Она умеет сэмплировать сигнал с частотой 192кГц поэтому, весь возможный диапазон модулируемых сигналов через нее пролезет без проблем.
Запускаем Adobe Audition, и записываем сигнал. Пульт передает такую вот пачку.
Сама модуляция выглядит вот так:
Видим, как авторы Adobe audition превосходно реализовали теорему Котельникова. Сигнал аппроксимируется функцией sin(x)/x, как и должно быть. Но сейчас – не об этом.
Большой кусок в начале – это стартовый байт. Выделяем его и запускаем Window->Frequency analysis. Настраиваем, как на картинке:
Так как сигнал несимметричен, то вылазит очень большая вторая гармоника, что ожидаемо. Нас-же интересует первая. Измеряем ее частоту. У меня получилось 38120Гц. Тоесть, для приема сигнала от такого пульта подойдет микросхема tsop4838.
Теперь смотрим на сигнал. Отчетливо видно, что за стартовой последовательностью (8 единичек и 8 нулей) идет собственно код посылки. Тут придется поковыряться и записать его побитово.
Все, пульт можно использовать в своих грязных целях. Алгоритм приема может быть очень простым – ждем единицы с tsop’а, измеряем его продолжительность, делим на 8 и получаем интервал сэмплирования сигнала. Далее, через эти интервалы, записываем битики, и сравниваем с нашим шаблоном.
Можно сделать устройство обучаемым – сначала (к примеру, если нажата кнопка) оно записывает что передает пульт после стартовой последовательности, а потом (когда кнопка отпущена), сравнивает принятые сигналы с записанным и выполняет какие-то действия.
Кажется я знаю, о чем ВЫ=)
МЫ тоже знаем, что вы знаете ))
По-моему здесь уместнее использовать LIRC, он выдаёт уже готовую последовательность байт, и используемый протокол (RC6 например)
Для того, чтобы пользоваться LIRC, нужен фотоприемник. На какую частоту модуляции нужен фотоприемник позволяет выяснить описанный метод.
все понятно, кроме одного, кварц на частоту около полумегагерца, задает только тактовую частоту контролера?
Какой кварц?
Вот такой https://remstartex.ru/wp-content/uploads/2011/04/quartz.jpg