把街机塞进 15.6 寸小屏幕:Mai Pico,用树莓派 Pico 复刻 Maimai 手台

描述

 有没有在机厅被 Maimai 的转盘+触摸 combo 支配过?打完一局,钱包空了,手也抽筋了。回家想练歌,却发现模拟器要么手感离谱,要么整套设备比房租还贵。今天聊的 GitHub 项目 Mai Pico,就是一位国内大佬“whowechina”送给所有手残党的礼物:只用一张 15.6 寸便携屏、几块 3D 打印件和一颗树莓派 Pico,就能搓出一台「麻雀虽小、五脏俱全」的 Maimai Mini 机台。重点是,全套开源,不花冤枉钱。

树莓派   概览

Maimai 的精髓在两点:

八个物理按钮的“咔哒”节奏感;

那块能感知多点触摸的 ITO 玻璃。
市面上要么买官方 10 万日元的手台,要么淘宝 3D 打印壳+山寨触摸板,手感随缘。Mai Pico 想做的,就是用开源硬件把这两件事一次性解决,顺便把价格打下来,让双人游戏也变成可能。

核心功能与原理

树莓派

按钮圈:

8 颗凯华 Choc 矮轴,30–45 g 线性手感,回弹跟手。

每颗轴配两颗 WS2812B,RGB 灯效自己写,想跑马灯还是纯色随你。

触摸:

自制 ITO 玻璃,3 片 MPR121 电容触摸芯片,把整块玻璃切成 24 个独立触摸区。

协议直接参考 Sucareto 的 Mai2Touch,电脑端即插即用。

主控:

树莓派 Pico(或 Pico W),USB-C 一线通。

固件自带 HID 手柄/键盘双模式,想打 Maimai DX+ 还是自制模拟器都能识别。

双人模式:

左右各一套按钮 + 触摸,USB 一进二出,两台机器肩并肩就是 Double Play。

AIME 刷卡:

预留 PN532 NFC 模块,刷实卡或手机 NFC 都行,段位不丢。

硬件部分

硬件部分由 IO 板与按键板组成。

按键板

树莓派树莓派树莓派树莓派树莓派

IO 板

树莓派树莓派树莓派树莓派树莓派树莓派

制作集锦

以下是一些爱好者的作品:

Lavide 的作品

Lavide 制作了一个漂亮的紧凑型一体化 Mai Pico 机框!
树莓派树莓派树莓派

Romper 的作品

Romper 利用 Mai Pico 的触摸设计制作了一个全尺寸的控制器。
树莓派树莓派

imfrea 的作品

imfrea 给 Mai Pico 设计了一套平价又好看的亚克力外壳。
树莓派树莓派

IlIIllllIlIIlll 的作品

IlIIllllIlIIlll 也制作了一套外壳。
树莓派 树莓派 树莓派 树莓派

如何制作

PCB

使用 gerber zip 文件(最新的 productionPCBmai_io_v*.zip

 和 ProductionPCBmai_button_v*.zip)下单,常规 FR-4 板,厚度 1.6mm。你需要 1x io PCB 和 8x 按钮 PCBs 来构建一个 Mai Pico con。

树莓派

1x Raspberry Pico Pi Pico 或 Pico W。
https://www.raspberrypi.com/products/raspberry-pi-pico

注意另一侧的 3 个引脚,它们很难焊接,可能会留下气泡。
树莓派

1x USB Type-C 插座(918-418K2023S40001 或 KH-TYPE-C-16P)

2x 0603 5.1kohm 电阻(R20,R21)用于 USB,如果你打算直接使用 Pi Pico 上面原生的 USB 插座,那么 Type-C 插座和电阻都可以省去,焊接也会简单不少。

3x MPR121 模块,市场上有许多类型,选择像这样的。 https://www.sparkfun.com/products/retired/9695

在将 MP121 模块焊接到主 PCB 板之前,记得用小刀切断 ADDR 和 GND 之间的微小连线,注意绝对不要切过头。
树莓派

因为我们使用的是 MPR121 模块,而不是芯片,所以 U5、U6、U7 区域的离散组件留空(新版里已经移除)。

1x SN74LV1T34DBVR(SOT-23-5)电平转换器(U8),如果你找不到,就用 0603 10ohm 电阻(R4)替代,新版的设计里,它已经被移除。 

4x 0603 1uF(0.1~1uF 都可以)电容器(C1,C2,C3,C7),可选,推荐。有些已经在新版本里移除。

16x WS2812B-3528 RGB LED(每个按钮需要两个)。

8x Kailh Choc v1 键盘开关,线性的,30gf 到 45gf 的。 

1x PN532 NFC 模块和一些细电线, 只有需要 AIME 的时候才用得上.
你需要把它焊接到 MPR121 所在的 I2C 总线上(GPIO 6 and 7)。

以下仅适用于使用了光电开关的按钮。

8x 0603 220ohm 电阻(R1,R2,R3,R4,R5,R6,R7,R8),它们是限流电阻。

8x 0603 5.1kohm 电阻(R10,R11,R12,R13,R14,R15,R16),它们是上拉电阻。可能不需要,你可以先试试不焊接。

ITO 玻璃

找一个服务定制蚀刻 ITO 镀膜玻璃。AutoCAD 文件是 ProductionCADmai_pico_ito_v*.dwg。使用 2mm 厚,10-20ohm 平方电阻的 ITO 镀膜玻璃。

树莓派

