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

minila键盘图片:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

stm32 薄膜键盘原理_stm32 diy 机械键盘相关推荐

  1. stm32 薄膜键盘原理_STM32使用4x4矩阵薄膜键盘

    [实例简介] 使用STM32搭建的矩阵薄膜键盘,固件库版本,..C.H拉过去,就可以用了 [实例截图] [核心代码] 4x4矩阵薄膜键盘 └── TopApex_4x4矩阵键盘 ├── ReadMe. ...

  2. 关于STM32的USB设备库DIY机械键盘

    前言 为什么想写这个呢,首先一方面是因为自己喜欢DIY一些小玩意,另一方面关于USB-HID的东西断断续续的学习了不少东西,想总结整理一下.其次就是网络上关于STM32制作USB-HID的案例很多,我 ...

  3. stm32 薄膜键盘原理_雷蛇发布第二代轻机械键盘,你了解什么是轻机械键盘吗?...

    Hello大家好,我是兼容机之家的小牛. 近日,雷蛇发布全新的游戏键盘雨林狼蛛第二代,搭载全新的轻机械技术,在雷蛇键盘分类中,雨林狼蛛V2属于轻机械键盘,"轻机械键盘"一词也是由雷 ...

  4. stm32 薄膜键盘原理_市面上的笔记本键盘优缺点解析,看完秒懂

    大家在选购电脑时,很多人的关注重点都是笔记本的配置好不好.外观设计酷不酷和电池续航能力强不强,对电脑键盘往往不会太在意,其实一个好的电脑键盘也可以帮助你提高工作效率,特别对于小编这样的文字工作者,如果 ...

  5. stm32 薄膜键盘原理_铅锤哥:市面上的笔记本键盘优缺点解析,看完秒懂

    点击上面↑ 玩转电脑 关注铅锤哥,轻松学电脑 本文转自电脑快科技网 笔记本电脑的键盘,虽然看起来都差不多,但是这小小的键盘也分成许多种不同的类型,今天我们就来系统的介绍一下不同种类的笔记本电脑键盘,以 ...

  6. stm32 diy 机械键盘

    程序员对机械键盘的需求不止于情怀,当然,对于算法工程师.逻辑复杂而代码量小的软件工程师来说,平时对键盘的操作并没有那么多,可能对机械键盘并不感兴趣.而我曾经是一个日常大量编码.运维的数据工程师,逻辑简 ...

  7. DIY机械键盘过程照

    我是个程序员,偶而搞下硬件开发,总觉得别人设计的键盘不满足自己的胃口,我自己DIY了一把机械键盘. 全键盘键位可编程,可以从内核开始编程,共设计69键,有点类似HHKB,但是比她要多了几个键盘. 功能 ...

  8. 从零DIY机械键盘/主控方案

    自从有了第一套机械键盘,先后修改了接口方案,安装了LED灯等,但是始终无法满足自己的DIY欲望. 于是想到最简单的方法就是用现成的主控,而主控来源于废弃的键盘,如下图: 这种主控也是矩阵方式,只需要测 ...

  9. stm32 薄膜键盘原理_6.4 STM32F103ZET独立按键功能深入剖析(神舟III号)

    6.4 独立按键 ........................................................................................... ...

最新文章

  1. scratch学习_学习scratch编程能学到什么?对孩子有帮助吗?
  2. 为什么用 抽象类,接口
  3. 11月份是个少产的季节
  4. 【数据竞赛】kaggle竞赛宝典-样本组织篇!
  5. 常见排序算法(C实现)
  6. pandas读取前几行数据_csv – 读取大pandas数据帧前几行的方法
  7. mysql中有没有单行函数_MySQL之函数(单行函数、分组函数)
  8. Matlab二进制文件的读写
  9. 利用lz78编码实现对某字符序列的二元压缩_多媒体笔记(1):文件压缩的原理...
  10. ADOQUERY,CLIENTDATASET,ADOSTOREPROC执行存储过程【多种方法】
  11. 使用HTML5 WebStorage API构建与.NET对应的会话机制
  12. CTF__(1)Web之SQL手工注入
  13. 2k21sports服务器暂时不可用,NBA2K20服务器不可用怎么解决 nba2k20进不去游戏解决办法...
  14. 国产linux系统 深度6,国产Linux系统深度Deepin体验
  15. namespace is terminated
  16. 【百练】护林员盖房子
  17. 【环境配置】自定义Linux欢迎界面/etc/motd文件
  18. C# 有道API翻译 查询单词详细信息
  19. Ubuntu18.04LTS纯净版安装python3.8
  20. Spring_JAP_CXF_maven

热门文章

  1. 公司里新员工工资收入高,合理吗
  2. 软件开发真的是工资高、来钱快?Emm……
  3. 道路建设(最小生成树)
  4. 计算机传奇人物之丹尼斯·里奇
  5. 2017.3.25NOIP模拟测试
  6. .py文件和.yaml文件作为配置文件
  7. c# 文字转拼音(含源码下载)
  8. SideBar 仿微信联系人侧边栏界面搜索Viwe
  9. android 音频转码慢,适用于Android的最佳音频和视频转码抑制软件
  10. 一种 win10 右键卡住转圈问题的排查过程