麦斯科技 · 2023年02月25日 · 四川

把打字机变成Linux终端

https://habr.com/en/post/692488/

作者:Riley 2022年10月11日

大家好,几个月前我买了一台Brother AX-25,从那以后,我一直在努力将它变成电脑。它使用Arduino扫描定制的机械键盘并控制打字机,树莓派通过串行连接到Arduino,因此我可以在headless模式下登录。

图片

这段视频介绍了它的设计和组装。还有一个正在使用的打字机的测试,以及视频末尾的声音测试。

微信图片_20230225170535.png

视频链接:

B站:https://www.bilibili.com/video/BV1TM4y1o7Qv/

Youtube:https://www.youtube.com/watch?v=Pd6pa3Jko3w

灵感

高中时,我的一个朋友用Z80制作了一台电脑,用于学校项目。他把它放在公文包里的几个面包板上,我们后来决定把它放进一台旧打字机里。我们想制造我们自己的Commodore 64(https://en.wikipedia.org/wiki/Commodore_64)。我们拆除了一台旧的电子打字机,但从未抽出时间把电脑放进去。在过去的6年里,我的房间里一直放着那台打字机的外壳。

有一段时间,我想把打字机变成一个电脑平台。我计划在里面放一个屏幕,还有一个带大电池的树莓派。直到几年前,当我看到CuriousMarc关于他的电传打字机变成Linux终端的视频时(https://www.youtube.com/watch?v=2XLZ4Z8LpEE&t=659s),我的脑海里一直萦绕着这个想法。我想对打字机做同样的事,但我从来没有时间做,而且在任何旧货店都找不到打字机。大学毕业后,我终于有了足够的业余时间和知识,可以把打字机变成电脑,于是我去了一家旧货店,买了我能找到的第一台电子打字机。

功能

我可以使用各种Linux命令,通过处理树莓派输出的转义序列,它可以自动切换打字机的格式化功能。我也可以用打字机的键盘键入命令。

我还用它打印了一些ASCII图片,我认为结果看起来非常棒!

微信图片_20230225170544.png

视频链接:

B站:https://www.bilibili.com/video/BV1Ev4y1a7c4/

Youtube: https://www.youtube.com/watch?v=6669n1Uo2vs

逆向工程与设计

3f4eb48a326e76419f035dff7dc6209c.jpg

打字机的键盘连接器上连接有跳线

打字机的键盘以8x11矩阵连接,它使用两个连接器连接到打字机上,一个用于行,另一个用于列。当你按下其中一个键时,它会将一个行引脚连接到一个列引脚,然后由打字机检测。为了弄清楚每个按键对应的是哪一对针脚,我一次用手把每一对针脚连接起来,并记下打印的是哪个按键。反复这样做,直到绘制出整个矩阵。

fbc3f2fcde23d8d96a734d5d5fffe7e3.png

打字机使用7805线性调节器为其5V组件供电,我找到了一个未使用的5V焊盘和接地焊盘,我可以用它们为电路供电。我不得不在调节器上加一个散热片,以适应电路功耗的增加。

7b7562a81a3ce2469c97ae082473c772.png

我的设计原理图

与打字机接口

Arduino代码可以在我的GitHub存储库中找到,如果您想更详细地了解它!我的Arduino使用两个多路复用器控制打字机,一个连接到每个键盘连接器。多路复用器的信号引脚是连接的,因此它们可以用于将键盘连接器上的成对引脚连接在一起。为了发送一个键,Arduino在每个多路复用器上选择一个引脚来连接它们,这会诱使打字机以为已经按下了键。

1f8d86a2ff7b520c904d89ee947c944f.jpg

最后的电路全部接线,我不得不手动接线,因为我弄坏了我使用的表面安装多路复用器

Arduino通过串行连接到树莓派,树莓派在其UART引脚上启用了串行控制台。我选择在树莓派之外使用Arduino,因为我更熟悉它们,这使与树莓派的UART控制台的接口更容易。Arduino和树莓派以每秒120个字符的速度进行通信,但打字机每秒只能打12个字符。为了防止长消息被切断,我在代码中添加了串行流控制。这允许Arduino告诉树莓派何时开始和停止发送文本。树莓派正在运行树莓派OS Lite,因为我只需要访问终端。

扫描键盘

为了扫描键盘,我使用了基本相同的电路;两个多路复用器,一个用于行,另一个用于列。Arduino通过在每个多路复用器上选择一个通道,一次扫描一个键。当它检测到某个键被按下时,它会将该字符发送到树莓派,以便进行处理。

b0fcad9b02403761292a18cc92a469e4.JPG

键盘扫描电路的原型

c546c65a874a42e278b2ed78d6e932e4.jpeg

带有多路复用器的键盘的最终版本

我本可以在这个项目中使用打字机的原始键盘,但我决定用一个定制的机械键盘代替它,带有Matias Alps Clicky开关,打字时感觉很棒!

结论

通过把我的打字机变成电脑,我能够重现使用电传打字机的经历。现在我知道了在20世纪60年代开发Unix时使用它是什么感觉了!定制的机械键盘在打字时感觉很神奇,它比原来的糊状薄膜键盘有了巨大的升级。有了这些升级,我的打字机现在更强大了!

推荐阅读
关注数
5758
内容数
525
定期发布Arm相关软件信息,微信公众号 ArmSWDevs,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息