Вход

Просмотр полной версии : Подключение клавиатуры от ПК Специалист



CityAceE
19.04.2020, 12:21
На сайте vinxru (http://alemorf.ru/comps/specialist_lin/index.html) написано следующее:



В Специалисте же защитных диодов нет, а матрица кнопок подключена к параллельному порту КР580ВВ55А, который программно может изменять режим: вход/выход. BIOS компьютера при сканировании клавиатуры сначала подаёт "0" на все ряды, считывая колонки. А затем подает "0" на все колонки, считывая ряды. Так как микросхема на все выходы подаёт "0", то и замыкание ей не страшно. Строки и ряды матрицы подтянуты резисторами к питанию и при считывании все не нажатые клавиши считываются как "1". Всего за два обращения к клавиатуре драйвер клавиатуры определяет нажатую клавишу.


Я хочу подключить аппаратную клавиатуру Cпециалиста (а точнее ПК "ЛИК") к GPIO Raspberry Pi. Так вот возникает вопрос: нужны ли там диоды или нет? Можно ли будет без диодов отслеживать нажатие клавиш точно так же, как реальном Специалисте? Например, для спектрумовской клавиатуры для корректной работы диоды нужны (https://zx-pk.ru/threads/28154-zxbaremulator.html?p=1052605&viewfull=1#post1052605).

Serg6845
19.04.2020, 15:15
На сайте vinxru (http://alemorf.ru/comps/specialist_lin/index.html) написано следующее:



Я хочу подключить аппаратную клавиатуру Cпециалиста (а точнее ПК "ЛИК") к GPIO Raspberry Pi. Так вот возникает вопрос: нужны ли там диоды или нет? Можно ли будет без диодов отслеживать нажатие клавиш точно так же, как реальном Специалисте? Например, для спектрумовской клавиатуры для корректной работы диоды нужны (https://zx-pk.ru/threads/28154-zxbaremulator.html?p=1052605&viewfull=1#post1052605).

если все GPIO можно настроить на ввод и вывод - то можно как в Специалисте, без диодов. в Спектруме диоды нужны потому что без них при нажатии нескольких кнопок будет замыкание линий адреса между собой.

CityAceE
19.04.2020, 16:09
Я в общем-то так и подумал, но на всякий случай решил уточнить.

CityAceE
25.04.2020, 13:39
В общем, дошло дело до подключения.

Исходный набор:
1. Клавиатура от ПК "Лик" (https://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BA_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C %D1%8E%D1%82%D0%B5%D1%80)), являющаяся стандартной клавиатурой ПК Специалист.
2. Raspberry Pi B+
3. 40 жильный кабель IDE

https://pic.maxiol.com/images2/1587810961.90460257.lik.jpg


Напоминаю, что у разъёма IDE-кабеля один контакт используется как ключ и он заглушен. В итоге, чтобы этот разъём подключить Rapsberry Pi, будет необходимо расковырять там дыру, и не смотря на то, что там есть проводник, лучше этот контакт не использовать. В зависимости от того, какой стороной этот разъём будет подключен к микрокомпьютеру, данный контакт будет приходится либо на 20, либо на 21 контакт разъёма Raspberry Pi.

Задача состоит в том, чтобы соединить всё воедино, и чтобы программно можно было опрашивать каждую нажатую клавишу по алгоритму, заложенному в системный монитор по схемотехнику ПК "Специалист":

https://pic.maxiol.com/images2/1587811159.90460257.keyboard.png


Распиновка Raspbery Pi выглядит так (можно использовать оранжевые контакты):

https://nemcd.com/wp-content/uploads/2018/11/raspberry-2-3-pinout.png

Я погуглил как подключаются кнопки к Raspberry Pi и вот, что рекомендуют:

https://ph0en1x.net/uploads/Image/news/raspberry-pi/raspberry-pi-switch-key-right-and-wrong-connection.gif

Причём в некоторых статьях приводится и упрощённый вариант (как на перечеркнутой схеме), то есть он тоже вполне работоспособен, хотя и несёт угрозу сжечь Raspberry Pi при неправильной инициализации GPIO.

Таким образом для того, чтобы подключить клавиатуру Специалиста нужно сделать так, чтобы нажатая кнопка замыкала выбранный контакт GPIO на землю. Однако, давайте посмотрим, как подключают родную клавиатуру ZX Spectrum к "Малинке":



https://pic.maxiol.com/images2/1587812296.90460257.zx1.png

https://pic.maxiol.com/images2/1587812375.90460257.zx2.png

https://pic.maxiol.com/images2/1587812444.90460257.zx3.png

https://pic.maxiol.com/images2/1587812512.90460257.zx4.png


Согласно схеме такого подключения, нажатые кнопки просто соединяют между собой соответствующие контакты GPIO. Так может и на Специалсте нужно их просто замыкать между собой, а не на землю?

И вот я запутался. Как же всё-таки правильно подключить клавиатуру к Rapsberry Pi так, чтобы всё работало в точности как на Специалисте, и при этом было безопасно для микрокомпьютера?

fifan
25.04.2020, 16:30
Мне кажется, что может также по предложенному способу для ZX. Также необходимо использовать диоды. Применимо к Специалисту: KB1 в количестве 6 линий и KB2 в количестве 12 линий. Выше на рисунках ещё есть красная кнопка, там она подписана как функциональная. В Специалисте тоже можно добавить на оставшиеся линии функционал, например такие как в Специалисте ПЛИС (http://www.spetsialist-mx.ru/index34.html): скорость норма/турбо, тест вкл/выкл, рус/lat, ну и конечно же сброс.

CityAceE
25.04.2020, 17:48
Также необходимо использовать диоды.
Но если ориентироваться исключительно на Специалист и судить по схеме, а также взять во внимание цитату vinxru (см. выше) диоды не нужны.


добавить на оставшиеся линии функционал
Это уже потом, если до этого вообще дойдет дело.


конечно же сброс
Сброс да, он на клавиатуре Лика присутствует - красная "кнопка" над курсорными.

Кстати, а нет же эмулятора Специалиста, который можно было бы полноценно запустить на Raspberry Pi и прикрутить к нему реальную клавиатуру? Или я чего-то не знаю? Вот Спектруму, в силу его популярности, в этом плане больше повезло...

fifan
25.04.2020, 18:18
Но если ориентироваться исключительно на Специалист и судить по схеме, а также взять во внимание цитату vinxru (см. выше) диоды не нужны.
Мы к чему собираемся подключать клавиатуру? Если к Raspbery Pi, то диоды нужны. В классическом Специалисте кнопки подключались через ВВ55, там всю защиту на себя брала она.


Кстати, а нет же эмулятора Специалиста, который можно было бы полноценно запустить на Raspberry Pi и прикрутить к нему реальную клавиатуру? Или я чего-то не знаю? Вот Спектруму, в силу его популярности, в этом плане больше повезло...
Не было только на плисине или PS/2 клаву.

Serg6845
25.04.2020, 22:23
В общем, дошло дело до подключения.
Задача состоит в том, чтобы соединить всё воедино, и чтобы программно можно было опрашивать каждую нажатую клавишу по алгоритму, заложенному в системный монитор по схемотехнику ПК "Специалист":

Я погуглил как подключаются кнопки к Raspberry Pi и вот, что рекомендуют:

https://ph0en1x.net/uploads/Image/news/raspberry-pi/raspberry-pi-switch-key-right-and-wrong-connection.gif

Причём в некоторых статьях приводится и упрощённый вариант (как на перечеркнутой схеме), то есть он тоже вполне работоспособен, хотя и несёт угрозу сжечь Raspberry Pi при неправильной инициализации GPIO.


это работает для одиночных кнопок, не для матричной клавиатуры.


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


это нереально для матричной клавиатуры. в ней земли как бы нет совсем.


Однако, давайте посмотрим, как подключают родную клавиатуру ZX Spectrum к "Малинке":



https://pic.maxiol.com/images2/1587812296.90460257.zx1.png

https://pic.maxiol.com/images2/1587812375.90460257.zx2.png

https://pic.maxiol.com/images2/1587812444.90460257.zx3.png

https://pic.maxiol.com/images2/1587812512.90460257.zx4.png


Согласно схеме такого подключения, нажатые кнопки просто соединяют между собой соответствующие контакты GPIO. Так может и на Специалсте нужно их просто замыкать между собой, а не на землю?


именно так.


И вот я запутался. Как же всё-таки правильно подключить клавиатуру к Rapsberry Pi так, чтобы всё работало в точности как на Специалисте, и при этом было безопасно для микрокомпьютера?

чтобы всё работало в точности как на Специалисте - подключать тоже надо точно так же как на Специалисте. для подстраховки добавить по всем линиям аналоги R2 на "правильной" схеме. а остальное должна делать программа.
насчет диодов - если использовать опрос клавиатры а ля Спектрум (GPIO рядов - входы, GPIO колонок - выходы, опрос сканированием) - диоды нужны (но это не "как в Специалисте"). если делать а ля Специалист (все GPIO по ходу дела программируются как вход или как выход) - диоды не нужны, мало того - с ними работать не будет. у каждого способа есть плюсы и минусы.

Vladimir_S
23.06.2021, 11:13
Задарили клавиатуру, вроде как от "Специалиста". Подскажите к какому подходит?

Pluto
23.06.2021, 11:46
К любому должна подойти.
Я ко всем своим подключал стандартную: Экспрессу, Линевскому, Эрику..

- - - Добавлено - - -

Я с такой клавы начинал.

https://i.ibb.co/frFzvb7/A8-BB9-A20-45-E7-4-D49-8499-F2-BC60-F97-D7-C.jpg (https://ibb.co/ygPcSDJ)

Она мне досталась с полудохлой платой Экспресса "из раньшего времени" :)

CityAceE
18.09.2023, 15:26
Дошло, наконец, дело до подключения клавиатуры. Подскажите, пожалуйста, какую марку диодов покупать в "Чип и Дип"?

Serg6845
18.09.2023, 20:18
Дошло, наконец, дело до подключения клавиатуры. Подскажите, пожалуйста, какую марку диодов покупать в "Чип и Дип"?

подключение клавиатуры к чему? в оригинале там диодов нет...
я так понял к raspberry pi. тогда наверно универсальный вариант - 1n4148
или например 1n5817 - на нем прямое падение напряжения поменьше, может оказаться актуальным для 3В GPIO

CityAceE
19.09.2023, 11:40
например 1n5817
Спасибо. Заказал 20 штук таких. Буду экспериментировать.

CityAceE
29.10.2023, 20:35
Ставлю точку в вопросе, заданном мной первом сообщении этой темы: диоды не нужны, всё работает корректно и без диодов.