Доброго времени суток, господа!
Хочу представить небольшую разработочку, а именно USB адаптер для подключения реальной клавиатуры от ZX к PC, то есть проще говоря, для использования клавиатуры от Спектрума на PC/Android в эмуляторах. Проверил в нескольких эмулях – работает, правда в UnrealSpeccy на Android ощущается приличный инпутлаг, но это похоже проблема самого эмулятора. В общем если что – будем дорабатывать по ходу.
Построено всё на основе “народного” МК STM32F103C8T6, а именно на основе платы BluePill.
На схеме показано полное устройство, но при использовании платы BluePill достаточно припаять 5 резисторов, стабилитроны (необязательно, но желательно, спасают наш МК от статики и прочих неприятностей) и собственно клавиатуру.
Подключить можно как оригинальную клавиатуру (от той же Дельты-С), так и самодельный набор из современных свитчей для механической клавиатуры. Верхние 40 клавиш – это стандартная матрица спека (линии B0-B7), дополнительные (B8-B11) – это клавиши расширенной клавиатуры, которые можно использовать в случае самодельной механической клавиатуры, они выполняют равносильные действия, что и комбинации CS+1, CS+2 и т.д. Так сделано для простоты исполнения, что бы не пришлось городить огород с одновременным нажатием двух клавиш одной. Если у Вас расширенная клавиатура (как например от Дельты-С), то все расширенные клавиши будут работать штатно. Собственно всё ради них и затевалось…
Прошивается МК как обычно при помощи ST-Link, ну или же при помощи USB-UART адаптера и соответствующих манипуляций (программа Demonstrator и пакета от ST). После прошивки устройство должно определиться на USB как клавиатура, индикатор на ноге PC13 показывает нажатие любой клавиши.
В адаптере имеется 5 режимов раскладки (проще переключить раскладку, чем настраивать каждый эмулятор), режимы переключаются удержанием клавиш 1-5 при подключении к USB, последний выбранный режим запоминается и сохраняется.
Схема
schematic.zip
Прошивка
firmware.zip
Исходник (проект для STM32CubeIDE) здесь https://disk.yandex.ru/d/Wkm6GiLBLbiZ3Q
Несколько фоток
![]()




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

