Использование старой клавиатуры ноутбука с Raspberry Pi

10

У меня есть старая клавиатура ноутбука, как показано ниже: старая клавиатура ноутбука

Он имеет 24-проводной плоский кабель, выходящий из задней части. Возможно ли использовать это как клавиатуру для Pi (я полагаю, с некоторым микроконтроллером между ними)?

Якоб Вайсблат
источник
1
Я не знаю, для чего конкретно, но я знаю, что можно модифицировать некоторые сенсорные панели ноутбука для работы с обычными PS / 2 без каких-либо активных дополнительных схем.
Gunnish
1
grynx.com/projects/converted-laptop-keyboard может вас заинтересовать.
Лорд Ло.
1
Возможно, возможно, но если вам нужно спросить, скорее всего, у вас нет навыков, чтобы сделать это. Я бы предложил дешевую USB-клавиатуру.
Турбьёрн Равн Андерсен
farnell.com/datasheets/79209.pdf проверьте это, вы можете получить их от 2 $
Корнелиус Смит

Ответы:

11

Нет простого или простого способа добиться того, что вы просите. Самый простой ответ - просто проигнорируйте эту клавиатуру и получите USB.

Тем не менее, если вы действительно хотите это сделать, это работа сделай сам. Ваше решение будет индивидуальным для этой клавиатуры и может быть легко адаптировано для использования с клавиатурами других производителей.

Разъемы клавиатуры ноутбука не являются стандартными. Они различаются у разных производителей. Как правило, им также не хватает какой-либо электроники для обработки нажатий клавиш и преобразования их в более простые сообщения данных, например коды клавиш или коды кнопок и т. Д.

Поэтому сначала вам нужно выяснить, что происходит при каждом нажатии клавиши, т.е. какие электрические сигналы активируются (замыкаются вместе).

Тогда у вас есть два варианта, оба очень хитрые:

Вариант 1 - Очень продвинутый:

Вам необходимо создать электронный интерфейс, который будет подключаться между клавиатурой и портом USB на Pi. Ему нужен микроконтроллер для эмуляции клавиатуры USB, когда он подключен к порту USB, и вам нужно будет написать программное обеспечение для сопоставления сигналов нажатия клавиш с нажатиями клавиатуры USB. Микроконтроллер должен делать всю работу. Возможно, вы захотите прочитать этот связанный вопрос: Могу ли я сделать полноценную клавиатуру USB с Makey Makey + Raspberry Pi

Вариант 2 - Безумно продвинутый:

Raspberry Pi имеет разъем с 17 контактами GPIO (вход-выход общего назначения). Вам необходимо спроектировать схему, чтобы уменьшить 24 линии клавиатуры и соединить их с выводами GPIO. Тогда вам нужен специальный драйвер клавиатуры для операционной системы Pi.

Подсказка:

Некоторые из 24 соединительных линий будут входами, а другие выходами. Каждый раз, когда нажимается клавиша, некоторые из входов соединяются с некоторыми из выходов. Некоторые из линий могут быть неиспользованными. Потребуются терпение и проверка непрерывности, чтобы понять, что именно происходит. Также подумайте о поиске чипов клавиатуры. Вот пример: http://www.ti.com/product/tca8418e Эти чипы выполняют сложную работу по кодированию.

Василис Папаниколау
источник
В принципе, это, вероятно, невозможно ... = P
daviewales
2

Извините, что отвечаю на такую ​​старую ветку, но вы можете добиться этого с помощью старого контроллера клавиатуры USB.

Я еще не пробовал, но считаю, что это возможно. Просто совместите разъемы на ленточном кабеле с разъемами контроллера клавиатуры и удерживайте его на месте с помощью колпачка (убедитесь, что он имеет такое же количество разъемов, как это обычно бывает). Если ленточный кабель слишком маленький, приобретите адаптер.

Эмиль
источник
2

У меня есть несколько клавиатур для ноутбуков, и я действительно хочу их использовать ... Итак, я вижу, что те, у кого 24 провода, - это клавиатуры без цифровой клавиатуры, в то время как клавиатуры с цифровой клавиатурой имеют 26 проводов.

Я сломал одну сломанную клавиатуру, чтобы посмотреть, как она сделана. Из того, что я видел, есть два листа фольги с дорожками и точками соединения / кнопки, разделенными одной фольгой в качестве разделителя. Каждый провод назначается нескольким кнопкам на одном листе и соединяется со вторым листом и другим проводом. Я проверил количество доступных комбинаций https://www.hackmath.net/en/calculator/combination-and-permutations?n=24&k=2&order=0&repeat=0 похоже, у нас есть 276 возможных комбинаций.

Поскольку клавиатур много и они имеют разные комбинации, лучший способ - создать небольшую программу, которая попросит вас нажать определенную кнопку и записать, какая комбинация проводов и проводов связана с этой кнопкой.

Поскольку Rpi имеет только 17GPIO, как упомянул Вассилис, это будет трудно сделать, потому что вам нужно что-то промежуточное, но есть Arduino (Mega = 54 IO), и это может помочь, по крайней мере, декодировать комбинацию кнопок / проводных пар. Мне нужно посмотреть на платах ноутбуков, какие микросхемы используются в качестве контроллера, чтобы увидеть, можем ли мы его использовать, программируемы ли они и т. Д.

Во всяком случае, это возможно и, вероятно, не так сложно, но, конечно, нормальные люди просто купят USB-клавиатуру.

käik
источник
1

Некоторые клавиатуры могут иметь какой-то контроллер. Если у них нет контроллера, то все ключи соединены в матрицу ключей. Нажатие клавиши соединит один столбец и один ряд вместе. Большинство контроллеров просматривают столбцы и смотрят, какие строки идут высоко, чтобы определить, какие клавиши нажаты. Одна вещь, которую вы можете попробовать, это получить Teensy Arduino и запрограммировать его с помощью прошивки клавиатуры USB. Вы должны выяснить, как все ключи подключены, хотя. Teensy может преобразовать его в USB для подключения к Pi. Для этого требуется много технических навыков, это не для слабонервных.

JamesH
источник
По внешнему виду гибкого кабеля я уверен, что это ключевая матрица.
Дмитрий Григорьев
1

Я использовал Teensy ++ 2.0 в качестве контроллера клавиатуры для Sony Vaio, которую я преобразовал в ноутбук Raspberry Pi . Для определения матрицы ключей использовался омметр, и был написан код Teensyduino для сканирования матрицы и отправки кодов ключей через USB. Teensy также управляет сенсорной панелью через PS / 2 и отправляет результаты через тот же USB-кабель. Использование омметра для определения того, какие сигналы на кабеле клавиатуры подключены, занимает очень много времени и подвержено ошибкам (вам нужны 3 руки, хорошие глаза и много времени). Чтобы людям было проще использовать клавиатуру ноутбука, я написал учебникв котором описывается пошаговый процесс построения контроллера клавиатуры с использованием Teensy LC или 3.2. В Teensy сначала загружается процедура, которая сообщает, какие контакты подключены при нажатии клавиши. Исходя из этого, вы можете создать таблицу ключевых матриц, которую можно добавить в новую подпрограмму Teensy, которая будет выполнять роль USB-контроллера клавиатуры. С помощью этого метода я преобразовал более десятка клавиатур ноутбуков в USB. Вам нужно будет отправить файл моей платы Eagle в OSH Park, чтобы изготовить печатную плату. На плате предусмотрены контактные площадки для пайки разъема клавиатуры, который направляется на микроконтроллер Teensy. Этот проект определенно более продвинутый, чем ваш основной проект Arduino «включай и работай», но он того стоит, если вы хотите переоснастить старый ноутбук с Pi и сохранить оригинальную клавиатуру и тачпад.

Фрэнк Адамс
источник
Если я правильно помню, Teensy стоит около 20 долларов, поэтому, если OP действительно не заинтересован в клавиатуре больше, чем в RPi, покупка новой клавиатуры сэкономит и время, и деньги.
Дмитрий Григорьев