• Объявления

    • admin

      Анонсы постов вашего блога в группах паяльника   04.09.2016

      Самые интересные посты будут анонсироваться в группах VK и FaceBook. Охват одного поста составляет несколько тысяч человек. Пример анонса записи про книгу Sprint Layout: в группе VK, в группе Facebook.  Поэтому если вы считаете, что ваш пост будет интересен аудитории, то не стесняйтесь - пишите, сделаем пост!

Заметки радиолюбителя

  • записей
    16
  • комментарий
    191
  • просмотра
    4 293

Протокол и команды китайского универсального мини-пульта на 7 кнопок

В свой усилитель мощности мне захотелось встроить ИК-управление. Для этих целей на eBay был куплен универсальный мини-пульт с семью кнопками. Найти его можно по запросу "Mini Universal Infrared IR TV Set Remote Control Keychain Key Ring 7 Keys".

5a77563dc4da4_2017-06-0722-25-02.thumb.JPG.8b01a9e3fe751b34ce8b69924292446b.JPG 5a775a141a755_2017-06-0722-26-21.thumb.JPG.5e9e5877e1c4ecc15dd90f1433f993ec.JPG

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

2018-02-04_19-18-32.thumb.png.a5b289288dcbc5cbbd49fd97461ee3a2.png

Данная картинка сразу дает понять, что это NEC-протокол. Как следует из его описания, короткие импульсы это 4 байта данных - адрес в прямом и инверсном виде, команда в прямом и инверсном виде. На рисунке я текстом написал эти байты. Как видно, все сходится. В байте используется порядок битов от младшего к старшему. То есть полный код команды будет 0x503F.

Теперь стало понятно какой декодер нужно программировать в МК. Написав его, я снял все команды этого пульта:

0x503F - POWER
0x5019 - CH UP
0x5018 - CH DOWN
0x500B - MUTE
0x5012 - VOL +
0x5015 - VOL --

Кнопка AV/TV имеет особенность - при каждом нажатии происходит перебор сразу шести команд по кругу:
0x50210x5022 0x503C 0x5028 0x5013 0x50AD

Адрес всех кнопок равен 0x50, а код кнопки меняется.

Думаю, кому-то данная информация пригодится. Ниже видео, демонстрирующее работу этого пульта.

P.S.: После написания этой заметки до меня дошло, что я продемонстрировал пульт, который копирует команды пульта телевизора, с которым я его настраивал. Так что по факту и протокол работы и команды, как я понимаю, могут быть совершенно разными - все зависит от первоначальной настройки. Если знаете об этом больше меня, дополняйте :) 

  • Лайк 1
  • Одобряю 1


6 комментариев


Рекомендуемые комментарии

Не надо народ вводить в заблуждение! Пульт не копирует команды пульта, а их хранит в своей памяти. Настраивается под любой телевизор просто. Нажимаем кнопку MUTE и удерживаем ее, светодиод на пульте должен погаснуть через секунду и вновь загореться. Далее пульт начинает поочередно перебивать команды отключения звука разных производителей телевизоров (весьма долгий процесс). Как только звук на телевизоре отключился - резко отпускаем кнопку MUTE. Все, пульт под нужный телевизор настроен. Годный декодер для такого пульта на PIC12F675 я еще сделал в 2012г. Работает без нареканий по сей день в круглосуточном режиме для управления светодиодного освещения. 
PS. За одно нажатие любой из кнопок пульт поочередно передает сразу 3 разных команды(нужную команду, и на всякий случай 2 соседние команды пультов других производителей)

Поделиться комментарием


Ссылка на комментарий

Может не так выразился. Не копирует, а имитирует - воспроизводит команды того аппарата, с которым был настроен.

3 часа назад, 4uvak сказал:

PS. За одно нажатие любой из кнопок пульт поочередно передает сразу 3 разных команды(нужную команду, и на всякий случай 2 соседние команды пультов других производителей)

Я такого не заметил. Мой выдавал команду и далее код повтора.

Поделиться комментарием


Ссылка на комментарий

Ну моим пультам лет много. Может со временем что и изменилось. Я фиксировал посылки при помощи логического анализатора. Там за 0,3 сек улетало 3 разных посылки. Другими словами за секунду передавалось только 3 полезные посылки, остальное "мусор"...

Поделиться комментарием


Ссылка на комментарий
Цитата

Адрес всех кнопок равен 0x50

Более правильно - код пульта. Он общий для всех кнопок и отличается у разных пультов. Поэтому в прошивке для привязки пульта,  достаточно помнить только второй байт - с кодом кнопки и пропускать обработку всех кодов,  у которых первый байт не равен коду пульта. 

  • Одобряю 1

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас