0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Raspberry Pi Pico实现的数字键盘设计方案

科技观察员 来源:tinyboatproductions 作者:tinyboatproductions 2022-04-06 15:37 次阅读

今天,我将构建一个基于RaspberryPiPico的数字键盘。我将构建一个带有20个开关的简单正交数字键盘。然后我将介绍如何在其上安装KMK固件。

KMK可以安装在基于python微控制器上。用于一些简单的永固,从数字键盘一直到全键盘。

补给品

poYBAGJNQvyAJa-CAAcxnzLomso525.png

树莓派Picox1

钥匙开关x20

二极管x20

键帽x20

金属丝

机箱和硬件

焊接

工具

3D打印机(案例)

剪线钳

镊子

砂纸(可选)

烙铁

计算机

USB线

第1步:准备外壳

pYYBAGJNQveALsjpAARE3rGuUuA410.png

我在Ender3Pro上用PLA设计并打印了这个外壳。(点击可下载

外壳设计为最多使用6个M3螺钉,但对于数字键盘,我只会使用其中的4个。

边缘有点粗糙,所以我将底座拧到顶部并湿磨边缘以使其平滑。在短短几分钟内,我就可以摆脱颠簸,并给表壳带来漂亮的哑光效果。

第2步:安装硬件组件:

poYBAGJNQvOAeBVuAACyHjR426w069.png

poYBAGJNQu-AOzAUAAjSkJ02w98563.png

我将把所有硬件集中到一个步骤中。正如我在第1部分视频中提到的,我在这里有一些建议,希望你能比我更轻松。

我已经包含了上面的电路图。

安装开关

将所有开关放在同一方向。这样可以更轻松地在下一步中安装二极管。

弯曲二极管

弯曲二极管的一条腿,使其与二极管的其余部分成45度角。在引脚上设置这个角度,使二极管沿着开关的一侧向下流动

将另一条腿弯曲90度。这可以用来连接到其余的二极管行

请查看此步骤中的另一个图表,以更好地了解我的意思。

安装二极管

将二极管放置到位,然后先将二极管焊接到开关上

将90度腿焊接到其余的二极管行

每次都仔细检查二极管的方向,方向并不重要,重要的是它们都相同

修剪掉多余的引线

连接列

我使用了一根实芯线,每隔14毫米切割一次绝缘层,然后你可以滑动绝缘层,为开关上的另一个引脚留出小间隙。

我还从一端移除了大约1英寸(25毫米)的绝缘层,以腾出足够的空间来移动绝缘层

将电线放置到位时,我在要连接的引脚之间曲折。这有助于在我焊接时将其固定到位

剪掉多余的电线

将行和列连接到Pico

我使用了一些长段绞合线连接到每一行和每一列

然后将它们连接到Pico。引脚号不是超级导入,只是跟踪它们,以便以后在代码中使用它们

第3步:什么是KMK?

poYBAGJNQuiAVFkrAATA_PziFcE107.png

“KMK是一款功能丰富且对初学者友好的固件,适用于在CircuitPython中编写和配置的计算机键盘。”

这是他们的GitHub的链接,其中包含更多信息

我使用它是因为我发现使用QMK(大多数键盘的标准)要容易得多。可以在任何计算机上以纯文本形式完成。

第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的舞台刚刚准备好,现在我需要告诉它实际要做什么。

这是使用code.py文件完成的。Pico上应该有一个,如果不只是创建一个名为code.py的新文件。

幸运的是,大部分的辛勤工作已经完成。我只需要从GitHub页面复制示例代码并将其粘贴到code.py文件中。我使用NotePad++编辑此文件,但这也可以在NotePad中完成

我需要给这个文件我的数字键盘的所有细节。

为此,我首先需要为代码提供第11行和第12行中行和列的引脚号。

接下来我需要更改二极管方向,因为代码需要知道一切是如何设置的。我将它从COL2ROW更改为ROW2COL。

现在大部分方法都完成了,我只需要添加键映射。或者什么键应该在哪里。我参考了这个网页来找到我可以使用的所有关键代码。我不会详细介绍这一点,但请看一下我使用的内容并进行您想要的任何更改。

代码:(可点击下载)

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 键盘
    +关注

    关注

    4

    文章

    858

    浏览量

    39575
收藏 人收藏

    评论

    相关推荐

    USB数字键盘的数据传输模式是什么?

    数字键盘 有一个健按下,传输是以什么传至USB口进行数据通信,是直接以标准的键盘ASCII码输出吗?
    发表于 04-27 10:03

    单机数值输入控件,弹出数字键盘,单击数字输入值

    我想将触摸屏用到电脑上,所以数值输入不能用键盘,我需要一个vi,单击数值输入控件后弹出数字键盘,单击数字键盘的值实现数值输入。请问哪位大神给点意见
    发表于 03-10 09:12

    如何用虚拟数字键盘对多个输入控件进行输入?

    按方向键在几个输入控件中选择,按数字键输入,按enter键保存输入结果,如何实现
    发表于 12-03 10:04

    如何用TJC串口屏去做一个数字键盘

    如何用TJC串口屏去做一个数字键盘?遇到了哪些问题?怎样去解决?
    发表于 10-25 07:15

    STM32F103ZET6数字键盘的代码分享

    STM32F103ZET6数字键盘的代码分享
    发表于 12-14 06:07

    LCD和数字键盘实现的人机交互式界面

    引言目前,以LCD和数字键盘实现的人机交互式界面在智能终端中广泛采用。在不同的应用场合,对人机界面的要求也不同,一些情况下只要求简单参数的显示和选择,而在一些信息终端中,还要求文字的输入。 在
    发表于 12-22 06:09

    如何制作一个小数字键盘

    按键数量,按键功能,我这里制作一个小数字键盘,增加了Delete按键,使用的是红轴机械按键,效果如下二、环境stm32f1keilwindow10三、正文我画的原理图如下pcb核心程序#include "stm32f10x.h"#i...
    发表于 01-25 07:41

    如何实现基于Arduino的HID数字键盘设计?

    如何实现基于Arduino的HID数字键盘设计?
    发表于 02-15 07:23

    如何利用HAL库去制作一种u***数字键盘

    如何利用HAL库去制作一种u***数字键盘呢?有哪些制作步骤?
    发表于 03-01 07:37

    如何利用CH549开发一款触摸的数字键盘

    最近有个数字键盘的小项目要做,前段时间搜索了一些芯片发现CH549似乎可以单片即可实现。咨询了下价格也非常优秀,就打了块板子回来测试,今天捣鼓了半天才把下载的问题解决。网上买的这种下载,居然弄不了哎
    发表于 05-26 06:56

    如何切换笔记本小键盘

    在台式电脑中都有设在右边之专用数字键盘,而在笔记本中由于键盘容量问题,只有横排之数字键盘,没有专用数字键盘,但在笔记本之中间右侧,有些字母键下方也标有
    发表于 10-08 15:25 2.4w次阅读

    减少数字键盘所需的引脚数量开源

    电子发烧友网站提供《减少数字键盘所需的引脚数量开源.zip》资料免费下载
    发表于 10-28 11:42 2次下载
    减少<b class='flag-5'>数字键盘</b>所需的引脚数量开源

    数字键盘开源硬件

    电子发烧友网站提供《数字键盘开源硬件.zip》资料免费下载
    发表于 01-29 16:51 0次下载
    <b class='flag-5'>数字键盘</b>开源硬件

    如何使用数字键盘控制7段显示器

    电子发烧友网站提供《如何使用数字键盘控制7段显示器.zip》资料免费下载
    发表于 02-03 14:03 0次下载
    如何使用<b class='flag-5'>数字键盘</b>控制7段显示器

    基于XIAO SAMD21开发板的数字键盘制作方案

    今天小编给大家带来了来自印度的Arnov Sharma 制作的基于XIAO SAMD21的数字键盘项目,该项目可以通过按键在电脑和OLED的屏幕上输入0-9的阿拉伯数字,可以当作一个数字键盘
    的头像 发表于 09-06 10:02 284次阅读
    基于XIAO SAMD21开发板的<b class='flag-5'>数字键盘</b>制作<b class='flag-5'>方案</b>