Офтоп
Mayya Gavasheli
3888

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

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

В закладки
Фото Nomblr

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

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

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

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

Nomblr
пользователь Igmur

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

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

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

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

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

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

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

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

{ "author_name": "Mayya Gavasheli", "author_type": "self", "tags": ["\u043e\u0444\u0442\u043e\u043f"], "comments": 17, "likes": 29, "favorites": 5, "is_advertisement": false, "subsite_label": "flood", "id": 60095, "is_wide": false, "is_ugc": true, "date": "Mon, 02 Oct 2017 14:47:00 +0300", "is_special": false }
Комментарии

Дурной микроскоп

4

Она замужем?

Непосредственный рак

8

Она отодрала пластик и тщательно почистила машинку.

звучит как середина одного фильма

Грузовой вентилятор

4

Этот процесс называется «вибрация»

Этот процесс называется «дребезг контактов» и алгоритмов по борьбе с ним в публичном доступе уйма для любых микроконтроллеров, как, впрочем, и более рациональных схем подключения телеграфного ключа к компьютеру. Внимание к этому «велосипеду» начального уровня (хоть и ничо вышло) приковано лишь потому, что создал его не очередной бородатый паяла-радиолюбитель, а барышня с ноготочками :)

Офтоп
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽
Обсуждаемое
Путешествия
Я нашел лодки из клипа Аллы Борисовны 1978 года
Это короткая заметка о том, как ради клипа «Сонет Шекспира» я отправился в путешествие в другой город.
Наука
Инженер NASA рассказал об идее двигателя, который позволит «обойти законы физики» и разогнаться до 99% скорости света
Даже если это сработает, скорость разгона будет очень медленной.
Путешествия
Как я получила визу в США со второй попытки
Делюсь опытом и не развеиваю миф о том, что русской незамужней девушке иммиграционного возраста сложно получить туристическую визу в штаты.
Популярное за три дня
Кино и сериалы
THR: Квентин Тарантино не станет создавать отдельную версию «Однажды... в Голливуде» для Китая
Принципиальный.
Интернет и мемы
F
Технологии
«Умные» чётки от Ватикана взломали за 15 минут
Вера не помогла.

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovy", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbk", "p2": "gnwc" } } } ]