Офтоп
Mayya Gavasheli

Как подключить телеграфный ключ к компьютеру через USB

Ведь у каждого из нас дома завалялся экземпляр 1950 года.

Фото Nomblr

Пользователь Imgur под ником Nomblr опубликовала инструкцию по подключению телеграфного ключа 1950 года к компьютеру. По задумке, он должен работать как обычная USB-клавиатура. Код, вводимый на аппарате, будет выводиться на монитор на английском языке. Сейчас аппарат поддерживает строчные буквы алфавита и цифры от 0 до 9.

По словам Nomblr, аппарат был очень пыльным и крепился на «отвратительную пластмассовую основу». Она всё разобрала, отодрала пластик и тщательно почистила машинку. При чистке использовались влажные салфетки. Nobmlr также отшлифовала два металлических контакта чтобы улучшить проводимость и убрать накопившуюся грязь.

Следующим шагом стало превращение механизма в современное устройство. Для этого Nomblr использовала дешёвый микроконтроллер Teensy 3.2. У устройства есть 28 контактов, каждый из которых может быть запрограммирован как на ввод, так и на вывод. Пользователь соединила седьмую ножку контроллера, сконфигурированную как input, к одному полюсу ключа, а контакт заземления — к другому.

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

Nomblr

По словам пользователя, механические ключи не обеспечивают идеальный контакт. Они колеблются между «разомкнут» и «сомкнут» несколько раз примерно за миллисекунду перед тем, как прийти в состояние «сомкнут». Этот процесс называется «дребезг контактов», и микропроцессоры достаточно быстрые чтобы среагировать на него, но у Teensy есть встроенные функции, которые могут это компенсировать

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

Для определения отличия точки от тире использовался порог в 150 миллисекунд, а паузы между буквами и словами установили на 500 и 3000. Показатели могут меняться в зависимости от скорости оператора.

После программирования Teensy Nomblr приступила к созданию деревянной основы, в которую можно было бы спрятать провода.

Я бы сказала, что использовала дерево чисто из эстетических причин, но на самом деле мои попытки напечатать основу на 3D-принтере ничтожнейшим образом провалились, так что мне пришлось использовать кусок дерева шириной 130 миллиметров и высотой 20 миллиметров.

Для изготовления основы она спилила дощечку до формата 110х90 миллиметров, чтобы прикрепить аппарат сверху. Для того, чтобы поместить Teensy и провода, Nomblr вырезала на днище отверстия размером 50х40х10 миллиметров.

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

Вот что получилось:

#офтоп