本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页
最热资讯


亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」
在控制您的 PC(甚至手机和平板电脑)按键的时候,拥有一个矩阵键盘非常地方便。只需按一下按钮即可启动宏,从而加快您的工作流程。这些键盘随处可见。但是,如果您可以自己构建一个呢?
在本教程中,我将使用 Raspberry Pi Pico 和带触摸屏的 TFT制作一个属于自己地矩阵键盘。
零件清单:
用品:
工具:
第 1 步:观看视频
在开始这个项目开始之前,我的建议是先观看一下我的视频,可以让你更加直观的了解到制作的流程。
第 2 步:获取您需要的零件
该项目包含两个主要部分,Raspberry Pi Pico 和带触摸屏的 ILI9488 TFT。您可以从各种经销商处购买这些产品。您还需要找到将屏幕连接到 Pico 的方法。您可以使用面包板和面包板电线,使用原型板并将所有东西焊接在一起。
第 3 步:将 TFT 屏幕连接到 Pico
接线看起来可能让人望而却步,但是相信我,当你真正操作起来,很多问题就会迎刃而解。当您将 TFT + 触摸屏连接到 Pi Pico 时,希望上面的图片可以帮助到您。
您可以使用面包板,也可以使用原型板,也可以专门订购 PCB 来将 ILI9488 + touch 连接到 Pi Pico。我想说明的是,面包板选项只是用于测试连接和屏幕的选项。放在办公桌上不太实用,连接松动可能会导致一些电路问题。
重要的是要知道这些屏幕只能在3.3V 下运行,将它们连接到 5V 会造成电路损坏!
这些是从 Pi Pico 到 TFT 的连接:
3.3V -> VCC and LED GND -> GND GP20 -> CS GP21 -> RESET GP22 - > DC/RS GP3 -> SDI(MOSI) and T_DIN GP2 -> SCK and T_CLK GP14 -> T_CS GP0 -> T_DO GP15 -> T_IRQ |
SDO(MISO) 不用于 TFT 屏幕,因此可以在 TFT 模块上留下一个未连接的引脚。
如果您使用的是 Pico + TFT 组合器,则只有一种适合它的方式。我建议它使用头针,这样你就可以拔掉你的 Pico 和屏幕,以便在不同的项目中使用它,或者如果由于某种原因屏幕或 Pico 不工作,你可以更换它们。
第 4 步:软件:安装 Arduino IDE 库
安装 Arduino IDE 'arduino-pico' 内核。
此版本使用 Earle Philhower 的“arduino-pico”核心。
要安装此核心,请转到Arduino -> Preferences并单击Additional Board Managers URLs输入字段后面的图标。接下来,将以下链接(不带引号)复制并粘贴到弹出框中:
https://github.com/earlephilhower/arduinopico/releases/download/global/package_rp2040_index.json |
单击确定和确定。接下来,转到Tools -> Board : -> Board Manager并搜索“pico”。安装最新版本的“Raspberry Pi Pico/RP2040”。并单击“关闭”。
安装 TFT_eSPI 库。
在编写此 Instructable 时,TFT_eSPI 中的 Pi Pico 支持无法通过库管理器获得。但是安装非常简单。前往
https://github.com/Bodmer/TFT_eSPI,点击“代码”和“下载.ZIP ”。在 Arduino IDE 中,转到Sketch -> Include Library -> Add .ZIP library。找到刚刚下载的库,点击“选择”,等待安装完成!
第 5 步:下载代码并准备 TFT_eSPI
简单的代码可以从 Github 下载:
https://github.com/DustinWatts/Pico-Matrix-Touch-K...
为了让这个草图与 Pi Pico 一起工作,我们必须配置 TFT_eSPI 库。为此,请在您喜欢的文本编辑器中打开以下文件:
/Documents/Arduino/libraries/TFT_eSPI/User_Setup.h |
选择所有内容(CTRL+A)并点击删除。您现在有一个空的 User_Setup.h。复制下面的代码并将其粘贴到 User_Setup.h 文件中:
// Stripped down User_Setup.h version for the Pico-Matrix-Touch-Keyboard //<br> #define TFT_MISO 0 #define TOUCH_CS 14 // Chip select pin (T_CS) of touch screen #define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH // Comment out the #define below to stop the SPIFFS filing system and smooth font code being loaded // Optional reduced SPI frequency for reading TFT // The XPT2046 requires a lower SPI clock rate of 2.5MHz so we define that here: |
不要忘记保存文件!
这也是您可以在 Github 存储库中找到的文件 ( https://github.com/DustinWatts/Pico-Matrix-Touch-Keyboard/tree/main/User_Setup )
第 6 步:调试代码
打开“Pico-Martix-Touch-Keyboard.ino”后,转到“工具”->“板”并选择“ Raspberry Pi Pico ”。
您可以将所有设置保留为默认值,“ Flash 大小”除外。代码需要一小部分文件系统存储空间来,存储代码第一次运行时创建的触摸校准数据。因此,在“Flash Size”下选择“ 2MB (Sketch: 1984KB, FS: 64KB) ”
接下来,在刷写代码之前,屏幕上的每个按钮都可以有它自己的一组击键,在您按下它后将发送到您的 PC。
您可以使用其他一些有意思的小功能(您可以在此处找到详细文档:
https : //www.arduino.cc/reference/en/language/functions/usb/keyboard/)
第 7 步:设计打印一个精致的外壳
因为在物体四周放置屏幕会显得产品不好看,而且使用起来也有点困难,所以需要给屏幕单独打印一个外壳。因为尺寸与 FreeTouchDeck ( https://www.instructables.com/A-Bluetooth-ESP32-TFT-Touch-Macro-Keypad/ )完全相同,所以您可以使用相同的外壳。
如果您使用接头引脚,请选择名为“Top_for_TFT_with_Headers.stl”的前端版本。( https://www.thingiverse.com/thing:4661069 )
由于尺寸相同,您可以使用任何专为 FreeTouchDeck 设计的外壳,但是需要注意的是必须与它有接头针脚配合使用的空间。
组装完成之后,您就可以使用这款产品了,希望您能喜欢这个项目!
索尼WF-1000XM3拆解:电路设计优异,方案不逊Airpods
2019-07-31
50个经典电路设计汇总,让你快速成为技术高手
2019-06-18
第二代Airpods以及Airpods充电盒拆解:电路设计更上一层楼
2019-07-15
联想ThinkBook 13s拆解:英特尔傲腾可媲美DRAM?
2019-12-05
4款升降摄像头模块拆解:带你了解其中电路原理
2019-07-18
解决树莓派4B散热问题:更新下固件就行
2019-07-23
基于树莓派和Arduino打造的PLC EtherCAT电路设计
2020-02-25
硬件电路设计
2019-10-24
基于ESP32的便携式无损音乐播放器电路设计
2019-07-10
还买Apple Watch?工程师自制智能手表,成本只需100多块。
2019-07-05
讨论