本帖最后由 回到b不再度v 于 2016-6-10 18:04 编辑
先秀一下成品
前置技能:
C/C++语言掌握; cad掌握【或其他机械制图软件的掌握】; Altium Designer掌握【或其他PCB设计软件的掌握】; arduino IDE掌握;arduino程序编写; 设计部分:
一:配列(按键排列)
键盘常见的配列有很多
比如全键盘的104/108
比如没有数字区的87
再比如深受键盘玩家喜爱的60
但是这些都不是我心目中的键盘最佳键盘
我认为一块好的键盘,要在小巧的同时做到功能相对完整
于是,我最后的选择是
(右下角不出意外的就是方向键)
(没方向键的键盘都不是好键盘╭(╯^╰)╮)
二:装饰
现在的键盘越来越花哨,简直违背了键盘作为一个体现生产力的工具的本质
所以我决定
咳咳
背光走起!!
RGB全彩底灯走起!!
灯大灯多灯会变走起!!
没灯怎么装X是不是?!!
二:功能
额,这块有什么好说的吗?键盘嘛~~~
没个6键无冲
没个1000hz汇报率
没个上位机来调整颜色
你也好意思说你是块机械键盘吗?
电路部分:
一:支持按键无冲突的矩阵按键
首先,什么是按键冲突,这个问题网上早就有大神总结过了,我就偷懒直接丢链接了。简单的说就是按下了键盘上的几个键之后,电脑却没有收到其中的某几个或者几个。详见按键冲突介绍
解决办法也简单,就是给每个开关串联一个开关二极管
会冲突的2x2的矩阵按键电路图
不会冲突的2x2的矩阵按键电路图
但冲突的问题解决了,另一个问题就浮现在眼前《该设计一个怎么样的矩阵键盘》
众所周知,arduino Leonardo仅仅只有20个io。真是太少了。
【居然还浪费了两个io在uart的指示灯上(╯‵□′)╯︵┻━┻】
一个68配列的键盘,如果按照按键排布需要15列5行,共计20个io,这样就没有io剩余去做其他的功能了,这是我不能接受的
所以
我选择做一个8*9的矩阵键盘,然后摆成键盘的样子。。。。。
这样,只需要17个io,可以留下3io个来做其他的设计
最后,就是这个样子~~
二:背光灯
其实这个是挺好解决的事,所有灯都并一起,加个mos管控制下就好了~~
为了防止爆灯,每个灯再串一个限流电阻
三:RGB全彩底灯
灯大灯多灯会变,不能变的灯总归是不够炫
我选择了大名鼎鼎的ws2812b 5050 封装的rgbled作为底部的装饰
单线控制,可级联,有库文件支持,我没有不选择她的理由了~~
资料见ws2812b介绍
电路图如下
想了想还是把总电路图丢上来了,求回帖!!
原理图 V1.0.pdf
(823.91 KB, 下载次数: 897)
|