Определился с логикой работы (и уже почти все реализовал в железе). Все легко меняется, поэтому любые пожелания приветствуются
Для лучшего понимания привожу картинку с названиями клавиш
Комментарий к файлу: Клавиши пульта.
3D-wiev-.jpg [ 47.43 КБ | Просмотров: 8521 ]
Клавиши и индикаторы:
- аппаратная (контактная) клавиша Set служит для различных целей но главные - переход из режимов, усыпление пульта и вывода его из сна;
- индикаторный Led служит для индикации различных режимов работы;
- сенсорные клавиши смены программ и изменения уровня имеют автоповтор (функции: громкость, переключение каналов, яркость, тембр, ...);
- сенсорные клавиши Power и Mute не имеют автоповтора (нужны для единичных действий: включить-выключить, открыть-закрыть, ...);
- сенсоры выбора группы команд делают активным один из трех возможных наборов (по 6 штук) команд-сенсоров (например: 1-телевизор, 2-усилитель, 3-свет) ;
- еще есть пьезоизлучатель Buzzer, он озвучивает нажатия клавиш и другие действия.
Алгоритм работы:
При включении пульта (подаче питания), он переходит в режим воспроизведения команд из первой группы команд. Прозвучит длинный пииик и сразу за ним короткий (первый набор команд). Загорится Led. Если теперь нажимать сенсоры выбора группы команд то будет звучать длинный пииик и сразу за ним в зависимости от номера группы количество коротких. Переключатели групп команд во всех режимах работают одинаково.
При нажатии в режиме воспроизведения сенсоров команд, будет издаваться короткий звуковой сигнал (пик) и выдаваться IR-команда.
Если пульт не трогать 10 секунд он перейдет в режим сна (может подольше его не ложить спать?). В режим сна можно ввести пульт принудительно нажав кратковременно Set. Кратковременное нажатие на Set в режиме сна просыпает пульт и он просигналит номер активной группы команд (что-бы лишний раз не ворушить пальцем
).
Если в режиме воспроизведения длительно зажать Set, то пульт перейдет в режим обучения, издав два коротких сигнала, и Led начнет постоянно моргать. Если теперь нажать любой сенсор - светодиод погаснет прозвучит длительный сигнал и пульт будет ждать IR-посылки от оригинального пульта. Если посылка получена, прозвучит длинный сигнал и пульт запомнит команду и вернется в режим обучения. Если посылки долго нет - прозвучит короткий сигнал и пульт перейдет в режим обучения. Еще, ожидание IR-посылки можно отменить кратковременным нажатием Set. В режиме ожидания IR-посылки оригинального пульта можно выбирать другие сенсоры или группы. Действия сенсоров селекторов аналогично режиму воспроизведения.
Возвратится назад в режим воспроизведения можно длительно зажав Set (последуют два коротких сигнала) или спустя 10 бездействия пульт сам перейдет в режим воспроизведения.
Вроде-бы ничего не забыл.