Ураааааааа !!!
Arduino рулит.


Использование этого устройства можно как в составе умного дома, автомобиля, домашнего кинотеатра и т.д.
 
И так все по порядку:
 
Желательно использовать приемник 36кГц - 40кГц
Лично я выпаял с какой то старой платы IR приемник
Похож на этот

Его параметры мне не известны , но он работает.
 
Из доступных и не дорогих это TSOP1736, TSOP1738

 
Можно подключить ИК приемник на разъем программирования. При подключении обратите внимание на цоколевку ИК приемника в DataSheet.
 
   
 
Без фильтра питания IR работал не стабильно с пропуском посылок , дабавил в схеме RC фильтр и все нормализовалось.
 
Далее:
Установил библиотеку IRremote для Arduino, подправил и залил код, все заработало сразу. Перепробовал все пульты в доме , работает со всеми мной протестироваными пультами Д.У.
Скачать программу , для назначения кнопок ДУ . Сначала нужно запустить IRKey_config.exe назначить кнопки вашего ифракрасного пульта дистанционного управления, на любые клавиши Windows. Следует помнить что Windows не разрешает эмуляцию комбинации "CTRL-ALT-DEL" , вместо нее можно использовать комбинацию "CTRL+SHIFT+ESC"). После того как вы все сконфигурировали, сохраните настройки, закройте программу IRKey_config.exe и запустите IRKey.exe (программа при запуске свернется в трей) , наслаждайтесь. Для постоянного использования ярлык программы IRKey.exe закинте в автозагрузку
 
Скачать библиотеку , распаковать и положить в папку C:\arduino-0017\hardware\libraries\IRremote
 
Код с повторами при удерживании кнопки
Для нарульных пультов Pioneer , delay уменишить до оптимального значения
Или использовать код выложеный выше
	PHP код:
	
// http://compcar.ru 
#include <IRremote.h> 
  
byte bytes[4]; 
 int RECV_PIN = 10;    //вход ИК приемника 
IRrecv irrecv(RECV_PIN); 
decode_results results; 
unsigned long ir_dt, old_ir;
  
void setup() 
{ 
  Serial.begin(115200); 
  irrecv.enableIRIn(); // включить приемник 
} 
  
void loop() { 
  if (irrecv.decode(&results))  
  { 
    if (results.value > 0 && results.value < 0xFFFFFFFF) 
    { 
      ir_dt = results.value; 
      bytes[0] = ir_dt & 0xFF;          // преобразовать в 4-байта  
      bytes[1] = (ir_dt & 0xFF00) >> 8;  
      bytes[2] = (ir_dt & 0xFF0000) >> 16; 
      bytes[3] = (ir_dt & 0xFF000000) >> 24; 
      Serial.write( bytes,4); // отправить прочитаное значение компьютеру 
              
      if (old_ir == ir_dt){delay(250);}  //Пауза между короткими нажатиями
      else {delay(500);}// Пауза после первого нажатия и удержания(перед повторами)
      old_ir = ir_dt;
    } 
           if (results.value == 0xFFFFFFFF )
            {
             delay(120); //пауза между повторами
             Serial.write( bytes,4);
            } 
       irrecv.resume(); 
  } 
} 
 Код для Arduino без повторов при удерживании кнопки
	PHP код:
	
// http://compcar.ru
#include <IRremote.h>
 
byte bytes[4];
 int RECV_PIN = 10;    //вход ИК приемника
IRrecv irrecv(RECV_PIN);
decode_results results;
 
void setup()
{
  Serial.begin(115200);
  irrecv.enableIRIn(); // включить приемник
}
 
void loop() {
  if (irrecv.decode(&results)) 
  {
    if ((results.value > 0) && (results.value < 0xFFFFFFFF))
    {
      unsigned long res_dt = results.value;
      bytes[0] = res_dt & 0xFF;          // преобразовать в 4-байта 
      bytes[1] = (res_dt & 0xFF00) >> 8; 
      bytes[2] = (res_dt & 0xFF0000) >> 16;
      bytes[3] = (res_dt & 0xFF000000) >> 24;
      Serial.write( bytes,4); // отправить прочитаное значение компьютеру      
    }
       irrecv.resume();
  }
} 
 
 
Пульты которые цепляется на руль и гарантированно работают.



В отличаи от IR-Link кнопки телефона в пульте Pioneer назначаются каждая кнопка со своим сканкодом. 
Если у Вас клавиатура не имеет мультимедийных или прочих клавиш , то вы можете воспользоватся таблицей что бы добавить нужные клавиши в фаил config.txt в ручную.
За таблицу спасибо Serg_w и Allex.