0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Raspberry Pi Pico實現(xiàn)的數(shù)字鍵盤設計方案

科技觀察員 ? 來源:tinyboatproductions ? 作者:tinyboatproductions ? 2022-04-06 15:37 ? 次閱讀

今天,我將構建一個基于RaspberryPiPico的數(shù)字鍵盤。我將構建一個帶有20個開關的簡單正交數(shù)字鍵盤。然后我將介紹如何在其上安裝KMK固件。

KMK可以安裝在基于python微控制器上。用于一些簡單的永固,從數(shù)字鍵盤一直到全鍵盤。

補給品

poYBAGJNQvyAJa-CAAcxnzLomso525.png

樹莓派Picox1

鑰匙開關x20

二極管x20

鍵帽x20

金屬絲

機箱和硬件

焊接

工具

3D打印機(案例)

剪線鉗

鑷子

砂紙(可選)

烙鐵

計算機

USB

第1步:準備外殼

pYYBAGJNQveALsjpAARE3rGuUuA410.png

我在Ender3Pro上用PLA設計并打印了這個外殼。(點擊可下載

外殼設計為最多使用6個M3螺釘,但對于數(shù)字鍵盤,我只會使用其中的4個。

邊緣有點粗糙,所以我將底座擰到頂部并濕磨邊緣以使其平滑。在短短幾分鐘內,我就可以擺脫顛簸,并給表殼帶來漂亮的啞光效果。

第2步:安裝硬件組件:

poYBAGJNQvOAeBVuAACyHjR426w069.png

poYBAGJNQu-AOzAUAAjSkJ02w98563.png

我將把所有硬件集中到一個步驟中。正如我在第1部分視頻中提到的,我在這里有一些建議,希望你能比我更輕松。

我已經(jīng)包含了上面的電路圖。

安裝開關

將所有開關放在同一方向。這樣可以更輕松地在下一步中安裝二極管。

彎曲二極管

彎曲二極管的一條腿,使其與二極管的其余部分成45度角。在引腳上設置這個角度,使二極管沿著開關的一側向下流動

將另一條腿彎曲90度。這可以用來連接到其余的二極管行

請查看此步驟中的另一個圖表,以更好地了解我的意思。

安裝二極管

將二極管放置到位,然后先將二極管焊接到開關上

將90度腿焊接到其余的二極管行

每次都仔細檢查二極管的方向,方向并不重要,重要的是它們都相同

修剪掉多余的引線

連接列

我使用了一根實芯線,每隔14毫米切割一次絕緣層,然后你可以滑動絕緣層,為開關上的另一個引腳留出小間隙。

我還從一端移除了大約1英寸(25毫米)的絕緣層,以騰出足夠的空間來移動絕緣層

將電線放置到位時,我在要連接的引腳之間曲折。這有助于在我焊接時將其固定到位

剪掉多余的電線

將行和列連接到Pico

我使用了一些長段絞合線連接到每一行和每一列

然后將它們連接到Pico。引腳號不是超級導入,只是跟蹤它們,以便以后在代碼中使用它們

第3步:什么是KMK?

poYBAGJNQuiAVFkrAATA_PziFcE107.png

“KMK是一款功能豐富且對初學者友好的固件,適用于在CircuitPython中編寫和配置的計算機鍵盤。”

這是他們的GitHub的鏈接,其中包含更多信息。

我使用它是因為我發(fā)現(xiàn)使用QMK(大多數(shù)鍵盤的標準)要容易得多??梢栽谌魏斡嬎銠C上以純文本形式完成。

第4步:在Pico上安裝軟件

pYYBAGJNQuOAdNtSAASyUVga7MA681.png

poYBAGJNQt-AXz0ZAAM320OjTsE195.png

有了所有硬件,我們需要在Pico上安裝一些軟件。這一切都可以在不安裝任何其他軟件的情況下完成。

我從KMKGitHub入門頁面了解了如何完成所有這些操作。如果您想要更多信息或功能,那里有大量有用的信息。

需要的第一個軟件是來自Adafruit的最新CircutPythonUF2。

只需下載文件

按住Pico上的啟動按鈕并將其插入計算機(如果它一直提示錯誤,請嘗試在不按住啟動按鈕的情況下將其插入)

Pico應顯示為外部存儲設備

將下載的UF2文件拖到Pico。它本身應該彈出,然后在幾分鐘后重新連接一個新名稱

接下來是KMK固件“安裝”。

從他們的GitHub獲取最新版本的KMK(從入門頁面獲取此鏈接)。

它將下載一個.zip文件。提取所有文件。

在文件夾中找到KMK文件夾和boot.py文件。

從文件夾中復制這些項目并將它們粘貼到Pico

第5步:添加Code.py

pYYBAGJNQtqAeIkrAANEaJbiTvk488.png

到目前為止,KMK的舞臺剛剛準備好,現(xiàn)在我需要告訴它實際要做什么。

這是使用code.py文件完成的。Pico上應該有一個,如果不只是創(chuàng)建一個名為code.py的新文件。

幸運的是,大部分的辛勤工作已經(jīng)完成。我只需要從GitHub頁面復制示例代碼并將其粘貼到code.py文件中。我使用NotePad++編輯此文件,但這也可以在NotePad中完成

我需要給這個文件我的數(shù)字鍵盤的所有細節(jié)。

為此,我首先需要為代碼提供第11行和第12行中行和列的引腳號。

接下來我需要更改二極管方向,因為代碼需要知道一切是如何設置的。我將它從COL2ROW更改為ROW2COL。

現(xiàn)在大部分方法都完成了,我只需要添加鍵映射?;蛘呤裁存I應該在哪里。我參考了這個網(wǎng)頁來找到我可以使用的所有關鍵代碼。我不會詳細介紹這一點,但請看一下我使用的內容并進行您想要的任何更改。

代碼:(可點擊下載)

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__':

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鍵盤
    +關注

    關注

    4

    文章

    854

    瀏覽量

    39363
收藏 人收藏

    評論

    相關推薦

    USB數(shù)字鍵盤的數(shù)據(jù)傳輸模式是什么?

    數(shù)字鍵盤 有一個健按下,傳輸是以什么傳至USB口進行數(shù)據(jù)通信,是直接以標準的鍵盤ASCII碼輸出嗎?
    發(fā)表于 04-27 10:03

    單機數(shù)值輸入控件,彈出數(shù)字鍵盤,單擊數(shù)字輸入值

    我想將觸摸屏用到電腦上,所以數(shù)值輸入不能用鍵盤,我需要一個vi,單擊數(shù)值輸入控件后彈出數(shù)字鍵盤,單擊數(shù)字鍵盤的值實現(xiàn)數(shù)值輸入。請問哪位大神給點意見
    發(fā)表于 03-10 09:12

    如何用虛擬數(shù)字鍵盤對多個輸入控件進行輸入?

    按方向鍵在幾個輸入控件中選擇,按數(shù)字鍵輸入,按enter鍵保存輸入結果,如何實現(xiàn)
    發(fā)表于 12-03 10:04

    如何用TJC串口屏去做一個數(shù)字鍵盤

    如何用TJC串口屏去做一個數(shù)字鍵盤?遇到了哪些問題?怎樣去解決?
    發(fā)表于 10-25 07:15

    STM32F103ZET6數(shù)字鍵盤的代碼分享

    STM32F103ZET6數(shù)字鍵盤的代碼分享
    發(fā)表于 12-14 06:07

    LCD和數(shù)字鍵盤實現(xiàn)的人機交互式界面

    引言目前,以LCD和數(shù)字鍵盤實現(xiàn)的人機交互式界面在智能終端中廣泛采用。在不同的應用場合,對人機界面的要求也不同,一些情況下只要求簡單參數(shù)的顯示和選擇,而在一些信息終端中,還要求文字的輸入。 在
    發(fā)表于 12-22 06:09

    如何制作一個小數(shù)字鍵盤

    按鍵數(shù)量,按鍵功能,我這里制作一個小數(shù)字鍵盤,增加了Delete按鍵,使用的是紅軸機械按鍵,效果如下二、環(huán)境stm32f1keilwindow10三、正文我畫的原理圖如下pcb核心程序#include "stm32f10x.h"#i...
    發(fā)表于 01-25 07:41

    如何實現(xiàn)基于Arduino的HID數(shù)字鍵盤設計?

    如何實現(xiàn)基于Arduino的HID數(shù)字鍵盤設計?
    發(fā)表于 02-15 07:23

    如何利用HAL庫去制作一種u***數(shù)字鍵盤

    如何利用HAL庫去制作一種u***數(shù)字鍵盤呢?有哪些制作步驟?
    發(fā)表于 03-01 07:37

    如何利用CH549開發(fā)一款觸摸的數(shù)字鍵盤

    最近有個數(shù)字鍵盤的小項目要做,前段時間搜索了一些芯片發(fā)現(xiàn)CH549似乎可以單片即可實現(xiàn)。咨詢了下價格也非常優(yōu)秀,就打了塊板子回來測試,今天搗鼓了半天才把下載的問題解決。網(wǎng)上買的這種下載,居然弄不了哎
    發(fā)表于 05-26 06:56

    如何切換筆記本小鍵盤

    在臺式電腦中都有設在右邊之專用數(shù)字鍵盤,而在筆記本中由于鍵盤容量問題,只有橫排之數(shù)字鍵盤,沒有專用數(shù)字鍵盤,但在筆記本之中間右側,有些字母鍵下方也標有
    發(fā)表于 10-08 15:25 ?2.4w次閱讀

    減少數(shù)字鍵盤所需的引腳數(shù)量開源

    電子發(fā)燒友網(wǎng)站提供《減少數(shù)字鍵盤所需的引腳數(shù)量開源.zip》資料免費下載
    發(fā)表于 10-28 11:42 ?2次下載
    減少<b class='flag-5'>數(shù)字鍵盤</b>所需的引腳數(shù)量開源

    數(shù)字鍵盤開源硬件

    電子發(fā)燒友網(wǎng)站提供《數(shù)字鍵盤開源硬件.zip》資料免費下載
    發(fā)表于 01-29 16:51 ?0次下載
    <b class='flag-5'>數(shù)字鍵盤</b>開源硬件

    如何使用數(shù)字鍵盤控制7段顯示器

    電子發(fā)燒友網(wǎng)站提供《如何使用數(shù)字鍵盤控制7段顯示器.zip》資料免費下載
    發(fā)表于 02-03 14:03 ?0次下載
    如何使用<b class='flag-5'>數(shù)字鍵盤</b>控制7段顯示器

    基于XIAO SAMD21開發(fā)板的數(shù)字鍵盤制作方案

    今天小編給大家?guī)砹藖碜杂《鹊腁rnov Sharma 制作的基于XIAO SAMD21的數(shù)字鍵盤項目,該項目可以通過按鍵在電腦和OLED的屏幕上輸入0-9的阿拉伯數(shù)字,可以當作一個數(shù)字鍵盤
    的頭像 發(fā)表于 09-06 10:02 ?158次閱讀
    基于XIAO SAMD21開發(fā)板的<b class='flag-5'>數(shù)字鍵盤</b>制作<b class='flag-5'>方案</b>