使用 XIAO ESP32-S3 搭建一个带有动态 OLED 眼睛的 6 键 DIY 大型平板电脑
扫描二维码
随时随地手机看文章
要是你的大尺寸平板电脑真的能对你做出反应会怎样呢?
这是一款由 XIAO ESP32-S3 构建的 6 键 DIY 大型平板电脑,配备了一块 0.9 英寸的 OLED 显示屏,屏幕上的眼睛会闪烁、四处转动,并根据你按下的具体按键而变换表情。它作为一款原生 USB HID 键盘使用——无需 Python 脚本、无需驱动程序,只需插入即可像普通键盘一样正常工作。只不过这款键盘独具个性。
该设备完全通过 Fusion 360 进行了 3D 打印。键盘上的图标键——如 Discord、VS Code、Spotify 和媒体控制键——均采用白色 PLA 材质并带有图标。外观简洁、干净,而且在实际使用中看起来还相当锐利。
最棒的是什么呢?无需 QMK、无需 VIAL,您电脑上也无需任何配置软件。只需一次性安装一次,便能永久使用。
请依次查看以下步骤——这个搭建过程比看起来要简单得多,最终的结果会让你觉得它就像是一件实实在在放在你桌上的成品一样。?? (这个符号表示注视或关注)
物资;供应品
所需电子元件:
•Seeed Studio XIAO ESP32-S3
•0.9 英寸 OLED 显示屏
•Kailh mechanical switches
•USB-C 数据线
•3D 打印的机身和键帽(见步骤 1)
第 1 步:计算机辅助设计与 3D 打印
整个大平板电脑的主体是在 Autodesk Fusion 360 软件中设计完成的,并被拆分成两个独立的部分——主体部分和盖子部分——这样两个部件都可以平铺在打印平台上打印,无需任何支撑物。嵌入其中的 Fusion 360 文件已附在下面供您下载、修改或自由组合使用。
这两部分均采用黑色的 PLA 粉丝材料进行打印,这样就能呈现出那种干净、哑光、近乎商业产品般的表面效果,正如你在最终成品中所看到的那样。打印设置很简单——填充率为 15%就足以保证大键盘板的结构强度了,因为它并非承重部件,只是放在你的桌子上而已。标准的 0.2 毫米层高在这里也非常适用,无需支撑物。
至于按键帽的设计,我并非完全从零开始——所有功劳都归于 Printables 上的卡米莉亚,是她完成了按键帽的设计。您可以在此处下载它们:卡米莉亚设计的带有按键帽的宏键盘。如果您希望按键表面更加光滑、整洁,卡米莉亚建议以 0.07 毫米的层高进行打印,并在所有顶部表面开启熨烫功能——这会带来显著的差异。我用白色 PLA 材料打印了这些按键帽,然后用黑色永久性马克笔填充图标——这种简单的“凑合法”实际上在实际使用中看起来相当干净。
打印机身,打印盖子,打印六个按键,这样你就准备好开始组装了。
第 2 步:提升您的电子项目——JLCMC
对于我的下一个项目,我打算从他们的“传动部件”部门购买一个正时皮带。
我真正喜欢的是这个部件的定制方式非常简便。在左侧,您可以选择所有所需的选项,而在其下方,您会看到完整的规格说明和相关文档,这样您就能确切地知道您所订购的是什么了。
JLCMC 近期提升了新用户注册的优惠待遇,将欢迎礼包的折扣券价值提升至 123 美元的优惠券。无论您是进行 DIY 电子、机器人还是机械项目的制作,JLCMC 都会为您提供优质的零部件和快速的配送服务。
第 3 步:构建
先从盖子开始——将所有 6 个盖顿机械开关按入各自对应的凹槽中。它们应该会发出清脆的咔哒声准确地卡入位置,并且与盖子紧密贴合。这里无需使用胶水,凹槽的精度足以确保它们稳固固定。
将 0.9 英寸的 SSD1306 OLED 显示屏放置在盖子的显示槽处,沿着显示槽的边缘涂抹少量热胶,然后将显示屏正面朝下按压进去。保持 30 秒让胶水固化。确保显示屏平放且居中——这是人们最常看到的部分。
接下来是开关的接线部分——与大多数您在网上能找到的大型键盘项目相比,这个构建方式要简单得多。通常,大型键盘采用矩阵接线方式,即开关的行和列共用导线,以节省微控制器引脚。例如,一个 3×2 的矩阵只需 5 个引脚,而不是 6 个。这种方式效率高,但需要在每个开关上焊接二极管,并且需要更复杂的固件逻辑来正确扫描。在这个构建中,我们完全跳过了这一切。由于 XIAO ESP32-S3 具有足够的 GPIO 引脚可用,我们直接且独立地将每个开关连接到其专用的引脚——每个开关一根导线连接到一个 GPIO 引脚,所有开关共享一根公共接地导线。这被称为直接引脚接线,它更易于焊接、更易于调试,也更易于编程。
将每个开关的一端通过焊接到其对应的 GPIO 引脚,然后将所有开关的另一端连接到 XIAO ESP32-S3 上的公共 GND 端子。严格按照以下引脚映射进行操作:按键 1(左上角)→ D6 — Discord 按键 2(上中部)→ D3 — VS Code 按键 3(右上角)→ D2 — Spotify 按键 4(左下角)→ D1 — 上一首歌曲 按键 5(下中部)→ D0 — 播放/暂停 按键 6(右下角)→ D8 — 下一首歌曲
对于 OLED 显示屏,将显示屏模块上的四根导线分别连接到 XIAO ESP32-S3 上——VCC 连接至 3.3V,GND 连接至 GND,SDA 连接至 D4,SCL 连接至 D5。该显示屏采用 I2C 通信协议,因此仅需要这两条数据线即可。
将小型 ESP32-S3 芯片安装到底座上的指定插槽中。它应该能紧密贴合。如果感觉松动,可在其两侧涂上少量热胶,这样就能使其永久固定,同时也不会遮挡 USB-C 接口。
现在要仔细地将盖子盖到底座上,将所有电线整齐地布置在内部,确保两部分之间没有电线缠绕在一起。在此过程中要慢慢来——良好的电线布局会决定你的组装成果是整洁美观还是杂乱无章。
最后,将所有 6 个按键帽依次压到开关杆上。它们应该能牢固地卡住。如果有任何一个感觉松动,只需在开关杆的末端缠上一小段胶带即可立即固定好。
这就是全部的硬件组装完成了。
第 4 步:编码
现在我们将把程序上传到 Seeed Studio XIAO ESP32-S3 上。
1. 安装 Arduino IDE 和 ESP32 板载程序包
•在您的电脑上安装最新版本的 Arduino IDE。
•打开 Arduino IDE 并安装 ESP32 板卡包:
•点击“文件”选项卡 → “偏好设置”
•然后前往:
•工具 → 板块 → 板块管理器
•搜索“ESP32”,并安装“ESP32 板子”软件包。
2. 选择板卡和端口
•打开 Arduino IDE 并配置板子。
•前往:
•工具 → 板子 → ESP32 Arduino → 小型 ESP32S3
•然后选择正确的 COM 端口:
•工具 → 端口 → 选择与您的 XIAO ESP32-S3 相连的端口
3. 配置 USB 模式——关键步骤
这是最为关键的设置,也是大多数人容易忽略的一点。默认情况下,XIAO ESP32-S3 采用 UART CDC 模式进行串行通信,这意味着您的电脑会将其视为一个串行设备——而非键盘。您需要将其切换至 USB-OTG 模式,这样在您将其插入时,Windows/Mac 系统就能立即将其识别为一个原生的 HID 键盘。
在 Arduino IDE 中,请前往:
工具 → USB 模式 → USB-OTG(小尺寸 USB)
如果不进行此项更改,键盘和媒体键的代码能够正常编译和上传,但当你按下这些按键时却不会有任何反应——电脑根本不会接收任何 HID 输入。只需进行一次设置,对于这块板子而言,您就无需再进行任何调整了。
4. 安装所需库
从 Arduino 库管理器中安装以下库。
点击“草图” → “包含库” → “管理库”并安装:
•Adafruit GFX
•Adafruit SSD1306
弗洛斯加德机器人眼睛
这些库用于 OLED 显示屏以及动画机器人的眼睛部分。
5. 复制项目代码
第 5 步:实现点击音效的满足感效果
言语难以充分表达其内涵——只需点击播放键即可。
这些是凯尔赫蓝色机械键盘开关——按键反应灵敏、触感真实,打字体验非常棒。每次按键都会给你带来清脆的听觉反馈,这种感觉恰到好处。正是这个原因促使我们选择采用这种机械键盘,而非传统的薄膜键盘。
本文编译自hackster.io





