stm32 薄膜键盘原理_stm32 diy 机械键盘

b28150ca4236fc825577a250242f87c3.png

但是HHKB的空格键很长,Fn组合键不好按,上下左右与vim不统一。受minila的启发,我决定自己做一个机械键盘。

minila键盘图片:

5f5d887d94439e3a978c9fc53f5ee859.png

自制机械键盘使用59键布局,以小为美(便宜)采用短空格,充分利用大拇指,将fn放在大拇指位置,不仅实现被省略按键的组合(兼容vim习惯),还实现一些常用功能,如shift+del、alt+printscreen等。还加入了鼠标功能,由组合键实现。当然,既然自己做了,就把键盘灯也加上,每个按键有一个LED,可实现20级亮度调节。

53f5810368520594e96d2549d4ba17c3.png

使用stm32f103vbt6作为主芯片,led使用压降3v的高亮管,1k限流电阻,大约1ma电流,59键大约60ma,主芯片单片可承受。

ea6b23f50c4a15ac411bbf706f7be810.png

网站 http://builder.swillkb.com/ 可转换为dxf文件,直接导入pcb软件,大大简化了设计。这种按键配置的键帽肯定是没有现成的,只能买无刻键帽凑合一下。甚至有些按键的长度和高度也找不到匹配的,所以最后空格键选用了很长的右shift,左右各留了一点空隙。实际按键的键帽与设计不符,自己用自己知道就好。就是别人用我的键盘的时候会很麻烦

此键盘的按键并不是扫描键盘,而是每个轴体都有一个引脚。通过一个引脚时分复用,实现led亮度调节和按键状态传感。这是此键盘与众不同之处。我没看过其他键盘的方案,自己的机械键盘也没有拆解过,所以全凭自己想象来了。部分按键原理图:

eb148df7e3a25261915ce84cbcc441ec.png

这一版用的3.3V电,走asm1117-3.3线性稳压,效率低。下一版应该改成usb 5V直接给LED供电,改大限流电阻,或者找更高导通电压的led

扫描和灯的控制共用0.5ms的时隙,10ms为一组,每个时间组首先扫描按键,扫描完成后按照灯的亮度设定设置引脚是否需要输出。10ms后重新设置为输入模式扫描按键。所以按键扫描频率为100Hz,led的PWM频率为100Hz,占空比为20档。

USB描述符配置申请500mA电流,使用100mA时,键盘容易掉。

我的焊工并不专业,凑合看吧。一开始使用的助焊剂有问题,未洗板上电短路,废了2块板子。后来改用松香助焊,看着磨叽,好使。

4079bab7035ce18fff77db6b2879aab3.png 

379098d365dbd114330dde32412671aa.png

芯片还好焊,主要是按键定位孔开大了,按键左右摆,要焊完把歪的轴体扭正。usb线本来是要用microusb接口,但是可能买的接口质量太差,插两次就接触不良。后来改用飞线将usb引到外置转接板上,再用热熔胶固定到壳体上,这样插拔时的侧向力能够得到缓冲,就好使了。再后来直接将usb线焊接到电路板上,壳体打孔引出,加热熔胶固定。

63f9e494f9d1314c2e9cda71e4577537.png

一般人第一眼看到这键盘都会说,你这怎么空了一块,不能补上吗?我就会说:这就是diy的个性风格(不会补)。主要是担心裸露的PCB吃灰进水。这是使用两年效果:

e7a19bd095457e6004f734a40222596c.png

还不算脏,但轴体吃灰会导致不灵敏,所以长期放置需要套袋,或者盖布。另外,吃外卖的时候会溅到油,弄到电路上没事,弄进按键里边就不好擦了,不过所有键盘都是这样的。

刨去diy过程中个性定制的logo、LED图案和新奇感,使用时带来了不少便利,是很实在的,偶尔换回普通键盘感觉还是很明显:

1、优先使用大拇指,实现组合键

2、将Ctrl移动到caplock处,取消caplock,减轻了小拇指负担

3、方向键使用vim风格,home end pageup pagedown也使用hjkl实现

4、使用键盘模拟鼠标,用于连贯动作,减少键鼠切换,主要鼠标操作仍通过实体鼠标实现

5、键盘尺寸小,降低空间占用,减少手的移动范围,便于携带

6、无段落感的红轴,减缓手部疲劳,易于使用组合键并通过按键时长实现光标鼠标移动以及滚屏的连续控制

7、使用消音胶垫,进一步让感觉变软、变轻,降低噪音

最后给个开源的链接:包括pcb图和基于keil的源码,未使用固件库

自己做键盘看似简单实际上挺折腾,关键是麻烦,各种小物件要分别采购,而且非标键盘很难配件,还要焊接。所以有很多朋友要做都没有做成。但是如果习惯了vim体系的操作,不妨花些功夫定制一套,会离不开的

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原创声明:该设计来自立创社区,设计资料仅供学习参考,不可用于商业用途。 PCB layout专用盘功能概述: 工作当中,由于pcb软件的来回切换(AD,PADS等),经常忘记altium designer的一些快捷,尤其是长时间不用时,忘记了就得去查,浪费了不少时间,本盘包含了altium designer常用的一些快捷,在您忘记的时候,一帮您搞定。帮助硬件工程师更快地画板,提高工作效率,主要实现altium designer pcb layout常用的一些操作。 PCB layout专用盘系统结构框图: PCB layout专用盘优势 1.自动切换大小写。 画板过程中,按快捷时经常会遇到切换输入法的麻烦,本盘发送值前,自动判断大小写,最终以大写的方式发送出去,用了本盘,中英文输入法与我从此无关。 2.方便的设置线宽功能 按下线宽,D1灯亮,表示进入线宽设置状态,按下数字(你想要的线宽),按确定即可改变线宽(得是规则中定义的线宽),若想退出线宽设置状态,请再次按下线宽,D1灯灭,表示退出线宽设置状态。 3.方便的多选功能 本盘有线选,框选,多选(shift一直按下),使选择变的非常简单。 多选用法: 按多选,D3灯亮,表示进入多选状态,挨个选取要选择的元件,选择完成后,再次按多选,D3灯灭,退出多选状态。此可防止您用普通盘选了好多东西,中间忘记按shift,还得需要重新挨个选。 4.方便的元件定位 选中元件,移动,使元件处于悬浮状态,按下定位,输入要定位的X,Y坐标,确定,元件就到了定位的地方了。 5.一将选取的元件排列到方框中 选择元件,按方框按,在需要放置元件的地方单击鼠标左确定方框左上角,移动鼠标,单击鼠标左确定方框的右下角即可。 6.一轮流放置 顺序选择元件(一个或者多个),按轮放按,鼠标上将会按你选择的顺序挨个出现元件,放置到指定位置后,下一个元件自动出现在鼠标上。 7.一批量操作 选择要批量操作的东西(线,元件等),只能选同一种东西(比如只选线),按批量按,弹出PCB INSPECTER 界面,可以批量修改参数。 附件内容截图: 源码截图:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值