|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
前面 @asnake 做了个这种东西,但是他那个方案比较麻烦,做起来有很大难度。
https://www.mydigit.cn/forum.php?mod=viewthread&tid=121452
经不住手头几个笔记本键盘手感的诱惑,经过一两天研究,也跟风做了一个。
仅用一个stm32f103c8t6开发板和一个笔记本内置键盘即可实现。
需要把键盘的 8x16 的矩阵接到开发板的 PA0~PA7 PB0~PB15 即可
这个板PB2没有引出,但是BOOT1就是接了电阻的PB2,真正的PB2在图片有标出。
开始之前先介绍一下固件
stm32f103.keyboard8x16.7z
(6.46 KB, 下载次数: 62)
stm32f103.keyboard8x16.bin 这个是正常键盘的固件
stm32f103.keyboard8x16.matrix.bin 这个是测试矩阵的固件
无法下载固件的可以发邮件到 jarellczc#gmail.com 索取
烧入任意固件再用usb连电脑后,会发现一个键盘设备,按CapLock键,开发板上的灯会跟着亮。
烧入 matrix.bin 再用usb连接电脑,打开一个记事本,光标置入其中,
短接 PA0~PA7 和 PB0~PB15 的任意一个组合,记事本中会出现被短接的矩阵行列标号,该固件用于各种测试目的。
为了减小厚度方便组装,需要把开发板上竖着的排针去掉,
一般新买的只有BOOT0 BOOT1焊上了,去掉后依然可以用swd口下载。
排线的插座不好找,可用薄双面胶辅助固定镀锡的漆包线到排线触点,然后用螺丝配合硬质塑料片压紧即可。
可适当加上海绵垫或其他弹性垫片以增加应力,保证良好接触。
单独的笔记本键盘很单薄,需要固定到木板或者亚历克板上。
板上开槽,放入stm32开发小板(知道为什么要减小厚度了吧),飞线即可。
为什么可以这么简单,下面介绍一下原理。
从手头上已有的这些键盘分析来看,包括笔记本内置的和普通的台式机键盘,
都是一样的 8x16 矩阵,但是线的顺序可能有所不同。(当然不排除某些列外存在)
但是如果没有资料也不容易把那一堆排线分成8行16列两组,有的还不止24根,这种情况可以稍微掀起排线仔细分辨一下。
一般能在排线根部看出比较明显的分组, 找到分组之后就可以连线尝试了,
先接一根行和一根列,接上键盘,打开记事本(或者键盘测试软件),看看出现的键和按下的键是否对应,尝试找到正确的位置。
就前几根需要尝试的次数多点,后面剩下的少了就很容易了。
另外还有三个状态等,都是开漏输出。
PC15 NumLock
PC13 CapLock
PC14 ScrollLock
制作第一个这样的键盘的时候会用些时间,再制作几个就会熟练了。
这样做出来的键盘很薄,而且体积小,再也不用买半年就按键不灵的机械键盘了。
补充内容 (2020-4-28 08:47):
消毒导致硬盘出问题了,不要发邮件要固件了。现在只有这里的一份了。 |
打赏
-
查看全部打赏
|