Comments 21
Спасибо, очень вкусный материал. Сами протоколы пультов тема полезная, чтобы когда надо чем‑то рулить с контроллера не бездумно повторять запись, а системно понимать, что там закодировано.
Доводилось реверсинжинирить пульт от сервопривода монитора, чтобы можно было с компа с клавиатуры управлять мониторами через ардуино (комп → ардуино → ик диоды).
Поначалу пробовал записывать мерцание диода пульта на видео с телефона с 960 к/c и по количеству кадров определять сколько длится вкл/выкл, после чего руками кодить интервалы. ВНЕЗАПНО, это работало, но очень плохо — где то 1 из 5 раз кронштейн понимал чего от него хотят. Пришлось мерить ширину импульсов по-человечески - и вот тогда всё получилось.
Остаётся загадкой, почему на сигналы, сделанные по видео, привод то реагировал, то нет. По идее, если время неправильное, оно должно либо не работать, либо работать.
Так как все пульты работают на одной несущей то не получится одновременно управлять сразу двумя пультами. Один будет просто глушить сигналы второго.
выход открытый коллектор
Если в приемнике есть неотключаемый резистор подтяжки, как на схеме, то это уже не открытый коллектор, а просто sinking output, строго говоря.

На мобильном - ужасно.
Мне в начале 1990-х отдали телевизор Fujitsu, у которого собака сгрызла пульт и владелец (американец) купил программируемый пульт. У этого пульта был режим записи для любой кнопки сигнала с пульта-источника. Этот пульт был неприлично дорогой и мне его дали только на время. Я тогда подцепился логическим анализатором к светодиоду и считал временные диаграммы импульсов, а потом написал на ассемблере программу эмуляции пульта, которую запускал на XT/8088 с выводом на ИК светодиод через пин на порту LPT. Планировалось переписать это на 8051, но пропал интерес, а телевизор использовался как монитор для видика.
В теме ИК управления очень давно. Много чего было сделано. На полке стоит коробка с разными пультами , в том числе есть и обучаемые и универсальные. Статья на тему ИК https://habr.com/ru/articles/950764/
Сейчас в плане ИК управления остается задача интегрирования систем которые управляются по ИК с современными технологиями.
Отличная замена дорогого оборудования Global Cash отечественного разработчика и производителя https://www.cvg.ru/catalog/diga/ambicore/
Все новое хорошо забытое старое.
Скрытый текст
Исследуя остатки от древней цивилизации среди археологических раскопок на даче, вы можете найти что-то похожее на вот это.
Вот так вот вы взяли и назвали мой телевизор "дремучей археологией" :)
Сидел разглядывал картинку пульта с мыслью - "какие раньше интересные пульты были". Хмм... А чем-то на мой похож... В смысле у меня такой же только черный!?! :) А так-то да, телевизору около 10 лет, причем на тот момент он уже был на исходе выпуска и поэтому с весьма вкусными скидками
Вместо диода можно приделать ик-лазер и получится пульт с очень длинной рукой. У меня получилось включать\выключать телевизоры в соседнем доме: https://github.com/kdpkdp/irbrute
Базу ИК-сигналов можно взять тут: https://github.com/Lucaslhm/Flipper-IRDB
Спецоборудования не было, а посмотреть что там посылается хотелось и вот приделал фотодиод к аудиоджеку и в микрофонный вход компа, сигналы просматривалсь в звуковом редакторе. Графики не такие красивые как в спец-программах или на осциллографе, жутко неудобно, но вполне себе распознаваемо.
Гениально! ИК- винтовка.
Вот интересно, как они поступили с пультами для кондеев. Насколько я понимаю (я могу ошибаться, поправьте меня), при нажатии кнопки пульт отправляет не код кнопки, а весь конфиг целиком (включенность, режим работы, температура, скорость вентилятора и т.д. - всё одним пакетом). Я глянул на их .ir-файлики для AC и что-то берут сомнения, что это может работать, если отправлять такое "как есть".
Поэтому, кстати, не всегда корректно работают универсальные кондейные пульты. К примеру: переключаешь наклон направляющей махалки, четыре из пяти положений "отпикиваются" блоком, как принятые, а пятое - тишина, хотя пульт себе его отображает на экранчике. И если такое некорректное положение не изменить, то регулировка других параметров (температура, к примеру), будет продолжать не приниматься блоком.
Я так понял там нет какого-то жесткого контроля и верификации, лишь бы формат с флиппером совпадал. Реквесты принимаются от всех, у кого есть что запуллить. А уж где эти файлы народ добывает я не знаю. Может флиппером дампят, может еще как-то. Я тестил лишь вкл\выкл одного вентилятора и разных телевизоров и про актуальность\корректность всего другого ничего сказать не могу.
Маленький лайфхак, как услышать пульт, используя преобразователь свет-звук без электроники совсем.
Нам нужна вата, пузырек от зеленки, карандаш простой, ухо.
Берем карандаш, и мелко точим его грифель, получаем графитовый порошок.
Берем вату, и вымазываем ее в графит. Распушаем вату, и помещаем ее в пузырек стеклянный. Чуть выше помещаем кусочек более плотной чистой ваты, чтобы графит не попадал в ухо.
Вставляем пузырек открытой стороной в ухо. (той стороной где раньше была пробка)
Направляем пультик на пузырек, нажимаем любую кнопку.
Мы будем слышать пачки импульсов. 38 килогерц мы слышать не можем, а пачки проходят нормально.
Принцип работы. ИК излучение нагревает углерод, висящий на вате, он расширяется и сжимается вместе с ватой, что создает звук в такт ИК излучению. Осталось придумать ИК микрофон...
Что может пойти не так. Если мы не слышим звук, то или мы повредили перепонную барабанку (воспользуйтесь оставшимся ухом), или слишком слабый пультик. У меня из двух имеющихся в то время пультиков можно было услышать только один. Думаю систему можно немного усовершенствовать если использовать пузырек побольше (у меня был на несколько граммов зеленки), использовать пузырек нормально пропускающий ИК лучи, и использовать стетоскоп, а не вставлять в ухо его узкое горлышко.
Древние цивилизации оставили нам пакет https://www.lirc.org/, позволяющий как отправлять, так и декодировать сигналы с разных пультов. База данных пультов там приличная, да и считывание сигналов неизвестных пультов есть.
Интересных вещей в ИК-протоколах хватает. К примеру, repeat-сигналы, использующие я при зажатии клавиши пульта.
Интересных вещей в ИК-протоколах хватает. К примеру, repeat-сигналы,
И не только , например расширенный протокол NEC.
Базы пультов есть , но иногда нужно проводить конвертацию из одной базы в другую.
Разные подходы к считыванию ИК посылки: с анализом частоты несущей и без . Разные подходы к кодированию: одни отсчитывают количество импульсов несущей частоты , а кто то чисто в милисек измеряет длительность посылок, забывая про несущую.
А если еще вникать в протоколы кондиционеров - то там каждый производитель чудит как хочет
Декодирование IR сигнала с TV (или исследование пультовых лучей)