Unicode 二进制输入终端
Unicode Binary Input Terminal

原始链接: https://hackaday.io/project/192644-unicode-binary-input-terminal

受老式大型机和飞机控制台的触觉体验启发,作者开始为Hackaday奇特输入竞赛打造一款独特的8位物理输入设备。面对26天的紧迫期限和全职工作,该项目从一个简单的十六进制输入面板演变为一个能够通过USB发送*任何*字符的设备。 广泛的原型设计包括草图绘制、用“空气开关”白日做梦以及无数的布局迭代。核心设计最终确定为8个带LED指示灯的拨动开关,具有“移位”和“发送”功能,以及“清除”功能。一个关键的突破是将一个小液晶屏幕融入其中,以预览输入,从而超越了不太直观的LED或七段显示器。 使用纸板模型进行的人体工学测试,促成了进一步的改进,包括“移位锁定”和用于清除输入次要操作。最终设计在视觉上让人联想到经典大型机,旨在提供一种令人满意且独特的方式来与计算机交互,利用Unicode本身的复古美学。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Unicode 二进制输入终端 (hackaday.io) 7 分,来自 speckx 2 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

Piles of switches from my drawers on a plain background

I'm a big fan of toggle switches and tactile human-machine interfaces: think swathes of switches on the control panel of an old mainframe, or the cockpit of an airliner. For years the vague idea of a binary data input panel has been kicking around my head, driving the occasional purchase of satisfying looking switches, but it never made it past the pragmatist that guards my ever-growing list of projects. Hackaday's Odd Inputs and Peculiar Peripherals contest in mid 2022 gave the perfect excuse to make something beautiful and tactile, without necessarily needing it to be any semblance of practical.

The only hitch was that I discovered this contest just 26 days before the deadline, and I have a full time job (not to mention a tendency to pursue very ambitious ideas). The clock was ticking to design, develop and build.

At the outset, the only loose idea I had was an 8-bit physical input device, ideally fitting onto a piece of 50mm flat bar and interfacing via USB. I believe the initial thought was about inputting hex literals, acting as a kind of programmer's keyboard, but that rapidly turned into "why not allow sending any possible character?".

Before diving into technical details, I sat down with a bank of imaginary air-switches and buttons (complete with sounds) to figure out what it should feel like to use this device and what it needed to do. Between day-dreaming and sketching in Inkscape, I went through numerous iterations on layout: more switches, multiple rows of LEDs to show the input buffer, different placement of key controls. Lots of stuff that didn't feel right. I wish I'd captured some work in progress to show how much the idea grew during this stage - it certainly wasn't a single spark.

Eventually I settled on:

  • 8x bit toggles, each, with a status LED.
  • A "shift" action to left-shift by one byte (the bit toggles always control the least significant byte)
  • A "send" action to send the selected value to the host and clear the input buffer
  • A "clear" action to clear the input buffer without sending anything

The thing that bugged me was how to show an in-progress input to a user in a meaningful way. Rows of LEDs would be hard to understand at a glance. A 7-segment display would be readable, but seeing a hex value isn't very exciting. I'm not sure exactly when the idea to use an LCD screen with an actual preview arrived, but that was the moment the project shifted into its "all consuming drive to do the thing" phase.

With the size and layout roughed out, I stuck a print-out on some cardboard and attached real switches to get a feel for the spacing and the ergonomics of actually using the device:

Cardboard mock up of the front panel

Visually I was going for "mainframe front panel". It's a happy coincidence that Unicode, the organisation and standard that defines what "any possible character" even means, is delightfully retro sounding. It's something I could absolutely see emblazoned on a room-size computer from decades past.

This mock-up lived on my desk for a few days and got plenty of thought-provoking twiddling, thinking through how different interactions could work. This resulted in a little more refinement:

  • Added the concept of "shift lock" to keep shifted bytes across sends, toggled with a long-press of "shift"
  • Added a "mode" action to change between different input/display modes
  • Moved "clear" to a secondary action that requires a long press

With these changes and some extra labelling, the sketch of what I wanted to build was this:

Front panel mock-up vector graphic from Inkscape. A 200 millimetre wide piece of metal, with a black screw studded in each corner. A bold UNICODE word mark sits in the top left, next to a smaller label that says UTF-8 Standard Input Terminal. Ten switches span the width of the device in two banks: eight numbered toggles on the left labelled 'Data Input', each with an LED; on the right side, two multi-position, momentary switches labelled 'I/O' cover the clear, mode, shift and send operations. Between these banks sits a one inch screen showing a preview of an X like character and some metadata about it.
An SVG version of this is available in the Github repository.

The contents of the screen were rough at this stage, with little thought for resolution and software modes, but I was happy with the layout and needed to start the physical build.

This Hackaday competition happened to align with a weekend where I would have access to my Dad's drill press. Building this with hand tools should be possible given enough patience, but my attempt at doing...

Read more »
联系我们 contact @ memedata.com