為巨軸制作一個(gè)底座

在一個(gè)月黑風(fēng)高的夜晚,微信上彈出一條好友申請(qǐng),附言ZF來(lái)的。加之。
來(lái)者跟我說(shuō),他手里有個(gè)巨軸,想改成回車(chē)鍵,問(wèn)我能不能做。
我滴個(gè)乖乖,單鍵對(duì)我現(xiàn)在的水平來(lái)說(shuō),豈不是SO EASY?

數(shù)日后,收到巨軸。

第一感覺(jué),恩,真的巨……快趕上人家的小拳拳了……



外觀(guān)基本就這樣了,接下來(lái)開(kāi)始做主控。
巨軸主人的要求是,大鍵回車(chē),然后有RGB燈光。
所以接下來(lái)要做的主控需要控制四個(gè)按鍵和RGB燈帶。
四個(gè)按鍵中,一個(gè)大鍵回車(chē),一個(gè)鍵層切換,兩個(gè)RGB調(diào)節(jié)鍵。調(diào)節(jié)鍵根據(jù)鍵層的不同,可以調(diào)節(jié)RGB的色值、色溫、亮度、動(dòng)畫(huà)模式和開(kāi)關(guān)。
使用的開(kāi)發(fā)板是Pro micro。
下面提到的網(wǎng)站,可能需要科學(xué)上網(wǎng),請(qǐng)自備。
首先來(lái)到www.keyboard-layout-editor.com(之前有小伙伴說(shuō)換了幾個(gè)瀏覽器都打不開(kāi)這個(gè)網(wǎng)站……所以,試試科學(xué)上網(wǎng)吧)

手動(dòng)碼一個(gè)按鍵配列,然后復(fù)制代碼。

然后來(lái)到kbfirmware.com,將代碼粘貼到方框中,然后點(diǎn)擊Import。

跳轉(zhuǎn)到這個(gè)頁(yè)面,不用動(dòng)。

來(lái)到PINS頁(yè)面,根據(jù)Pro micro的針腳定義,設(shè)置針腳。注意要給WS2812那項(xiàng)分配一個(gè)針腳,負(fù)責(zé)RGB信號(hào)。

來(lái)到KEYMAP頁(yè)面,一共設(shè)置了4個(gè)鍵層,每層的最上面都為回車(chē)鍵,保證巨軸的回車(chē)功能不受鍵層切換的影響。下面中間的鍵都是鍵層切換的鍵,并且設(shè)置成循環(huán)切換的,也就是0層切1層,1層切2層,2層切3層,3層切回0層。每層左右兩個(gè)鍵的功能不同,0層色值調(diào)節(jié),1層飽和度調(diào)節(jié),2層亮度調(diào)節(jié),3層,動(dòng)畫(huà)模式調(diào)節(jié)和關(guān)閉RGB。

來(lái)到SETTINGS頁(yè)面,起一個(gè)名字。然后修改LED數(shù)量,不太確定最后要用到多少顆,先寫(xiě)個(gè)20,后面還能改。再點(diǎn)擊Save Configuration,保存一個(gè)JOSN文件,如果后面還要修改,可以直接在主頁(yè)那里點(diǎn)擊上傳,把這個(gè)文件上傳上來(lái),就能找回這些設(shè)置了。

最后來(lái)到COMPILE頁(yè)面,點(diǎn)擊Download .zip,得到一個(gè)juzhou.zip壓縮包。(壓縮包的名稱(chēng)與SETTINGS里設(shè)置的名稱(chēng)相同。)
解壓并留好文件,一會(huì)兒用。

來(lái)到https://github.com/qmk/qmk_firmware
下載ZIP文件。
解壓縮到C盤(pán),講文件夾改名為QMK。

復(fù)制上圖所示的文件夾。

把NUMPAD20文件夾粘貼到上一級(jí)目錄中,然后改名為juzhou。
也就是說(shuō),這次制作的巨軸的固件文件,要在這個(gè)NUMPAD20的代碼基礎(chǔ)上進(jìn)行修改。

