星期六晚上 8 点 30 分,也就是我们 DC 黑客马拉松第一天的 12 小时后,我严重缺乏睡眠。做这个东西让我一直睡到 11 点。这太棒了,因为它没有其他尘世目的!
此外,其中一位参与者认为我无法完成它,所以他说如果我能在晚上结束前用它写下他的名字,他会创建一个 Twitter 帐户来发布它。(他后来试图给我一个小时的时间限制。我接近 - 70 分钟 - 尽管我认为事后施加限制是不合法的!)
所以这是给你的,丹尼尔。
为什么是二进制? 因为你一方面得到 31 个数字,这刚好够字母表和一些必需品。因为它可以帮助我更直观地了解二进制计数。因为如果你喜欢代码和东西(比如经典的 ROT13),了解哪个字母的编号是有用的。
为什么是青少年? 该板可以用作 USB 键盘——我根据超级简单的教程构建了它。而且,顾名思义,它很小。
而且……只是……为什么?很长一段时间以来,我一直想建造这样的东西,这样我就可以用一只手写下一些关于我梦想的笔记,而无需完全醒来。此外,作为一种个人电子环境的一部分。另外,仅仅因为我喜欢制作键盘......
那个非常难用,因为我只是劫持了现有 USB 键盘的电路,它没有给字母直观的组合键。
但是......这个项目实际上只是使用一些小按钮和触觉马达的借口,因为这是我们最后一个硬件周末,我们有数百万个!
所以,我在面包板上贴了一些按钮,握起来很舒服……
接下来,代码……我需要弄清楚如何为按钮计时,这样我就可以确保同时读取所有按钮。
起初,我打算制作一棵“如果/和如果/其他......”树,但它会非常庞大!
取而代之的是,我添加了一个触觉马达来指示它何时会读取。
该代码在 1 秒循环中,因此您每秒最多可以发送 1 个字符。当然,随着您的进步,您可以走得更快。
这是细分:
编码的灵感来自 Adam John Williams 在 MTF '14 上打造的这款超棒的触觉节拍控制器。基本上,您可以用二进制计算手指,每只手有 31 种可能的选择。那是 26 个字母 + 5 个字符。
二进制手指计数
因此,每个手指都是 1 或 0。
如果拇指被推,则加 1。
索引 = 10,中间 = 100,环 = 1000,小指 = 10000。
如果按下任何按钮,将结果数字发送到屏幕。
如果没有按下任何按钮,则不要打印任何东西!!!在我的测试不断编辑自己的草图后,我学到了这一课——我会在 Arduino IDE 中单击“上传”,然后键盘将重新启动并开始在我打开的草图本身中打印 0。哦。此外,当您停止输入时,您不会看到大行的 0。
上传代码
确保使用Teensyduino setup ,并在Tools > USB Type下选择“Keyboard + Mouse + Joystick” 。
现在,我不得不将所有东西连接起来并焊接在一起。免责声明:这东西的物理构造非常糟糕。
这是一个巨大的痛苦,因为我选择了一种非常耐热的普通地线(可能是因为它太厚了)并且不会很好地焊接。这是一根绞合线,我将它沿着面包板的中心凹槽向下延伸,并将单独的线分开到每个按钮。每个按钮的另一条腿被路由到数字输入引脚。
另外,我不应该在面包板上焊接。神圣的塑料烟雾。使用良好的通风!
但是... TURBO HAX
无论如何,是的,我将手指按钮和触觉电机焊接到草图中列出的引脚上。有时我只是在按钮腿上放一团焊料并将地线缠绕在它周围,因为它们不会焊接在一起。电机有自己的接地线,因为一开始我不确定它是如何连接的。
然后,我测试了它(哇哦,积极的功能!)并用热胶把所有东西都粘掉了。
这东西用起来真的很烦人。可能对你的神经不好。我会让振动更短,尤其是当我更擅长使用它时。
但是,它有效!它确实可以帮助您使用和阅读二进制文件。
振动脉冲会告诉您何时准备好以及何时打字。它可以很快变得直观。
我换成拇指的按钮很舒服,用我的指关节一侧推动很舒服,因为一个人的抓地力很自然。
它很轻而且很小。
我一定会继续使用这个!
我想过添加触觉环来为您提供有关您刚刚输入的字母的反馈。但是,使用它之后,这似乎是一个糟糕的主意。不过,灯可能会起作用!他们看起来会更酷,并且会帮助其他人理解。
最后,我可能会写另一个让它发送MIDI 数据的草图!
现在,回到运行我的硬件表...
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !