Огромная благодарность автору за программу IRControll.
И есть небольшое предложение по улучшению управления громкостью, хотелось бы добавить возможность устанавливать фиксированное значение уровня громкости на отдельные IR-коды. Например кнопка 1 - 5% громкости, кнопка 2 - 10%... Т.е IR-код - громкость - выбрать сколько %. Это расширяет функции устройства, например можно добавить возможность управлять громкостью с помощью энкодера (подключить к ардуино).
сделал на макетке.


Устройство нормально работает на немного модифицированном скетче для библиотеки IRremote-2.2.3.
основное изменение в скетче кроме адаптации - вместо кода повтора будет повтор кода кнопки.
работает с arduino IDE 1.6.5
ссылка на библиотеку:
https://www.arduinolibraries.info/libraries/i-rremoteтекст скетча:
#include <IRremote.h>
int RECV_PIN = 2; //назначаем приемный вывод
int a; //функция - результат чтения с порта
int code;//промежуточная функция - память на 1 значение
int r; // функция для исключения кода повтора
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(4, OUTPUT); //назначаем вывод для индикации
Serial.begin(9600);
irrecv.enableIRIn(); // запуск приемника
}
void loop() {
if (irrecv.decode(&results)) {a=
(results.value);
code=abs(a);
if (code!=1) r=code; //code 1 - код повтора клавиши
if (code==1) code=r; //(возвращаем предыдущее значение code)
//вместо кода повтора будет повтор кода кнопки
Serial.println(r);
irrecv.resume(); // принимаем следующее значение
digitalWrite(4, HIGH);
}
delay(200);
digitalWrite(4, LOW);
}