我有一个旧的笔记本电脑键盘,如下所示:
它的背面有24线扁平电缆。是否可以将其用作Pi的键盘(我假设两者之间有一些微控制器)?
我有一个旧的笔记本电脑键盘,如下所示:
它的背面有24线扁平电缆。是否可以将其用作Pi的键盘(我假设两者之间有一些微控制器)?
Answers:
没有简单或简单的方法可以实现您的要求。最简单的答案就是忽略此键盘并获得USB键盘。
但是,如果您真的想这样做,那将是一项不断的DIY工作。您的解决方案将针对此键盘进行定制,并且可能会或可能不会很容易地适应于其他制造商的键盘。
笔记本电脑键盘连接器不是标准的。它们因制造商而异。通常,它们还缺少任何电子设备来处理按键并将其转换为更简单的数据消息,例如按键代码或按钮代码等。
因此,首先您需要弄清楚每次按键时会发生什么,即激活了哪些电信号(一起短路)。
然后,您有两个选择,都非常棘手:
选项1-非常高级:
您需要构造一个电子接口,该接口将连接键盘和Pi上的USB端口。当它插入USB端口时,它需要一个微控制器来模拟USB键盘,并且您将需要编写软件以将按键信号映射到USB键盘按键中。微控制器需要完成所有工作。您可能需要阅读以下相关问题:我可以用Makey Makey + Raspberry Pi制作完整的USB键盘吗?
选项2-疯了:
Raspberry Pi具有带17个GPIO(通用输入输出)引脚的连接器。您需要设计一种电路来减少24条键盘线,并将它们连接到GPIO引脚。然后,您需要一个用于Pi操作系统的自定义键盘驱动程序。
暗示:
24个连接器线中的一些将作为输入,而其他则作为输出。每次按下一个键,一些输入就连接到一些输出。有些行可能未使用。需要耐心和连续性检查器才能准确确定会发生什么情况。还可以考虑搜索键盘编码器芯片。这是一个示例:http : //www.ti.com/product/tca8418e这些芯片消除了编码的艰苦工作。
我的笔记本电脑键盘很少,我真的很想使用它们。。。所以我看到带有24线的键盘是没有数字键盘的键盘,而带有数字键盘的键盘只有26线。
我已经拆下一个坏掉的键盘,看看它是如何制成的。从我所看到的,有两片箔纸,其路径和连接/按钮点被一层箔纸分隔为隔板。每条电线分配给一张纸上的几个按钮,并连接到第二张纸和另一条电线。我已经检查了可用组合的数量https://www.hackmath.net/en/calculator/combinations-and-permutations?n=24&k=2&order=0&repeat=0看起来我们有276种可能的组合。
因为键盘很多,并且它们具有不同的组合,所以最好的方法是制作一个小程序,要求您按下特定的按钮并记录与该按钮关联的电线组合。
由于Rpi仅有Vassilis提到的17GPIO,因此很难做到这一点,因为您之间需要一些东西,但是有Arduino(Mega = 54 IO),它至少可以帮助解码按钮/电线对组合。我需要在笔记本电脑板上查看使用什么ic作为控制器,以查看是否可以使用它,是否可以编程等。
无论如何,这有可能而且可能没有那么困难,但是当然普通人只会购买USB键盘。
某些键盘可能具有某种控制器。如果他们没有控制器,则所有键都将按键矩阵连接起来。按下一个键将把一列和一行连接在一起。大多数控制器将扫描各列,并查看哪些行高以找到按下的键。您可能要尝试的一件事是获取Teensy arduino并使用USB键盘固件对其进行编程。不过,您必须弄清楚如何将所有键连接起来。Teensy可以将其转换为USB以插入Pi。要做到这一点,需要很多技术技能,但这并不是出于胆小。
我使用Teensy ++ 2.0作为Sony Vaio的键盘控制器,并将其转换为Raspberry Pi笔记本电脑。使用欧姆表找出密钥矩阵,并编写Teensyduino代码以扫描矩阵并通过USB发送密钥代码。Teensy还可以通过PS / 2控制触摸板,并通过同一根USB电缆发送结果。使用欧姆表来确定连接了键盘电缆上的哪些信号非常耗时,并且容易出错(您需要三只手,两只眼睛和很多时间)。为了使人们更容易重复使用笔记本电脑键盘,我写了一篇Instructable逐步介绍了使用Teensy LC或3.2构建键盘控制器的过程。Teensy首先加载一个例程,该例程报告按下某个键时连接了哪些引脚。由此,您可以构建一个密钥矩阵表,该表可以添加到充当键盘USB控制器的新Teensy例程中。我已经使用这种方法将十几个笔记本电脑键盘转换为USB。您需要将我的Eagle板文件发送到OSH Park,以制造电路板。该板提供了用于焊接键盘连接器的焊盘,该连接器被路由到Teensy微控制器。这个项目肯定比您的基本即插即用Arduino项目更先进,但是如果您想重新配置带有Pi的旧笔记本电脑并保留原始键盘和触摸板,则值得您付出努力。