
Часто электронный аналог какого-либо механизма бывает изготовить проще, чем сам этот механизм. Относится сказанное и к виброплексу - полуавтоматическому телеграфному ключу. Вот и автор Arduino Project Hub под ником возне с пружинами, маятниками предпочёл изготовление несложной схемы. Документацию он выложил под лицензией GPL версии 3 или больше по вашему выбору.
Конечно, он не первый. Электронные аналоги виброплекса изготавливали и до него - на транзисторах, логических микросхемах, других микроконтроллерах, так что применение для этого Arduino - логичный следующий шаг (хотя и в этом мастер вряд ли первый). Далее показана схема устройства:
Подтягивающие резисторы не требуются, так как программно включены встроенные. Скетч выложен сюда. При его составлении мастер руководствовался следующими источниками:
1. http://www.morsex.com/pubs/iambicmyth.pdf
2. https://en.wikipedia.org/wiki/Vibroplex
3. http://www.eng.utah.edu/~cs5780/debouncing.pdf
4. http://www.kent-engineers.com/codespeed.htm
Из [3] (автор Jack G Ganssle) мастер взял фрагмент, отвечающий за подавление дребезга контактов.
Замкнув вывод A0, A1 или A2 на общий провод, можно выбрать один из трёх наборов длительностей точек, тире и пауз. Способ их расчёта в зависимости от желаемой скорости работы на ключе приведён в [4].
Перед нажатием кнопки "точка" следует отпустить кнопку "тире", иначе реакции на нажатие не будет. Если же, наоборот, нажать "тире", не отпуская "точку", это приведёт к паузе в передаче точек, после чего она продолжится.
В текущем виде скетч выводит тоновый сигнал. Пока вы тренируетесь, это и требуется. Но если все тренировки и экзамены позади, и вы решили просто перейти от обычного ключа к полуавтоматическому, т.е., требуется управлять релейным модулем, контакты которого подключены к трансиверу вместо ключа, код придётся переделать.
Конечно, в этом случае необходимо поместить самоделку в корпус и применить более долговечные кнопки. Или даже простейшую самодельную "качалку", имитирующую механический виброплекс. Но тогда вы не сможете применять описанный выше приём с одновременным нажатием кнопок.
Источник (Source)