打開(kāi)ATOM,添加兩個(gè)項(xiàng)目文件夾。一個(gè)是剛才新建的那個(gè)juzhou文件夾,另一個(gè)是之前從kbfirmware.com上下載的ZIP解壓后的文件夾。如上圖紅框?yàn)閗bfirmware.com下載的文件,籃筐為QMK文件夾中的文件。
編輯代碼的原則就是以QMK文件中的juzhou為基礎(chǔ),以KBF下載的文件為素材,將其中可用的代碼復(fù)制到QMK文件這邊。
??由于名字起重了……所以下文用藍(lán)框juzhou代表QMK文件夾中的文件,用紅框juzhou代表kbf上下載的文件……
對(duì)比截圖中,左邊為QMK文件夾中的文件,右邊為KBF下載的文件。
??

首先,打開(kāi)QMK文件夾中的rules.mk。

根據(jù)使用的開(kāi)發(fā)板類(lèi)型,修改啟動(dòng)方式,通過(guò)灰色注釋文字可以看出,Pro micro對(duì)應(yīng)的是caterina。
第20和21行,查了下QMK官方文檔,沒(méi)太懂,猜測(cè)是掃描矩陣用的吧……KBF上下載的文件中,這兩條是關(guān)閉的,所以也關(guān)了吧。
第31行增加開(kāi)啟RGB燈光的代碼。
保存關(guān)閉。

將QMK文件夾中,兩個(gè)名為NUMPAD20的文件,改名為juzhou。

打開(kāi)juzhou.c,講第一行中對(duì)應(yīng)的代碼改為juzhou.h。
保存退

打開(kāi)juzhou.h和kb.h。修改兩個(gè)NUMPAD20為JUZHOU,將KB.h中鍵值的代碼復(fù)制到j(luò)uzhou.h里,注意保持格式,不要多或者少括號(hào)之類(lèi)的符號(hào)。

修好以后如上圖,保存關(guān)閉。

打開(kāi)兩個(gè)文件夾中的config.h,根據(jù)自己喜好編輯設(shè)備信息(27-29行,黃字后面的部分),替換行列數(shù)(第32、33行),替換針腳編號(hào)(45、46行)。

往下拉,將RGB設(shè)置代碼復(fù)制過(guò)來(lái)。
關(guān)閉保存。

打開(kāi)兩個(gè)keymap.c,將左邊[0]=layout下面的鍵值替換成KBF上下載的鍵值。然后復(fù)制這段代碼,將中括號(hào)中的數(shù)字分別改成123,再將對(duì)應(yīng)層的鍵值覆蓋過(guò)去。復(fù)制過(guò)去的同時(shí)要注意原有格式,不要多標(biāo)點(diǎn)或者少標(biāo)點(diǎn)。如左側(cè)第22行的括號(hào)后面,沒(méi)有逗號(hào),而上面每個(gè)鍵層最后的括號(hào)后面都有逗號(hào)。
保存退出。
關(guān)于MSYS2的安裝和配置,可以搜一下網(wǎng)上的文章,有介紹。

打開(kāi)MSYS2,輸入cd空格斜線(xiàn)C斜線(xiàn)QMK,回車(chē)。

輸入make空格juzhou冒號(hào)default,回車(chē)。

一長(zhǎng)串綠色OK以后,固件就壓好了。

固件文件保存在QMK文件夾下,點(diǎn)build文件夾中,juzhou.hxe就是。
至此,一個(gè)巨軸帶RGB燈光的主控固件就編好了。下面將這個(gè)固件刷入Pro micro中。

來(lái)到https://github.com/qmk/qmk_driver_installer/releases
下載最新版QMK驅(qū)動(dòng)qmk_driver_installer.zip。

解壓后,以管理員身份運(yùn)行install_all_drivers.bat
等待安裝結(jié)束后,窗口會(huì)自動(dòng)關(guān)閉。

來(lái)到https://github.com/qmk/qmk_toolbox/releases
下載最新版的qmk_toolbox.exe

運(yùn)行qmk_toolbox.exe,雙擊一次就好,程序啟動(dòng)有點(diǎn)慢,等一會(huì)兒就會(huì)出來(lái)了??赡軙?huì)詢(xún)問(wèn)是否安裝驅(qū)動(dòng),選擇“是”。

然后等待安裝窗口運(yùn)行完畢,這個(gè)窗口會(huì)自動(dòng)關(guān)閉。
講開(kāi)發(fā)板連接到電腦上,最好使用USB2.0接口。

