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

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

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

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



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

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

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

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

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

來到KEYMAP頁面,一共設(shè)置了4個(gè)鍵層,每層的最上面都為回車鍵,保證巨軸的回車功能不受鍵層切換的影響。下面中間的鍵都是鍵層切換的鍵,并且設(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)畫模式調(diào)節(jié)和關(guān)閉RGB。

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

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

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

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

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

打開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上下載的文件……
對比截圖中,左邊為QMK文件夾中的文件,右邊為KBF下載的文件。
??

首先,打開QMK文件夾中的rules.mk。

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

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

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

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

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

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

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

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

打開MSYS2,輸入cd空格斜線C斜線QMK,回車。

輸入make空格juzhou冒號default,回車。

一長串綠色OK以后,固件就壓好了。

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

來到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)閉。

來到https://github.com/qmk/qmk_toolbox/releases
下載最新版的qmk_toolbox.exe

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

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

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

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

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

給軸體接上二極管。

將RGB燈帶繞場一周。燈帶本身有背膠,所以比較好固定。燈帶的型號是ws2812,一搜一大堆。

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

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

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

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

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

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

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

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


裝上鍵帽。






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

