前方预警:这是外国女程序员的神奇创作——莫尔斯 USB 键盘
打从记事以来,我就生活在设计精美的模拟设备的环境中,比如旋转式拨号电话,打字机和唱片机。我一直有把这些大部分现在不常用的东西转换成数字设备的想法,而这其中,老爸的旧莫尔斯电键看起来像是一个简单的项目~
所以我就想到当插入任何笔记本电脑或 PC 的 USB 3.0 端口时,莫尔斯键的行为就像一个键盘; 用户可以用莫尔斯电码键入信息,并在屏幕上出现相应的英文字母数字字符。这个项目的代码我 po 到了 Github 上,有心人都可以去尝试一下~(https://github.com/nomblr/morse/)
莫尔斯电键积了很多灰尘,而且装在一个很丑的塑料基地上,因此我准备把所有东西都拆开,把莫尔斯电键清洁干净!
在湿纸巾的帮助下,这项工作完成的很出色。并且我还仔细打磨了两个金属触点(“ 开关 ”),改善电路连接的情况并去除一些沉积的脏东西。
接下来就是将电键转换为数字设备。为了实现这一点,我使用一个小巧,便宜的微型控制器——Teensy 3.2。
这是我第一次尝试做这种事,你可以想象当我点亮并且成功运行的时候,我的内心是多么喜悦~
为了确保 Teensy 正确按照预期“ 翻译 ”莫尔斯密码,我为 Teensy 写了一些测试代码。因此每当按下莫尔斯电键一次,我就会看到电脑端有字符输出。
然而很快我就遇到了一个问题:机械开关按下时不能形成完美的物理接触 (通常在“ 通路 ”和“ 断路 ”之间摆动几次,持续约 1ms,然后稳定到“ 通路 ”状态)。计算机能够快速检测到这些振荡,所以当我按下我的莫尔斯电键时,Teensy 检测到照片中显示的几个快速按键。这种效应称为“ 反弹 ”,幸好内置的 Teensy 库能够补偿它。
Teensy 编程完后,我准备制作一个隐藏莫尔斯电键下方的电子设备的木质底座。为啥选木材而不是 3D 打印呢?其实不是美观不美观的问题,而是因为用 3D 打印出来的底座都适配失败了。。
我把木板锯成 110x90mm,这样莫尔斯电键可以很恰当地放在上面。在下方我凿出了一个尺寸约为 50x40x10mm 的凹痕,用于放置微控制器 Teensy 和布线。
最后我打磨了一下新的键盘,并将其连接到我的笔记本电脑上~
很高兴看到最终完成的莫尔斯键盘应用在笔记本电脑上~
*为了 Teensy 能够成功检测到每次点击莫尔斯电键的不同,来区分点、破折号、字母和单词之间的停顿。我在绝对时间的基础上结合自己的键控速度。用 150ms 的阈值来区分短划线,并且字母和单词之间的时间间隔被设置为 500ms 和 3000ms。当然,每个人的习惯都不一样,这个就要自己把握了~
你有没有什么创造的好玩儿的东西,欢迎和我们一起分享呦^_^ ~~这里是igeekbar,欢迎每一位Geek 常来做客~~~大家有啥建议、意见,不要客气!欢迎给我留言呀~~