这个客制化键盘,秀翻我了~
? ? 關(guān)注、星標(biāo)公眾號,直達(dá)精彩內(nèi)容
文章內(nèi)容出處:稚暉君
自稱“鴿王”的稚暉君終于更新啦。這次他帶來的新項目則是:一把完全客制化、帶屏幕模塊的機械鍵盤!
有網(wǎng)友表示,稚暉君的這個新項目,為鍵圈乃至整個鍵盤行業(yè)提供了新的設(shè)計思路,甚至有望改變目前客制化以換殼為本的囧境。
稚暉君表示,在客制化的圈子里,一般都是以工業(yè)設(shè)計為大頭,軟硬件方面都是采用現(xiàn)成的參考設(shè)計和開源固件,但稚暉君想要最大程度的開發(fā)自由,于是他從頭設(shè)計了鍵盤電路硬件以及固件代碼。
從電路硬件說起
鍵盤電路的硬件原理很簡單,就是一堆開關(guān),每個鍵軸就是一個獨立的開關(guān),按下導(dǎo)通為0,彈起為1,通過控制器芯片就可以檢測按鍵的高低電平,就可以知道某個按鍵是否被按下。
但是......現(xiàn)實的情況卻比理論上復(fù)雜一些。
一個鍵盤有大約 100?個按鍵,要是給每個按鍵都接一根導(dǎo)線到 MCU 的引腳,就需要 100?多個引腳,浪費且不顯示。因此市面上的鍵盤都是采用矩陣鍵盤形式來檢測按鍵。
例如對于4行X4列共16個按鍵組成的矩陣,單獨鏈接的話需要16個IO,而舉證掃描只需要8個IO。
但這樣就遇到了第二個問題,矩陣掃描的方式設(shè)計電路,按鍵之間不再是獨立鏈接,存在一定的耦合,所以會出現(xiàn)“鬼鍵”現(xiàn)象。稚暉君表示我們可以在每個按鍵下面添加一個二極管來防止誤觸發(fā)。
第三個問題是,為了提升鍵盤的手感,在設(shè)計 PCB 的時候需要做減震處理,在 PCB 建軸之間挖出很多長槽。但矩陣鍵盤和一堆二極管的模式會導(dǎo)致 PCB 的走線變得非常麻煩。
有解決辦法嗎?稚暉君使用移位寄存器來實現(xiàn)按鍵掃描。
具體來說,基于移位寄存器的并行輸入、轉(zhuǎn)串行輸出功能,把每個按鍵都看作是寄存器的一位,那么每加載一個時鐘信號就可以依次讀出每個按鍵的狀態(tài)。
這種方案不僅非常節(jié)省 IO,而且掃描速度極快,理論上每秒能掃描 5 千萬個按鍵。再來,褪下二極管,電路也變得極其簡單。
基于高性能的ARM主控開發(fā)了一套鍵盤固件
目前市面上絕大多數(shù)客制化鍵盤都是使用 QMK、ZMK 這樣的開源固件,為了適配更多的鍵盤型號,它們的代碼通常都很臃腫,擴(kuò)展性能也不好,因此稚暉君基于高性能的ARM主控開發(fā)了一套鍵盤固件,基本上把全速HID設(shè)備的性能都拉到頂了。
在固件中實現(xiàn)了HID設(shè)備枚舉,1KHz 的硬實時報文以及1ms的超低延遲,超高刷新率的全按鍵獨立 RGB 燈控制,支持NKRO也就是所謂的全鍵無沖,添加每個按鍵獨立的濾波算法,支持Bootloader更新固件,支持多層鍵位映射配置等。稚暉君將這套固件的代碼進(jìn)行了開源。
外觀設(shè)計基于Xikii?的?S98?鍵盤修改
稚暉君的老粉都知道,在之前的自行車、機械臂項目中,外殼零件都是 up 主?@Xikii廠長幫助加工的,而這次的客制化鍵盤恰巧就是 Xikii 的老本行。稚暉君這款鍵盤的工業(yè)設(shè)計便是基于之前 Xikii 發(fā)布的 S98 鍵盤修改而成。
長這樣:
稚暉君表示:鍵盤左邊這個玩意才是這個項目的重點,接下來才是視頻正文。
正片開始
什么才是只能鍵盤呢?稚暉君表示,參考智能手機的定義與傳統(tǒng)手機的區(qū)別:智能機有各種傳感器,能夠隨時安裝各類 APP,且能不斷獲取新能力。
于是他給鍵盤家上了屏幕,還不止一塊,所以這是一個模塊化的鍵盤,由三部分組成:鍵盤主體、一個帶 USB-HUB 功能的底座、一塊可DIY顯示內(nèi)容的智能交互模塊。
智能交互模塊
智能交互模塊搭載了一塊電子墨水屏幕,可以自定義顯示各種內(nèi)容,如你喜歡的圖片、天氣預(yù)報、Github貢獻(xiàn)墻、電腦剩余電量等狀態(tài)顯示等等……
稚暉君表示,他會把這個模塊二次開發(fā)的通信協(xié)議和驅(qū)動都封裝成SDK,客制化發(fā)燒友們便可以基于SDK開發(fā)各種交互應(yīng)用。
而對于科技小白來說,稚暉君也貼心地配備了配套傻瓜軟件工具,只需要鼠標(biāo)將電腦屏幕上的圖片“瀚安”拖入工具中,“瀚安”幾乎一眨眼便出現(xiàn)在了墨水屏幕上,比更換手機壁紙還要簡單。
滾輪旋鈕
稚暉君表示如果只是多了一塊屏幕,也不見得智能了多少。
因此他又添加了第二塊屏幕,一塊OLED,以及旁邊一個長得很像電機的電機。
稚暉君曾經(jīng)發(fā)布過一個視頻,展示如何通過FOC控制把一個無刷電機模擬成各種物理效果的旋鈕。他在這次的設(shè)計中融合了滾輪旋鈕,可以模擬出任意力反饋效果,如0摩擦力滾動、多檔開關(guān)、彈簧、阻尼等,所有參數(shù)可以動態(tài)配置,再結(jié)合一旁的OLED屏幕,就可開發(fā)出許多有意思的應(yīng)用。
比如向上推旋鈕打開任務(wù)視圖、向下推顯示桌面;或把它模擬成帶阻尼的旋鈕來調(diào)節(jié)音量;或模擬成無摩擦的慣性旋鈕來滾動頁面,由于無摩擦的原因,頁面滾動極致絲滑……
更有意思的是,這個旋鈕還可以主動旋轉(zhuǎn),結(jié)合OLED屏幕可以顯示CPU占用等信息。
不過,稚暉君表示也為了實現(xiàn)所提到的工程效果是需要解決許多難點的,例如, USB2.0的接口最大只能提供5V/500mA 的電源功率,遠(yuǎn)達(dá)不到無刷電機所需的功率,所以稚暉君借用了航母上電磁彈射的設(shè)計思路:先蓄電再放電。通過在HUB底座中安裝電池和電源管理模塊,以及升壓電路,將USB輸出的小電流能量進(jìn)行儲存,在升壓之后提供給點擊更大的峰值功率。
此外還需解決其他的難點,如模塊間復(fù)雜的連接拓?fù)?#xff0c;通信協(xié)議的設(shè)計,還有結(jié)構(gòu)設(shè)計上的各種干涉問題等。
USB?HUB
稚暉君稱上述模塊只是大大提升了鍵盤的可玩性,但他認(rèn)為他理想中的鍵盤不應(yīng)該只有這些酷炫的功能,還應(yīng)該實際解決一些效率提升的問題。
例如在手機已經(jīng)標(biāo)配人臉識別、指紋識別很多年的當(dāng)下,臺式機為何仍然要采用傳統(tǒng)的輸入密碼解鎖呢?
稚暉君表示windows hello提供了一個優(yōu)雅的解決方案,可以用特定的配件進(jìn)行人臉識別或指紋識別,但臺式機的指紋識別應(yīng)該放在哪呢?稚暉君于是在USB HUB的位置插入了一個指紋識別模塊,親測效果極佳。
如果電腦已經(jīng)裝好了人臉識別識別設(shè)備,這個設(shè)計也不會浪費,可以替換插入鼠標(biāo)接受器,游戲手柄接收器等實用模塊。
獨創(chuàng)電容式觸摸按鍵條
完成了以上設(shè)計后,稚暉君式奇思又鉆了出來:平時在打字時,兩個大拇指好像沒什么事做?一起按一個空格鍵,是不是有些浪費?
于是乎,他給鍵盤側(cè)面貼上了一個電容式觸摸按鍵條。
通過設(shè)置,這個觸控條可以用來實現(xiàn)切換顯示窗口、切換音樂、復(fù)制粘貼等等操作。
從“殼制化”邁向“客制化”
無論是從電路還是從顯示屏、旋鈕等,不難看出稚暉君基本都是在鍵盤功能性上進(jìn)行設(shè)計整合的。
稚暉君在社交平臺公布了視頻之后,網(wǎng)友評論“看不懂專業(yè)技術(shù),但大受震撼”,也有不少網(wǎng)友留言要華為終端進(jìn)行量產(chǎn),加入鴻蒙互聯(lián)。有意思的是,華為B站的官方號也轉(zhuǎn)發(fā)了這段視頻,并評論稱“太厲害了!”。
不少玩客制化的網(wǎng)友表示,稚暉君不是贏在多么天才的構(gòu)想上,而是作為一名電子工程師對于技術(shù)的極致追求(以及對于廣大客制化愛好者智商的尊重),這才實現(xiàn)了從“殼制化”邁向“客制化”的重要一步。
此外,還有網(wǎng)友調(diào)侃到建議標(biāo)題改成“我用108天打了個字”。
版權(quán)聲明:本文來源網(wǎng)絡(luò),免費傳達(dá)知識,版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請聯(lián)系我進(jìn)行刪除。
???????????????? ?END ????????????????
總結(jié)
以上是生活随笔為你收集整理的这个客制化键盘,秀翻我了~的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公共图标库
- 下一篇: mongo vue 破解