Кодировка ИК пульта сплит-системы
Добавлено: Сб окт 01, 2016 14:11:32
Добрый день!
Помогите разобраться с кодами ИК пульта от сплит-системы Samsung. Хочу дальше ей управлять по ИК со своего ус-ва. Взял банально ардуину + приемник типа TSOP1736. У ардуины в библиотеках есть IRRemote, где есть пример разбора приходящих кодов. Поковырял его чуть-чуть, чтобы на другую ногу/прерывание перекинуть (мне подключиться так удобнее было), да размер буффера увеличил (по умолчанию не вмещалось, у меня путь чуть длиннее пакет формирует). Ну и по-записывал разные команды/режимы с пульта, каждый по 3 раза для исключения ошибок считывания. Результат тут: http://pastebin.com/kisrK5xw
Пример одного пакета дам сразу тут:
Понятное дело цифры не точные, их надо нормализовать еще. Но да и так видно, что похоже всегда + пульс приходит всегда по ~600, а затем "-" пульс формирует 0 или 1 в зависимости от длины ~ -400 или -1400. Что из этого 0, а что 1 еще бы понять. Да и с концовкой не понятно. Почему в конце "+ 600, -1900 +3050" пульс со знаком минус от -1800 до - 2800 скачет? Это просто широкий диапазон или есть какой-то смысл в его длине? И ~+3000 в конце это видимо признак конца пакета?
Помогите разобраться с кодами ИК пульта от сплит-системы Samsung. Хочу дальше ей управлять по ИК со своего ус-ва. Взял банально ардуину + приемник типа TSOP1736. У ардуины в библиотеках есть IRRemote, где есть пример разбора приходящих кодов. Поковырял его чуть-чуть, чтобы на другую ногу/прерывание перекинуть (мне подключиться так удобнее было), да размер буффера увеличил (по умолчанию не вмещалось, у меня путь чуть длиннее пакет формирует). Ну и по-записывал разные команды/режимы с пульта, каждый по 3 раза для исключения ошибок считывания. Результат тут: http://pastebin.com/kisrK5xw
Пример одного пакета дам сразу тут:
Код: Выделить всё
Encoding : SANYO
Code : FFFFFFFF (0 bits)
Timing[115]:
+ 550, - 400 + 600, -1400 + 600, - 400 + 550, - 450
+ 550, - 450 + 550, - 400 + 600, - 400 + 600, - 400
+ 600, - 400 + 600, -1400 + 550, - 400 + 600, - 400
+ 600, -1400 + 550, - 450 + 550, - 450 + 550, -1400
+ 600, -1400 + 550, -1400 + 600, -1400 + 550, -1400
+ 600, - 400 + 600, - 400 + 600, - 400 + 550, - 450
+ 550, - 450 + 550, - 450 + 550, - 400 + 600, - 400
+ 600, - 400 + 600, - 400 + 600, - 400 + 550, - 450
+ 550, - 450 + 550, - 400 + 600, - 400 + 600, - 400
+ 600, - 400 + 600, - 400 + 550, - 450 + 550, - 450
+ 550, - 400 + 600, - 400 + 600, - 400 + 600, - 400
+ 600, - 400 + 550, - 450 + 550, - 450 + 550, - 450
+ 550, - 400 + 600, - 400 + 600, - 400 + 600, - 400
+ 550, -1450 + 550, -1400 + 600, -1400 + 550, -1400
+ 600, -1900 +3050
unsigned int rawData[115] = {550,400, 600,1400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,1400, 550,400, 600,400, 600,1400, 550,450, 550,450, 550,1400, 600,1400, 550,1400, 600,1400, 550,1400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 600,400, 550,450, 550,450, 550,450, 550,400, 600,400, 600,400, 600,400, 550,1450, 550,1400, 600,1400, 550,1400, 600,1900, 3050}; // SANYO FFFFFFFF