DIY 篇一:从零开始,做一个单键炫彩多功能小键盘

2020-01-31 10:46:28 18点赞 47收藏 28评论

#大男孩的快乐#征稿活动火热进行中。只要投稿就有50金币等你拿,更有三千元乐高大奖与达人Z计划专属权益等待优秀的你~>活动详情戳这里<     

项目由来

       玩电脑还算是比较早的,最早接触是在初中,486、586+Win95、Win98那个年代,那个时候已经不流行机械键盘了,基本都是薄膜键盘,但是外观和现在的机械键盘差不多。后来机械键盘以天价回归了,可我对它却并没什么感觉,尤其是在我看来虚飘的价格,近两年国产轴开始多了,机械键盘的价格也回落了。

做的第一把机械键盘做的第一把机械键盘

        前段时间在 github上看到一个机械键盘的项目,做了第一把机械键盘,剩了一堆材料,于是就有了这个项目,一个单键键盘。

准备材料

    键盘必须要用到的材料: 

  • CHERRY MX机械键盘轴体或兼容轴体,颜色根据个人喜好(优先3脚,5脚需要处理下)

  • Digispark kickstarter ATTINY85 微型 usb 开发板

    需要用到的工具(工具并不都是必要的,自己合理使用):

    键盘不必须用的材料:

  • Sk6812 mini 3535(全彩LED,可以用WS2812代替,但是5050的尺寸稍大)

  • 凯华 kailh热插拔轴底座(如果不需要更换轴体,这个可以不用)

  • 3D打印的外壳(外壳可以根据自己喜欢自己做,我同事直接用热熔胶箍上了)。

        下面挨个介绍下原材料

国产轴体,兼容CHERRY MX国产轴体,兼容CHERRY MX

三脚轴体,如果是5脚轴,需要处理掉另外两个定位轴三脚轴体,如果是5脚轴,需要处理掉另外两个定位轴

Digispark 开发板,不一定非要选这个样子的,但是如果你零基础,最好选一样的,防止出现各种问题。Digispark 开发板,不一定非要选这个样子的,但是如果你零基础,最好选一样的,防止出现各种问题。

Digispark开发板背面Digispark开发板背面

Sk6812 mini 3535,体积要比5050小。Sk6812 mini 3535,体积要比5050小。

kailh热插拔轴底座正面kailh热插拔轴底座正面

kailh热插拔轴底座背面kailh热插拔轴底座背面

硬件部分

        介绍完用到的材料后,再简单介绍下这个项目,其实这个项目很简单,就是用 Digispark模拟 HID设备,DigiSpark最出名的应该是用它制作 Bad-USB,Bad-USB同样是用它模拟 HID设备进行攻击或其他操作。

        简单介绍完项目后,我们开始制作键盘。如果你想做一个和我一样的键盘的话,就需要对开发板进行简单的处理,需要对电路板做个小手术,把用不到的地方切掉(注意:如果你对开发板下载程序不熟,最好先跳到软件部分,把默认程序下载到开发板中,以免切割后,万一切坏,不知道问题出在哪里)。

电路板切完之后的大小,注意不要伤到芯片的引脚,引脚离边缘大概1mm就可以。电路板切完之后的大小,注意不要伤到芯片的引脚,引脚离边缘大概1mm就可以。

背面参考位置,以正面为准背面参考位置,以正面为准

        切掉多余的部分后,主板的体积就会缩小很多,下一步就是焊接轴座(这里默认使用轴座,如果你不使用轴座,后面可以直接焊到轴上)、LED。轴座很简单,只要一端接 GND,一端接到芯片的 Pin2。

从零开始,做一个单键炫彩多功能小键盘

        焊接 LED稍微麻烦点,先看下 LED的引脚图。

从零开始,做一个单键炫彩多功能小键盘

        LED背面是四个引脚,因为只有一个灯,所以只用到其中三个引脚 VDD、GND、DIN,下面是对应关系):

  • VDD → 5V

  • GND → GND

  • DIN → Pin1

        对应关系弄清后,就可以焊接了,漆包线可以去废旧耳机中找,如果你的焊接技术不太熟练的话,可以在加热过程中,用针把1、2脚挑起来,这样方便焊线,防止1、2脚短路,漆包线需要先上锡,LED最好也先上一层锡(注意:由于 LED非常小,焊接时间不能过长,如果你的电烙铁可调温的话,温度最好在270-280这样,不然高温可能会废掉你的 LED)。

从零开始,做一个单键炫彩多功能小键盘

从零开始,做一个单键炫彩多功能小键盘

从零开始,做一个单键炫彩多功能小键盘

        到这里,键盘的硬件部分就已经完成了,只需要把轴体插到轴座上就可以。

软件部分

    开发化境

       硬件准备完了,下面开始软件部分,写这篇文章之前,我就得这篇文章会非常短,因为确实很简单,代码也很简单,但是当我写到这,想起了从零开始,就不能有坑,那么就得配置 Digispark的编译环境。英文好的同学可以直接参考 Digispark的英文 Wiki,非常简单。

        1、首先安装Arduino IDE,这个就不介绍了,实在不会,网上搜一下把,非常简单。

        2、打开 IDE,依次 文件 → 首选项

从零开始,做一个单键炫彩多功能小键盘

        打开“首选项”页面后,在附加开发板管理器网址处填入“http://digistump.com/package_digistump_index.json”,如果你此处已经填有其他网址,就按后面的按钮,在弹出页面中,另起一行,填入这个网址。

        填入网址后,选择下面的 "好",保存退出。

        3、依次 工具 → 开发板 → 开发板管理器。

