女程序员的键盘,你一定没见过!

不得不佩服女程序猿的想象力,她们的打字方式你永远也猜不到!

前方预警:这是外国女程序员的神奇创作——莫尔斯 USB 键盘

以下为文章翻译: 

打从记事以来,我就生活在设计精美的模拟设备的环境中,比如旋转式拨号电话,打字机和唱片机。我一直有把这些大部分现在不常用的东西转换成数字设备的想法,而这其中,老爸的旧莫尔斯电键看起来像是一个简单的项目~

莫尔斯电码是一种将国际公认的字母表(a-z)和数字(0-9)字母表示为一系列点和破折号的方式。在一战和二战期间,它变成了一个十分方便发送加密的信息的方式。传统的莫尔斯电键就像一个开关,联通和断开电路连接就能通过无线电波传播这些点和点的音长。

女程序员的键盘,你一定没见过!_第1张图片

所以我就想到当插入任何笔记本电脑或 PC 的 USB 3.0 端口时,莫尔斯键的行为就像一个键盘; 用户可以用莫尔斯电码键入信息,并在屏幕上出现相应的英文字母数字字符。这个项目的代码我 po 到了 Github 上,有心人都可以去尝试一下~(https://github.com/nomblr/morse/)
莫尔斯电键积了很多灰尘,而且装在一个很丑的塑料基地上,因此我准备把所有东西都拆开,把莫尔斯电键清洁干净!

女程序员的键盘,你一定没见过!_第2张图片

在湿纸巾的帮助下,这项工作完成的很出色。并且我还仔细打磨了两个金属触点(“ 开关 ”),改善电路连接的情况并去除一些沉积的脏东西。

女程序员的键盘,你一定没见过!_第3张图片

接下来就是将电键转换为数字设备。为了实现这一点,我使用一个小巧,便宜的微型控制器——Teensy 3.2。

女程序员的键盘,你一定没见过!_第4张图片

这是我第一次尝试做这种事,你可以想象当我点亮并且成功运行的时候,我的内心是多么喜悦~
为了确保 Teensy 正确按照预期“ 翻译 ”莫尔斯密码,我为 Teensy 写了一些测试代码。因此每当按下莫尔斯电键一次,我就会看到电脑端有字符输出。然而很快我就遇到了一个问题:机械开关按下时不能形成完美的物理接触 (通常在“ 通路 ”和“ 断路 ”之间摆动几次,持续约 1ms,然后稳定到“ 通路 ”状态)。计算机能够快速检测到这些振荡,所以当我按下我的莫尔斯电键时,Teensy 检测到照片中显示的几个快速按键。这种效应称为“ 反弹 ”,幸好内置的 Teensy 库能够补偿它。

Teensy 编程完后,我准备制作一个隐藏莫尔斯电键下方的电子设备的木质底座。为啥选木材而不是 3D 打印呢?其实不是美观不美观的问题,而是因为用 3D 打印出来的底座都适配失败了。。

女程序员的键盘,你一定没见过!_第5张图片

我把木板锯成 110x90mm,这样莫尔斯电键可以很恰当地放在上面。在下方我凿出了一个尺寸约为 50x40x10mm 的凹痕,用于放置微控制器 Teensy 和布线。

女程序员的键盘,你一定没见过!_第6张图片

这可能不是做得最好的凿洞,但是我第一次尝试这种操作就成了~
我在底座上钻了两个孔,用于连接 Teensy 到莫尔斯电键的电线,顶部有四个较小的导向孔,用来把莫尔斯电键旋进底座。

女程序员的键盘,你一定没见过!_第7张图片

最后我打磨了一下新的键盘,并将其连接到我的笔记本电脑上~

女程序员的键盘,你一定没见过!_第8张图片

很高兴看到最终完成的莫尔斯键盘应用在笔记本电脑上~

女程序员的键盘,你一定没见过!_第9张图片

*为了 Teensy 能够成功检测到每次点击莫尔斯电键的不同,来区分点、破折号、字母和单词之间的停顿。我在绝对时间的基础上结合自己的键控速度。用 150ms 的阈值来区分短划线,并且字母和单词之间的时间间隔被设置为 500ms 和 3000ms。当然,每个人的习惯都不一样,这个就要自己把握了~


你有没有什么创造的好玩儿的东西,欢迎和我们一起分享呦^_^ ~~

公众号内回复“1”带你进粉丝群!

女程序员的键盘,你一定没见过!_第10张图片

你可能感兴趣的:(女程序员的键盘,你一定没见过!)