選擇之前生成的固件,開(kāi)啟開(kāi)發(fā)板的恢復(fù)模式,然后點(diǎn)擊Flash,順利的話(huà)就會(huì)刷寫(xiě)成功。
關(guān)于刷寫(xiě)的詳細(xì)操作流程,可以看我之前那篇改裝路透社小鍵盤(pán)的帖子。
至此,一個(gè)鍵盤(pán)主控就制作完畢了,下一步是制作底座外殼。
??根據(jù)實(shí)際測(cè)量得到的數(shù)據(jù),用3DS MAX進(jìn)行建模,外殼造型走簡(jiǎn)潔風(fēng),主體為巨軸,下面放置三個(gè)調(diào)節(jié)按鍵,就行了。

基本建模就是這樣的了,說(shuō)著比較簡(jiǎn)單,其實(shí)也是反復(fù)琢磨了幾天才把模型做的比較滿(mǎn)意。為什么要把軟件窗口都截圖哪?因?yàn)轱@得專(zhuān)業(yè)……哈哈哈

然后打印出來(lái)……打印了十幾個(gè)小時(shí)。由于內(nèi)部有RGB燈光,所以使用了半透明耗材。不過(guò)半透明的PLA耗材的透光率,其實(shí)也不是很高。

給軸體接上二極管。

將RGB燈帶繞場(chǎng)一周。燈帶本身有背膠,所以比較好固定。燈帶的型號(hào)是ws2812,一搜一大堆。

貼好燈帶以后,要根據(jù)實(shí)際使用的燈珠數(shù)量修改一下代碼,之前寫(xiě)的是20,實(shí)際用了13顆,所以改成13.

由于Pro micro的micro接口逼格不如type-C高,當(dāng)然也不如TPYE-C方便,所以做一小段轉(zhuǎn)接線(xiàn),把接口轉(zhuǎn)成TYPE-C。從我祖?zhèn)鞯纳衿姘賹毠窭锓隽艘桓鵑OKIA數(shù)據(jù)線(xiàn)的接頭,別問(wèn)我為什么閑著沒(méi)事剪數(shù)據(jù)線(xiàn)玩……我不會(huì)說(shuō)是因?yàn)槟歉€(xiàn)被我改成蘋(píng)果接頭的了……

一點(diǎn)點(diǎn)剝?nèi)ゲ孱^的外皮,我發(fā)現(xiàn)了Nokia干不下去的原因了。一根數(shù)據(jù)線(xiàn),至于做的跟保險(xiǎn)柜一樣嗎????。?/p>

費(fèi)了九牛二虎之力,終于算是把膠都剔干凈了……拍張照,以防忘記線(xiàn)序。標(biāo)準(zhǔn)的USB四線(xiàn)配色。

接好線(xiàn)以后,放入外殼中,尺寸剛剛好,接口出線(xiàn)的方向后來(lái)改成了向上彎曲,以免遮擋臨近的RGB燈珠。
然后按照上面編輯的針腳定義,將對(duì)應(yīng)的導(dǎo)線(xiàn)焊接到開(kāi)發(fā)板上。接的暈頭轉(zhuǎn)向的,所以忘了拍照了……

記錄一下歷史性的一顆,巨軸上錫!

通電測(cè)試,由于蓋上軸體以后,不太容易拆下來(lái),所以一定要全部測(cè)試好以后再蓋上。

這里由于接線(xiàn)接懵了,所以二極管的針腳搞錯(cuò)了,又回到代碼那里改了下二極管的方向。把之前的C2R改成了R2C。
每次修改代碼以后,都要保存,然后用MSYS2重新生成固件,并使用toolbox重新刷入。
測(cè)試好按鍵功能都沒(méi)有問(wèn)題以后,把軸體蓋上,大功告成。


裝上鍵帽。






上面是幾個(gè)單色的效果,QMK還內(nèi)置了一堆燈光動(dòng)效,由于這個(gè)固件的功能比較簡(jiǎn)單,所以有足夠的空間可以將所有預(yù)設(shè)的燈光動(dòng)畫(huà)都存儲(chǔ)進(jìn)去。
最后最后,放上RGB燈光效果演示視頻吧。