从零开始,做一个单键炫彩多功能小键盘

        打开“开发板管理器”页面后,选择 "Digistump AVR Boards" 安装,安装过程中会出现驱动安装界面,全是“下一步”就行。

从零开始,做一个单键炫彩多功能小键盘

        安装完成后,再次选择 工具 → 开发板 → 选择 "Digispark (Default - 16.5mhz)"。到这开发环境就搭建完成。

        开发境搭建完成后,就可以打开我附带的源文件了,然后选择“上传”(注意:这个时候开发板不能插在电脑上),当程序编译通过后,出现 "Please plug in the device..."时,插入开发板,程序上传成功后,会有提示。

    程序解释

#include "DigiKeyboard.h"

#include <Adafruit_NeoPixel.h>


const int ledPin = 1; // RGB LED 引脚

const int keyPin = 2; // 按键引脚


int backlightR = 0; // 红色值(0-255)

int backlightG = 255; // 绿色值(0-255)

int backlightB = 255; // 蓝色值(0-255)

int backlightBrightness = 100; // 亮度值(0-255)


Adafruit_NeoPixel led = Adafruit_NeoPixel(1, ledPin, NEO_GRB + NEO_KHZ800);


void setup() {

  pinMode(keyPin, INPUT_PULLUP);

  led.begin(); 

  led.show();

  led.setBrightness(backlightBrightness);

  led.setPixelColor(0, backlightR, backlightG, backlightB);

  led.show();

}


void loop() {

  DigiKeyboard.sendKeyStroke(0); 

  if(digitalRead(keyPin)==LOW){

    DigiKeyboard.sendKeyStroke(KEY_D, MOD_GUI_LEFT); //这个是按键功能,这里是 WIN+D,更多键值,直接在 DigiKeyboard.h 中寻找

  }

  DigiKeyboard.delay(100); // 防抖延时

}

        可以修改的参数,我已经加了注释,B站有个转载自 Youtube的视频,里面有键值用法更详细的说明,这种转载,要是有引用网址就更好了。

外壳安装

        如果你方便3D打印的话,可以打印外壳,安装也很方便,或者使用任何你喜欢的方式做一个外壳。

    乐高键帽外壳

底座上面正视底座上面正视

底座底面正视底座底面正视

底盖底盖

键帽键帽

安装轴座和LED,需要用热熔胶固定下,一定少用,防止板子放不进去。安装轴座和LED,需要用热熔胶固定下,一定少用,防止板子放不进去。

安装好轴座和LED后的正视安装好轴座和LED后的正视

        安装完底壳后,就可以插入轴体,安上键帽,键帽上可以放置乐高人仔或者积木。如果你用的打印材料比较透光,可以在轴体外壳部分做隔光处理。

    空头箱外壳

从零开始,做一个单键炫彩多功能小键盘

空头箱键帽空头箱键帽

从零开始,做一个单键炫彩多功能小键盘

主体外壳主体外壳

从零开始,做一个单键炫彩多功能小键盘

底座盖板底座盖板

安装轴之后的高度安装轴之后的高度

安上键帽后,按键谈起时的高度安上键帽后,按键谈起时的高度

按上键帽后,按键按下后的高度按上键帽后,按键按下后的高度

        这个外壳我比较喜欢,唯一遗憾是少几个绑上面那个蓝色“布”的绳子。网上下的 STL文件,重新画图建模,用这个外壳,需要对线的 Micro USB插头处理下,不然可能不太容易插上。

项目地址

展开 收起

AJAZZ 黑爵 键盘透光键帽 104键

AJAZZ 黑爵 键盘透光键帽 104键

9.9元起

JKDK 键帽馆 热升华键帽

JKDK 键帽馆 热升华键帽

168元起

键设局 偏执狂 机械键盘键帽 热升华pbt

键设局 偏执狂 机械键盘键帽 热升华pbt

399元起

密探 彩虹键帽 37键

密探 彩虹键帽 37键

18元起

CHERRY 樱桃 KA2020 情人节版 金属键帽

CHERRY 樱桃 KA2020 情人节版 金属键帽

2999元起

KPrepublic 像素心 浸染键帽

KPrepublic 像素心 浸染键帽

19.9元起

GANSS 高斯 PBT双色浸染彩虹键帽 108键

GANSS 高斯 PBT双色浸染彩虹键帽 108键

29元起

GANSS 高斯 机械键盘 PBT热升华键帽 Cherry 108键

GANSS 高斯 机械键盘 PBT热升华键帽 Cherry 108键

144元起

Leopold 利奥博德 107键 PBT侧刻键帽

Leopold 利奥博德 107键 PBT侧刻键帽

279元起

noppoo NSA104 键帽 球帽(PBT、透光、SA高度)

noppoo NSA104 键帽 球帽(PBT、透光、SA高度)

49元起

键设局 山满目 机械键盘键帽 热升华pbt

键设局 山满目 机械键盘键帽 热升华pbt

329元起

WeimBureau 金属回车键帽

WeimBureau 金属回车键帽

149元起

KeyStone 键石 守望先锋系列 DVA兔子 金属键帽

KeyStone 键石 守望先锋系列 DVA兔子 金属键帽

79元起

键设局 DSA单面热升华 机械键盘键帽 pbd浸染侧刻

键设局 DSA单面热升华 机械键盘键帽 pbd浸染侧刻

32元起

KeyStone 键石 DOTA2系列 跳刀 金属键帽

KeyStone 键石 DOTA2系列 跳刀 金属键帽

89元起

Ducky 魔力鸭 PBT 浸染键帽

Ducky 魔力鸭 PBT 浸染键帽

129元起
28评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
47
扫一下,分享更方便,购买更轻松