В ардуино получаю значения и на основании них хочу отправить сигнал нажатия соотв. кнопки на клавиатуре. Я вызвонил какие сочетания пар отвечают за кнопки. но не понимаю как дальше действовать.
подскажите ± похожие решения что бы подсмотреть аналогии. Заранее спасибо
Для начала нужно понять, как работает матричная клавиатура, соответственно, понять, как контроллер считывает состояние кнопок клавиатуры, после этого уже можно будет подумать, как эту клавиатуру эмулировать (говоря “эту” я не имею в виду конкретно вашу, а матричную клавиатуру вообще).
В общем - прямая дорога в гугл вам
А дальше нужно разобраться, каков принцип работы этой клавиатуры. Судя по тому, что кнопок 25, а проводов 10, то это матрица либо 6х4, либо 5х5 (мне лень реверсить разводку, это уж вы сами).
Как вариант, можно предположить, что работает это так: допустим это матрица 6х4 - 6 групп по 4 кнопки (а может 4х6 или 5х5 - разбирайтесь), контроллер в цикле выставляет по очереди на каждую из 6-ти “адресных” линий сигнал (0 или 1 - тоже надо выяснить) и “ловит” его на 4-х линиях “данных”. Если какая-то из 4-х кнопок группы будет в этот момент нажата, по на соответствующей линии “данных” этот сигнал появится. Так определяется нажатая кнопка.
В ардуине соответственно понадобиться тоже 10 пинов (также допустим 6+4), и если надо “нажать” кнопку, то на нужном “адресном” пине надо ловить сигнал от контроллера и в этот момент подавать на нужный пин “данных” импульс. Импульс должен быть чуть короче импульса “адреса”, чтобы не зазеваться и успеть его снять, пока не переключится “адрес”. Если в контроллере есть антидребезг, то возможно импульс придется подать несколько раз.
Осталось взять осциллограф или лог.анализатор и подтвердить или опровергнуть эту теорию.
это важно понять матрица 6х4 или 5х5?
в реверсить разводку как то может помочь то что Я вызвонил пары на шлейфе которые соответствуют кнопкам?
мне нужно только 9ть кнопок из всех. остальные нужно оставить так же физ. кнопками но на новой плате, но это уже другая история.
про осциллограф или лог.анализатор Я уже второй раз слышу и похоже что простыми путями мне не решить эту задачу…
что вы называете задачей? ) Основную суть Я описал. Из фото платы очевидно же что это сип-телефон. мне нужно набрать на нем кнопки не физ. клавиатурой, а ардуиной. Уж не знаю куда детальнее )))
Я понимаю что более простой. Но хочется более изящный что ли)
осциллограф или лог.анализатор конечно понимаю что такое, но в пользование не осилю точно.
Это исследование могу отдать на аутсорсинг и уже работать с этими данными.
какой изящный то? Если нужно нажимать 9 кнопок - самое простое 9 контактов. Все остальное сложнее и явно не для вас, если вы даже об общей земле на все кнопки сами не догадались.
А так да, разве что поржать - могу предложить сделать через сдвиговый регистр. Вполне рабочий вариант и пинов меньше, только нафига???