ITO 镀膜玻璃通过 "斑马线"(1.6mm 间距:0.8mm 黑色部分和 0.8mm 透明部分)连接到 IO PCB。使用 200°C 的硅加热头将斑马线粘贴到 PCB 的金手指部分和 ITO 镀膜玻璃上。这种线的正式名称是 "热压密封连接器"。 树莓派 定制 ITO 镀膜玻璃相对较贵,但我们的尺寸小,所以并不像街机那么贵。这

按键环

从 Production3DPrintmai_*.stl 打印出 8 套 底座、连接板、按钮 和 盖子。

购买 8 根 2mm(直径)* 40mm(长度)的钢轴,它们用作按钮铰链。

这是如何组装它们的方法,这个渲染图像中没有显示铰链轴和 PCB 上的组件。

树莓派

这是我如何组装环的方法。请注意,这些图片中缺少按钮开关的线路。

所有离散组件已准备好。
树莓派

首先焊接按钮 PCB。
树莓派

按键 PCB 使用细小且柔软的 3 线电缆串联,它们是 G、IN/OUT、V,分别代表地、信号进/出和电源。按钮开关信号引脚还没有焊接,你可以后面再焊接。请不用担心按钮 GPIO 的顺序,因为它们可以通过命令行重新映射。
树莓派

你需要 3M5423 UHMW 胶带(或类似的硬且超滑的 PTFE 胶带,厚度 0.2-0.3)。它用来润滑触摸键开关的按钮表面。
树莓派

将 3D 打印的部件和 PCBs 组装在一起。
树莓派

使用轴稍微扩大支撑孔,然后涂上一些键盘开关润滑剂,如 Krytox 205G0,使轴超级光滑。
树莓派

每个 连接板 需要 8x M2*4mm 螺丝将两个 底座 连接在一起。
树莓派

安装 盖子,每个需要 2x M2*5mm 螺丝。
树莓派

便携显示器

分辨率:1920*1080,尺寸:15.6 英寸,刷新率:120Hz(推荐)或 60Hz,内置扬声器。

它们很容易找到。选择闲鱼上有小瑕疵的会便宜得多,也一样很好用。

有两种类型的驱动板,一种只有 micro-HDMI,另一种支持 type-C 显示(方便连接 Nintendo Switch)。两种都可以。

粘合到一起

我使用 3M VHB 胶带(0.5mm 或 1mm 厚)将按钮环、ITO 玻璃和显示器粘在一起。

只使用一点胶带,我使用 4 小块胶带将 ITO 玻璃粘到显示器上,另外 4 小块胶带将按钮环粘到 ITO 玻璃上。

不要在 ITO 玻璃的走线上贴胶带,你可以在某个角度光线下看到 ITO 的走线。

固件

UF2 文件在 ProductionFirmware 文件夹中。

对于新的构建,连接 USB 到 PC 时按住 BOOTSEL 按钮,会出现一个名为 "RPI-RP2" 的磁盘。将 UF2 固件二进制文件拖入其中。就这样。

LED 和 Touch 协议的实现遵循 Sucareto 在 https://github.com/Sucareto/Mai2Touch 上的研究。

它有一个命令行进行配置。你可以使用这个 Web Serial Terminal 连接到 Mai Pico 的 USB 串口。(注意:"?" 是帮助)

树莓派

当你点击这个网页的 Connect 按钮后,你能看到每个端口的名称。

树莓派

可以使用 gpio 命令重新映射按钮 GPIOs,固件支持 8 个主按钮和 4 个辅助按钮(分别是:Test, Service, Navigate, Coin)。

可以使用 touch 命令重新映射触摸键。对于用 ITO 膜手作触摸板,或者自己定制了引脚不同的 ITO 镀膜玻璃的朋友,这个命令会很有用:

touch  不带参数,可以用来检测当前按下的触摸键。

touch 1 9 E6  是映射第二个 MPR121 传感器的电极 9 到 “E6”,注意 “XX” 表示不连接任何触摸键。

可以使用 rgb 命令为每个按钮分配串联的 RGB LED 数量。

可以通过 level 命令调整 LED 的亮度。

有 MPR121 参数调整和灵敏度设置,自己探索。

它实现了 3 个 COM 端口,一个用于命令行,另外两个用于 LED 和 Touch。通过向命令行发出 whoami,每个 COM 端口都会打印它们的身份。

按钮信号通过 HID Joystick 或 HID NKRO(键盘)发送到主机。有两套 NKRO 键映射,使用 hid  在它们之间切换。在 NKRO 模式下,键映射是:

key1:WEDCXZAQ-按键环,3-Select

key2(小键盘):89632147-按键环,*-Select

上述两套都有:F1-Test F2-Service F3-投币

factory  用来复位到默认配置。当固件升级时,老配置可能失效,这时候请复位到默认配置,然后重新插拔一下控制器。

开源地址

最后是该项目的仓库:

https://github.com/whowechina/mai_pico

除了这个项目外,作者还有很多很酷的项目,有兴趣的小伙伴可以去仓库查看! 树莓派 最后,项目是 CC-NC 授权。所以你只能给自己和或者免费给你的朋友 DIY,不能利用这个项目赚钱,比如收费的代做,出售整机等,连源作者都不敢提的抄袭或者稍微改改换个名字来打擦边球就更不可以了。有商业诉求的,请联系项目的作者。  

注意:如果想第一时间收到 KiCad 内容推送,请点击下方的名片,按关注,再设为星标。

常用合集汇总:

和 Dr Peter 一起学 KiCad

KiCad 8 探秘合集

KiCad 使用经验分享

KiCad 设计项目(Made with KiCad)

常见问题与解决方法

KiCad 开发笔记

插件应用

发布记录

审核编辑 黄宇

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分