【arduino Leonardo】机械键盘制作全过程(未完待续)-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 47717|回复: 36

【arduino Leonardo】机械键盘制作全过程(未完待续)

[复制链接]
发表于 2016-6-10 16:13 | 显示全部楼层 |阅读模式
本帖最后由 回到b不再度v 于 2016-6-10 18:04 编辑

先秀一下成品

QQ图片20160610152224.jpg

前置技能:
         C/C++语言掌握;
   cad掌握【或其他机械制图软件的掌握】;
   Altium Designer掌握【或其他PCB设计软件的掌握】;
   arduino IDE掌握;arduino程序编写;




设计部分:
         
        一:配列(按键排列)
              键盘常见的配列有很多
              比如全键盘的104/108
               QQ截图20160610152832.png
              
              比如没有数字区的87
               QQ截图20160610153033.png

              再比如深受键盘玩家喜爱的60
               QQ截图20160610153130.png

              但是这些都不是我心目中的键盘最佳键盘
              我认为一块好的键盘,要在小巧的同时做到功能相对完整
              于是,我最后的选择是
               QQ截图20160505185334.png
              (右下角不出意外的就是方向键)
              (没方向键的键盘都不是好键盘╭(╯^╰)╮)

        二:装饰
              现在的键盘越来越花哨,简直违背了键盘作为一个体现生产力的工具的本质
              所以我决定

              咳咳

              背光走起!!
              RGB全彩底灯走起!!
              灯大灯多灯会变走起!!
              没灯怎么装X是不是?!!
               QQ图片20160610153758.png

        二:功能
              额,这块有什么好说的吗?键盘嘛~~~
              没个6键无冲
              没个1000hz汇报率
              没个上位机来调整颜色
              你也好意思说你是块机械键盘吗?
              




电路部分:

        一:支持按键无冲突的矩阵按键
           首先,什么是按键冲突,这个问题网上早就有大神总结过了,我就偷懒直接丢链接了。简单的说就是按下了键盘上的几个键之后,电脑却没有收到其中的某几个或者几个。详见按键冲突介绍
            解决办法也简单,就是给每个开关串联一个开关二极管
            
            会冲突的2x2的矩阵按键电路图
             966F03F152EAED36C3D8C175E92A5E.jpg
              
            不会冲突的2x2的矩阵按键电路图
             ADE9639A0B3883DCFABC17EA623883.jpg

           但冲突的问题解决了,另一个问题就浮现在眼前《该设计一个怎么样的矩阵键盘》
           众所周知,arduino Leonardo仅仅只有20个io。真是太少了。
           【居然还浪费了两个io在uart的指示灯上(╯‵□′)╯︵┻━┻】
           一个68配列的键盘,如果按照按键排布需要15列5行,共计20个io,这样就没有io剩余去做其他的功能了,这是我不能接受的
           所以
           我选择做一个8*9的矩阵键盘,然后摆成键盘的样子。。。。。
           这样,只需要17个io,可以留下3io个来做其他的设计  

          最后,就是这个样子~~

          QQ图片20160610155917.png


        二:背光灯
          其实这个是挺好解决的事,所有灯都并一起,加个mos管控制下就好了~~
          为了防止爆灯,每个灯再串一个限流电阻
         
          QQ截图20160610160259.png

        三:RGB全彩底灯
          灯大灯多灯会变,不能变的灯总归是不够炫
          我选择了大名鼎鼎的ws2812b 5050 封装的rgbled作为底部的装饰
          单线控制,可级联,有库文件支持,我没有不选择她的理由了~~
          资料见ws2812b介绍
          电路图如下
          20150121101131050.png






想了想还是把总电路图丢上来了,求回帖!!
              


   
                      原理图 V1.0.pdf (823.91 KB, 下载次数: 897)








              


发表于 2016-6-10 18:18 | 显示全部楼层
章鱼博士,牛逼啊
 楼主| 发表于 2016-6-10 18:20 | 显示全部楼层
跌宕 发表于 2016-6-10 18:18
章鱼博士,牛逼啊

咳咳,要优雅,不要污。
发表于 2016-6-10 18:21 | 显示全部楼层
章鱼博士,太牛逼了
发表于 2016-6-10 21:17 | 显示全部楼层
厉害啊! 围观
发表于 2016-6-11 11:28 | 显示全部楼层
键帽不透光呀。。。。不过侧刻好评!~
 楼主| 发表于 2016-6-11 11:30 | 显示全部楼层
martincccc 发表于 2016-6-11 11:28
键帽不透光呀。。。。不过侧刻好评!~

透光的哦,侧刻的字符是透光的
发表于 2016-6-13 21:10 | 显示全部楼层
大神求指教,我现在也在做啊。主控不会写啊。
发表于 2016-6-14 15:49 | 显示全部楼层
特意来支持。动手能力真高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 00:45 , Processed in 0.171535 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表