Эмуляция матричной клавиатуры

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Решил я сделать инпут-девайс из китайской ардуины уно, но она оказалась не r3, в dfu не переводится, поэтому мне в голову пришла гениальная (не иначе) идея. Разобрал старую клаву, достал ее контроллер и решил разбираться, как он работает. Оказалось, что обычная матрица. В общем теперь у меня есть 5 контактов, которые нужно замыкать между собой. Я хотел часть кинуть на землю, часть замыкать так, но сразу понятно, что идея гиблая. Вот теперь не знаю, что с этим делать. Тут такая штука, что если замыкать 1-5 выводится условная А, 2-5: Б, 1-2: Я и т.д.. Таки как их замыкать? Не хочу делать говнокод, как-никак я программист, хоть и веб. С радостью выслушаю все ваши идеи <З

P.S. можно было взять леонарду, благо китайцы молодцы, но во-первых хочется сделать именно так, а во-вторых >|<опа горит, хочу сделать прямо сейчас, ждать вообще не вариант

Green
Offline
Зарегистрирован: 01.10.2015

Сомнительно что вы и программист, иначе излагали бы членораздельно... Хотя, "в семье не без урода".(

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Спасибо, уважаемый, но что осталось неясным для вас? У меня есть 5 проводков, которые нужно замыкать между собой. Подключать друг к другу типа. Вроде бы все понятно изъяснил

Green
Offline
Зарегистрирован: 01.10.2015

Ну да, тут всего 2 варианта. Либо объясняющий тупой, либо тупой тот кто не может понять объясняющего... А что бы таких затыков не случалось, нужно объяснять максимально коротко и ясно (лаконично). ОК, 5 концов на клавиши (или матрицу?), а интерфейс то какой хочется иметь? Как планируется получать результат от этих клавиш?

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Из контроллера клавы торчит 5 проводов и их нужно воткнуть в ардуино и с помощью нее замыкать в зависимости от моих потребностей. Я прошу лишь подсказать, как вообще их замыкать, куда подключать и как оно в теории должно работать. Дальше сам разберусь

Green
Offline
Зарегистрирован: 01.10.2015

Вот смотрите. "Из контроллера клавы торчит 5 проводов"... Контроллер здесь причём? Если у вас просто 5 проводов, то так и пишите. Но эти 5 проводов могут хрен знамо как соединены с клавишами - просто по проводу на каждую, либо матрицей, либо ещё как, ага? Ну так разжуйте как оно есть на самом деле! В любом случае, завОдите на Ардуино и вперёд с песней! Какие вопросы?

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Так, объясняю для особо одаренных еще разок. 1. Я выдрал из клавиатуры контроллер. Советую заодно ознакомиться вообще с принципом работы клавиатур. 2. Припаял к контроллеру клавы вместо клавиш проводки, которые при замыкании как бы нажимают на кнопку. Теперь *барабанная дробь* как замыкать эти проводки между собой?

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Если вы просто троллите, то катитесь, пжалуйста, подальше. Подожду более адекватных представителей форума

mixail844
Offline
Зарегистрирован: 30.04.2012

начните с чтения datasheet на контроллер клавиатуры .

еще вариант : подсиеденить все ваши проводки к ардуине и перебрать все варианты нулей и едениц на контактах (но нужно смотреть по datasheet'у нужные уровни сигналов для контоллера и согласовать с вашей ардуиной,если они отличаются) и посмотреть что будет выдавать ваш  контроллер при таком переборе ,ищите закономерности.

 

Green
Offline
Зарегистрирован: 01.10.2015

Мурик, вы нарисуйте схему клавиатуры для этих 5-ти проводов сначала. А потом уже будете думать как их опрашивать. Вообще, клавиатура - это матрица клавиш XY, которую опрашивает контроллер и формирует скан-код на выходе. Вообще, даже PS2 клавиатура достаточно накрученное устройство, со своими фишками и прибамбасами.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Green пишет:

Сомнительно что вы и программист,

Дык там же уточнение есть

Murik_bro666 пишет:
хоть и веб

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Я перебрал все вручную. Там было 26 проводков, я использую только самые необходимые. Один только вопрос. Как замкнуть 2 контакта между собой при помощи ардуино?

nik182
Offline
Зарегистрирован: 04.05.2015

Поставить оптоключ на каждое пересечение матрицы. Т. Е. Столько же сколько было клавиш. Боюсь будет большой гимор управлять таким монстром ардуиной. 

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Оптрон поставить можно, но что делать, когда нужно замыкать 1-4, 2-3, 3-4. То есть у меня не один контакт со всеми остальными. Не 1-2, 1-3, 1-4 и т.д., а 1-2, 2-3 и т.д.. Без оптрона никак? Чтобы поключить все клавиши к пинам и замыкать их между собой? Как вообще эмулировать замыкание двух пинов при помощи ардуинки?

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Если предлагаете сделать столько же клавиш, сколько и было, то лучше буду ждать леонарду))

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

5! ? Увольте :)

nik182
Offline
Зарегистрирован: 04.05.2015

Я ж по русски написал. На каждое пересечение. И 1-4 и 2-5

 И на все остальные.

Почему же только оптрон. Можно реле поставить опять же на каждое пересечение, но у них размер больше 

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Ну, да, я вас понял, но если на каждое пересечение ставить, это ж сколько проводов-то получится...

Murik_bro666
Offline
Зарегистрирован: 26.06.2017

Короче говоря, можно ли сделать из ардуино умную кнопку?

nik182
Offline
Зарегистрирован: 04.05.2015

А вот это да. Для ардуины тоже есть способы работать с матричной клавиатурой, только на прямую, без посредников. Она может выдавать сразу необходимое даже без клавы если ей в программе написать что и когда выдавать. 

sadman41
Offline
Зарегистрирован: 19.10.2016

Из ардуины можно не только умную кнопку, но и безумную машинистку сотворить.

ratman
Offline
Зарегистрирован: 11.10.2015