Допустим Вы потеряли пульт управления от ТВ, но у Вас есть любой другой пульт – тогда берём Ардуино (Arduino) и прошиваем его следующим кодом.
Для примера у меня есть пульт от телевизора “Витязь” и я хочу управлять через него – ТВ тюнером Soundmax, вот их коды, которые я также считал с помощью Ардуино – для этого мне помогла запись – “микроник.рус/8046/” (“IR (инфракрасный сигнал): Читаем данные с пульта и передаём их”).
Vityaz RC29 от ТВ Vityaz
вкл/выкл – 4FB4AB5
звук+ – 4FB40BF
звук- – 4FB906F
звук вкл/выкл – 4FBCA35
каналы+ – 4FBC03F
каналы- – 4FB827D
меню – 4FB609F
кнопка вверх – 4FBE21D
кнопка вниз – 4FBB24D
кнопка влево – 4FB926D
кнопка вправо – 4FBD22D
кнопка ок – 4FB52AD
кнопка источники – 4FB728D
кнопка сна – 4FBF807
кнопка выход – 4FB50AF
Soundmax от ТВ тюнера SM-DVBT271
вкл/выкл – FF9A65
звук+ – FFD827
звук- – FF5AA5
звук вкл/выкл – FF9867
каналы+ – FF609F
каналы- – FF6897
меню – FFA25D
кнопка вверх – FF609F
кнопка вниз – FF6897
кнопка влево – FF5AA5
кнопка вправо – FFD827
кнопка ок – FF58A7
кнопка usb – FFAA55
кнопка выход – FFA05F
Давайте сделаем так нажимаем на пульте от ТВ Витязь кнопку звук+ (4FB40BF), Ардуино посылает код от пульта Soundmax от ТВ тюнера от кнопки звук+ (FFD827), аналогично с кнопками звук-.
Вот код для Arduino Nano:
#include <IRremote.h>
IRrecv irrecv(11); // указываем вывод, к которому подключен приемник
IRsend irsend;
decode_results results;
unsigned long lastPressedKey = 0;
void setup() {
Serial.begin(9600);
// In case the interrupt driver crashes on setup, give a clue
// to the user what's going on.
Serial.println("Enabling IRin");
irrecv.enableIRIn(); // Start the receiver
Serial.println("Enabled IRin"); }
void loop() {
if ( irrecv.decode( &results )) { // если данные пришли
Serial.println(results.value, HEX);
unsigned long keyCode = results.value;
irrecv.resume();
if (keyCode == REPEAT)
{
keyCode = lastPressedKey; // пришел код ПОВТОРЕНИЕ, значит нужно сделать вид что еще раз нажали предыдущую клавишу.
}
else
{
lastPressedKey = keyCode; // запоминаем код реальной клавиши, для последующего повторения
}
if (keyCode == 0x4FB40BF) { //код моей кнопки
irsend.sendNEC(0xFFD827, 32); // Отправка кода NEC
irrecv.enableIRIn(); // запускаем прием
}
else if (keyCode == 0x4FB906F) { //код моей кнопки
irsend.sendNEC(0xFF5AA5, 32); // Отправка кода NEC
irrecv.enableIRIn(); // запускаем прием
}
}
}
Вот так выглядит моё устройство:
Соединение с Ардиуно следующее:
Светодиод инфракрасный (IR).






