基于ATmega32U4的新型客制化鍵盤(pán)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
19世紀(jì)誕生了打字機(jī),這便是現(xiàn)代電腦鍵盤(pán)的雛形,受此影響,現(xiàn)代鍵盤(pán)的字符排序也是和打字機(jī)一樣的owERTY排序。對(duì)于不同的鍵盤(pán)來(lái)說(shuō),最大的區(qū)別便是鍵盤(pán)的配列。鍵盤(pán)配列指的是鍵盤(pán)的字符排列布局,即鍵盤(pán)的按鍵數(shù)量個(gè)數(shù)和所提供的功能數(shù)。不同人群需要的按鍵數(shù)及功能是不同的,近幾年來(lái),鍵盤(pán)市場(chǎng)迎來(lái)了客制化的熱潮,并有了取代傳統(tǒng)高端鍵盤(pán)的趨勢(shì)??椭苹I盤(pán)即從用戶角度出發(fā),根據(jù)用戶的需求進(jìn)行獨(dú)特的個(gè)性化定制,對(duì)標(biāo)準(zhǔn)化工業(yè)產(chǎn)品進(jìn)行功能增減、材質(zhì)或結(jié)構(gòu)更換,設(shè)計(jì)適配個(gè)人使用習(xí)慣的機(jī)械鍵盤(pán)。
1軟件設(shè)計(jì)
使用KeyboardFirmwareBui1der(KFB)、KeyboardLayoutEditor(KLE)等開(kāi)源軟件可以生成滿足人們需求的配列。鍵盤(pán)配列一般用百分?jǐn)?shù)表示,104鍵位為全尺寸(即100%)鍵盤(pán),百分?jǐn)?shù)代表了按鍵數(shù)量和功能占比。大部分辦公鍵盤(pán)都是104鍵(或108鍵)的100%(或105%)尺寸的鍵盤(pán),而對(duì)于一些特殊的行業(yè)或鍵盤(pán)愛(ài)好者來(lái)說(shuō)會(huì)選擇80%(84鍵或87鍵)配列的鍵盤(pán),或者是60%、65%配列的鍵盤(pán),前者去掉了小鍵盤(pán),后者去掉了小鍵盤(pán)以及功能區(qū)。還有一些更加追求便攜性的用戶會(huì)去選擇40%的鍵盤(pán),鍵盤(pán)上僅有字母區(qū)和基本的幾個(gè)功能鍵。40%鍵盤(pán)多見(jiàn)于國(guó)外用戶,國(guó)內(nèi)并不常見(jiàn):而60%鍵盤(pán)則在國(guó)內(nèi)外都有著很大的用戶數(shù)量,這一區(qū)別主要是因?yàn)橹形妮斎氡仨氁髷?shù)字鍵的配合:50%鍵盤(pán)則同時(shí)兼顧了數(shù)字與便攜性。雖然這三款配列都可以通過(guò)修改鍵位和設(shè)置組合鍵來(lái)輸出字符,但是越精簡(jiǎn)的鍵盤(pán)配列所需要設(shè)置的額外組合鍵位就越多,這無(wú)疑增加了使用鍵盤(pán)前的學(xué)習(xí)成本。
圖1的調(diào)查問(wèn)卷顯示,64.3%的人群更多是使用左手大拇指來(lái)輸入空格,7.1%是右手,而14.3%的人群是雙手交替使用??梢钥闯鍪褂米笫值娜苏剂舜蠖鄶?shù),所以設(shè)計(jì)時(shí)將長(zhǎng)空格分裂成兩個(gè)短空格,左空格保持了原有的空格功能,而右空格可以根據(jù)不同使用情況設(shè)置為切層鍵或宏或是其他功能鍵。此鍵盤(pán)根據(jù)需要可設(shè)置1~2個(gè)FN功能鍵,也可與字母區(qū)鍵位組合設(shè)置為其他功能鍵或錄制為宏,用來(lái)實(shí)現(xiàn)個(gè)性化功能。應(yīng)用此功能,可以使鍵盤(pán)"一鍵多用",在節(jié)省空間的同時(shí)也增加了新功能。
以40%與60%配列鍵盤(pán)為基礎(chǔ)對(duì)兩者優(yōu)缺點(diǎn)進(jìn)行了對(duì)比與取舍,設(shè)計(jì)出了全新的50%配列,一共有53個(gè)鍵位,其鍵盤(pán)配列圖如圖2所示,包括了常用功能鍵、字母區(qū)、數(shù)字鍵,并且支持組合鍵功能。利用配列代碼可以在KLE與KFB開(kāi)源軟件上編譯生成并根據(jù)實(shí)際情況修改鍵盤(pán)的固件,使用EDA軟件繪制鍵盤(pán)PCB原理圖。利用KFB的鍵盤(pán)固件可以將某一鍵改成任何基礎(chǔ)鍵、組合鍵,但在實(shí)際使用中需要使用qmk-toolbox將重新修改后編譯完成的固件配列文件再次燒錄進(jìn)芯片,以新文件覆蓋舊文件的方式實(shí)現(xiàn)鍵盤(pán)原鍵值配置的修改,操作不夠便利,且對(duì)于一般用戶來(lái)說(shuō)有一定的門(mén)檻。
圖2機(jī)械鍵盤(pán)配列圖
而VIA軟件可以省略這一過(guò)程,只需要將鍵盤(pán)連接電腦,打開(kāi)軟件就可以實(shí)現(xiàn)修改鍵位、錄制宏等功能,可以用更少更簡(jiǎn)單的步驟實(shí)現(xiàn)同樣的功能。因此,為了良好的用戶體驗(yàn),此鍵盤(pán)提供了適配VIA軟件的鍵盤(pán)固件文件 ,VIA軟件在識(shí)別到鍵盤(pán)后會(huì)顯示鍵盤(pán)的基礎(chǔ)信息,如名稱、矩陣信息、配列設(shè)置以及修改功能,如圖3所示。
2硬件構(gòu)成
本方案使用的芯片為ATmega32U4-AU。ATmega32作為高性能、低功耗的8位CMos微控制器,內(nèi)嵌了系統(tǒng)內(nèi)可編程Flash、8路10位ADC和26個(gè)可編程的I/O口,每個(gè)可編程的I/O口上都有可單獨(dú)設(shè)置為輸入、輸出的上拉電阻等,為方便后期焊接選用了針腳外露的AU款。主控電路及針腳分配如圖4所示
系統(tǒng)采用的是16MHz的5032無(wú)源晶振,兩端分別連接在xTAL1、xTAL2,在晶振x1旁邊連接兩個(gè)22pF的電容,接地。在REsET針腳上連接開(kāi)關(guān)作為鍵盤(pán)鍵值的重置鍵,便于后期重新燒錄固件文件調(diào)整鍵盤(pán)鍵位。
繪制主控電容、type-c接口及其他所需電路后,用x連接在未使用針腳尾部,避免系統(tǒng)報(bào)錯(cuò)。
3PCB設(shè)計(jì)
根據(jù)鍵盤(pán)矩陣圖排列軸座,共5行12列。在鍵盤(pán)矩陣行列電路的交叉點(diǎn)上設(shè)置鍵盤(pán)按鍵,設(shè)計(jì)時(shí)采用矩陣掃描鍵盤(pán)的方案,軸座選用國(guó)產(chǎn)無(wú)燈凱華軸座。
鍵盤(pán)PCB原理圖如圖5所示,選用I/O接口中的部分端口作為行掃描輸入與列掃描輸出,令端口的輸入和輸出掃描關(guān)系在使用過(guò)程中不發(fā)生改變。鍵盤(pán)掃描程序按順序使列掃描輸出端口輸出低電平,從行掃描輸入端口讀取按鍵狀態(tài)來(lái)確定被按下按鍵位置。
鍵盤(pán)掃描程序如下:
(1)令PB4輸出低電平后,再?gòu)钠渌袙呙栎斎攵丝谧x取按鍵狀態(tài),確定按下鍵位是否在第一列:
(2)如未識(shí)別到按下鍵位,則令PB5輸出低電平的同時(shí)以與步驟(1)相同的操作確定按下鍵位是否在第二列,以此類推,最終確定被按下的鍵位。
在掃描過(guò)程中,一旦識(shí)別到有鍵盤(pán)按鍵被按下,便可返回鍵值同時(shí)退出掃描程序。所有鍵盤(pán)按鍵處設(shè)置的鍵盤(pán)軸開(kāi)關(guān)列輸出位置均使用二極管與單片機(jī)內(nèi)的針腳電路相連串接,達(dá)到限制電流信號(hào)的流向的目的,額外設(shè)置的二極管可以使按下某個(gè)按鍵時(shí),與該按鍵相接的I/O口呈現(xiàn)高電平的同時(shí)不影響其他按鍵電路,即與該按鍵按鍵電路不相接的I/O口仍然是低電平,防止產(chǎn)生某一個(gè)按鍵被按下時(shí)所有I/O口都呈現(xiàn)高電平,導(dǎo)致主控讀取錯(cuò)誤信息。
4外觀設(shè)計(jì)
該鍵盤(pán)配列較為新穎,在常見(jiàn)的鍵盤(pán)結(jié)構(gòu)中,綜合成本與便攜性考慮,選用了亞克力堆疊的三明治結(jié)構(gòu),如圖6所示。該結(jié)構(gòu)利用上蓋和底殼將定位板夾在中間,并使用螺絲進(jìn)行固定。外殼材質(zhì)采用亞克力既能節(jié)約成本又可以適配多種個(gè)性化配列,設(shè)計(jì)簡(jiǎn)單,材質(zhì)輕便,易于攜帶。
圖6 亞克力堆疊鍵盤(pán)結(jié)構(gòu)示意圖
5結(jié)語(yǔ)
本設(shè)計(jì)對(duì)個(gè)人習(xí)慣、所需功能、實(shí)際使用情況等需求進(jìn)行調(diào)查分析與測(cè)試,從實(shí)際出發(fā),對(duì)比了多款不同特色配列的傳統(tǒng)鍵盤(pán)優(yōu)缺點(diǎn),并以此為基礎(chǔ),取長(zhǎng)補(bǔ)短,以滿足各種需求,最終設(shè)計(jì)出了一款全新的50%配列機(jī)械鍵盤(pán)。同時(shí),對(duì)鍵盤(pán)各項(xiàng)參數(shù)進(jìn)行了實(shí)際測(cè)試,使用手感符合預(yù)期,適配軟件運(yùn)行正常,外殼結(jié)實(shí)牢固,可靠性強(qiáng)。