今天,我將構(gòu)建一個(gè)基于RaspberryPiPico的數(shù)字鍵盤(pán)。我將構(gòu)建一個(gè)帶有20個(gè)開(kāi)關(guān)的簡(jiǎn)單正交數(shù)字鍵盤(pán)。然后我將介紹如何在其上安裝KMK固件。
KMK可以安裝在基于python的微控制器上。用于一些簡(jiǎn)單的永固,從數(shù)字鍵盤(pán)一直到全鍵盤(pán)。
補(bǔ)給品

樹(shù)莓派Picox1
鑰匙開(kāi)關(guān)x20
二極管x20
鍵帽x20
金屬絲
機(jī)箱和硬件
焊接
工具
3D打印機(jī)(案例)
剪線鉗
鉗
鑷子
砂紙(可選)
烙鐵
計(jì)算機(jī)
USB線
第1步:準(zhǔn)備外殼

我在Ender3Pro上用PLA設(shè)計(jì)并打印了這個(gè)外殼。(點(diǎn)擊可下載)
外殼設(shè)計(jì)為最多使用6個(gè)M3螺釘,但對(duì)于數(shù)字鍵盤(pán),我只會(huì)使用其中的4個(gè)。
邊緣有點(diǎn)粗糙,所以我將底座擰到頂部并濕磨邊緣以使其平滑。在短短幾分鐘內(nèi),我就可以擺脫顛簸,并給表殼帶來(lái)漂亮的啞光效果。
第2步:安裝硬件組件:


我將把所有硬件集中到一個(gè)步驟中。正如我在第1部分視頻中提到的,我在這里有一些建議,希望你能比我更輕松。
我已經(jīng)包含了上面的電路圖。
安裝開(kāi)關(guān)
將所有開(kāi)關(guān)放在同一方向。這樣可以更輕松地在下一步中安裝二極管。
彎曲二極管
彎曲二極管的一條腿,使其與二極管的其余部分成45度角。在引腳上設(shè)置這個(gè)角度,使二極管沿著開(kāi)關(guān)的一側(cè)向下流動(dòng)
將另一條腿彎曲90度。這可以用來(lái)連接到其余的二極管行
請(qǐng)查看此步驟中的另一個(gè)圖表,以更好地了解我的意思。
安裝二極管
將二極管放置到位,然后先將二極管焊接到開(kāi)關(guān)上
將90度腿焊接到其余的二極管行
每次都仔細(xì)檢查二極管的方向,方向并不重要,重要的是它們都相同
修剪掉多余的引線
連接列
我使用了一根實(shí)芯線,每隔14毫米切割一次絕緣層,然后你可以滑動(dòng)絕緣層,為開(kāi)關(guān)上的另一個(gè)引腳留出小間隙。
我還從一端移除了大約1英寸(25毫米)的絕緣層,以騰出足夠的空間來(lái)移動(dòng)絕緣層
將電線放置到位時(shí),我在要連接的引腳之間曲折。這有助于在我焊接時(shí)將其固定到位
剪掉多余的電線
將行和列連接到Pico
我使用了一些長(zhǎng)段絞合線連接到每一行和每一列
然后將它們連接到Pico。引腳號(hào)不是超級(jí)導(dǎo)入,只是跟蹤它們,以便以后在代碼中使用它們
第3步:什么是KMK?

“KMK是一款功能豐富且對(duì)初學(xué)者友好的固件,適用于在CircuitPython中編寫(xiě)和配置的計(jì)算機(jī)鍵盤(pán)?!?/p>
這是他們的GitHub的鏈接,其中包含更多信息。
我使用它是因?yàn)槲野l(fā)現(xiàn)使用QMK(大多數(shù)鍵盤(pán)的標(biāo)準(zhǔn))要容易得多??梢栽谌魏斡?jì)算機(jī)上以純文本形式完成。
第4步:在Pico上安裝軟件


有了所有硬件,我們需要在Pico上安裝一些軟件。這一切都可以在不安裝任何其他軟件的情況下完成。
我從KMKGitHub入門(mén)頁(yè)面了解了如何完成所有這些操作。如果您想要更多信息或功能,那里有大量有用的信息。
需要的第一個(gè)軟件是來(lái)自Adafruit的最新CircutPythonUF2。
只需下載文件
按住Pico上的啟動(dòng)按鈕并將其插入計(jì)算機(jī)(如果它一直提示錯(cuò)誤,請(qǐng)嘗試在不按住啟動(dòng)按鈕的情況下將其插入)
Pico應(yīng)顯示為外部存儲(chǔ)設(shè)備
將下載的UF2文件拖到Pico。它本身應(yīng)該彈出,然后在幾分鐘后重新連接一個(gè)新名稱
接下來(lái)是KMK固件“安裝”。
從他們的GitHub獲取最新版本的KMK(從入門(mén)頁(yè)面獲取此鏈接)。
它將下載一個(gè).zip文件。提取所有文件。
在文件夾中找到KMK文件夾和boot.py文件。
從文件夾中復(fù)制這些項(xiàng)目并將它們粘貼到Pico
第5步:添加Code.py

