IR-приемник
Просьба добавить опцию отслеживание длительно нажатой клавиши.
В пультах с протоколом NEC при удержании клавиши сначала передается стандартная посылка, затем код "repeat" - который состоит из преамбулы длительностью 9 мс и единичного интервала 2.25 мс с периодичностью 110 мс.
Таким образом можно сделать разные (по время затратам) варианты реализации.
1. Переменная/метрика с наличием передачи в данный момент кода "repeat" (0/1). Переменная обнуляется через X ms (>110 ms) после последнего приема "repeat"
2. Тоже, что и п. 1 только счетчик "сколько получено repeat" - обнулять можно при получении другой команды
3. Продвинутый вариант - галочка в настройках ir option в разделе Keys options напротив каждого GPIO: "Длит. нажатие". Соответственно при включенной галочке данный GPIO будет "1" только когда удерживается клавиша на пульте.
Что дает данное поведение:
- управление с ir пульта всем, что работает со слайдерами (шим, установка температуры и т.д.)
- не фиксированные кнопки (вариантов много)
- в моем случае: управление моторизированной громкостью в УНЧ
Варианты реализаций для ардуины:
https://github.com/GyverLibs/NecDecoder
https://chipenable.ru/index.php/item/96