到目前為止,KMK的舞臺(tái)剛剛準(zhǔn)備好,現(xiàn)在我需要告訴它實(shí)際要做什么。
這是使用code.py文件完成的。Pico上應(yīng)該有一個(gè),如果不只是創(chuàng)建一個(gè)名為code.py的新文件。
幸運(yùn)的是,大部分的辛勤工作已經(jīng)完成。我只需要從GitHub頁(yè)面復(fù)制示例代碼并將其粘貼到code.py文件中。我使用NotePad++編輯此文件,但這也可以在NotePad中完成
我需要給這個(gè)文件我的數(shù)字鍵盤(pán)的所有細(xì)節(jié)。
為此,我首先需要為代碼提供第11行和第12行中行和列的引腳號(hào)。
接下來(lái)我需要更改二極管方向,因?yàn)榇a需要知道一切是如何設(shè)置的。我將它從COL2ROW更改為ROW2COL。
現(xiàn)在大部分方法都完成了,我只需要添加鍵映射?;蛘呤裁存I應(yīng)該在哪里。我參考了這個(gè)網(wǎng)頁(yè)來(lái)找到我可以使用的所有關(guān)鍵代碼。我不會(huì)詳細(xì)介紹這一點(diǎn),但請(qǐng)看一下我使用的內(nèi)容并進(jìn)行您想要的任何更改。
代碼:(可點(diǎn)擊下載)
print("Starting")
import board
from kmk.kmk_keyboard import KMKKeyboard
from kmk.keys import KC
from kmk.matrix import DiodeOrientation
keyboard = KMKKeyboard()
keyboard.col_pins = (board.GP0,board.GP1, board.GP2, board.GP3) # try D5 on Feather, keeboar
keyboard.row_pins = (board.GP4, board.GP5, board.GP6, board.GP7, board.GP8) # try D6 on Feather, keeboar
keyboard.diode_orientation = DiodeOrientation.ROW2COL
keyboard.keymap = [
[KC.A, KC.LSHIFT, KC.TAB, KC.KP_PLUS,
KC.N7, KC.N8, KC.N9, KC.KP_ASTERISK,
KC.N4, KC.N5, KC.N6, KC.KP_MINUS,
KC.N1, KC.N2, KC.N3, KC.KP_SLASH,
KC.BSPC, KC.N0, KC.KP_DOT, KC.KP_ENTER,
]
]
if __name__ == '__main__':
-
鍵盤(pán)
+關(guān)注
關(guān)注
4文章
868瀏覽量
41550
發(fā)布評(píng)論請(qǐng)先 登錄
USB數(shù)字鍵盤(pán)的數(shù)據(jù)傳輸模式是什么?
單機(jī)數(shù)值輸入控件,彈出數(shù)字鍵盤(pán),單擊數(shù)字輸入值
如何用TJC串口屏去做一個(gè)數(shù)字鍵盤(pán)
LCD和數(shù)字鍵盤(pán)實(shí)現(xiàn)的人機(jī)交互式界面
如何制作一個(gè)小數(shù)字鍵盤(pán)
如何實(shí)現(xiàn)基于Arduino的HID數(shù)字鍵盤(pán)設(shè)計(jì)?
如何利用HAL庫(kù)去制作一種u***數(shù)字鍵盤(pán)呢
如何利用CH549開(kāi)發(fā)一款觸摸的數(shù)字鍵盤(pán)?
如何切換筆記本小鍵盤(pán)
減少數(shù)字鍵盤(pán)所需的引腳數(shù)量開(kāi)源
數(shù)字鍵盤(pán)開(kāi)源硬件
如何使用數(shù)字鍵盤(pán)控制7段顯示器
基于XIAO SAMD21開(kāi)發(fā)板的數(shù)字鍵盤(pán)制作方案

基于Raspberry Pi Pico實(shí)現(xiàn)的數(shù)字鍵盤(pán)設(shè)計(jì)方案
評(píng)論