README update with touch and AIME support

This commit is contained in:
whowechina 2024-04-05 20:55:50 +08:00
parent 096e5f6948
commit a69bc79a16
3 changed files with 24 additions and 4 deletions

View File

@ -8,6 +8,7 @@
* Made with a 15.6 inch portable screen. * Made with a 15.6 inch portable screen.
* Arcade-like experience. * Arcade-like experience.
* Dual-player is possible. * Dual-player is possible.
* Built-in AIME support.
* All source files open. * All source files open.
Thanks to many respectful guys/companies who made their tools or materials free or open source (KiCad, OnShape, InkScape, Raspberry things, JLCPCB). Thanks to many respectful guys/companies who made their tools or materials free or open source (KiCad, OnShape, InkScape, Raspberry things, JLCPCB).
@ -61,6 +62,9 @@ It's CC-NC. So DIY for yourself and for your friend, don't make money from it.
* 16x WS2812B-3528 RGB LEDs (each button needs two). * 16x WS2812B-3528 RGB LEDs (each button needs two).
* 8x Kailh Choc v1 key switches, linear, 30gf to 45gf ones. * 8x Kailh Choc v1 key switches, linear, 30gf to 45gf ones.
https://www.kailhswitch.com/mechanical-keyboard-switches/low-profile-key-switches/burnt-orange-switch.html https://www.kailhswitch.com/mechanical-keyboard-switches/low-profile-key-switches/burnt-orange-switch.html
* 1x PN532 NFC module and some thin wires, only needed if you want AIME.
https://www.elechouse.com/product/pn532-nfc-rfid-module-v4/
You need to solder it to the same I2C as the MPR121 (GPIO 6 and 7).
### ITO Glass ### ITO Glass
* Find a service to make custom etching ITO coated glass. The AutoCAD file is `Production\CAD\mai_pico_ito_v*.dwg`. Use 2mm thickness, 10-20ohm sheet resistance ITO coated glass. * Find a service to make custom etching ITO coated glass. The AutoCAD file is `Production\CAD\mai_pico_ito_v*.dwg`. Use 2mm thickness, 10-20ohm sheet resistance ITO coated glass.
@ -112,10 +116,15 @@ It's CC-NC. So DIY for yourself and for your friend, don't make money from it.
* UF2 file is in `Production\Firmware` folder. * UF2 file is in `Production\Firmware` folder.
* For the new build, hold the BOOTSEL button while connect the USB to a PC, there will be a disk named "RPI-RP2" showed up. Drag the UF2 firmware binary file into it. That's it. * For the new build, hold the BOOTSEL button while connect the USB to a PC, there will be a disk named "RPI-RP2" showed up. Drag the UF2 firmware binary file into it. That's it.
* LED and Touch protocols are implemented following Sucareto's research at https://github.com/Sucareto/Mai2Touch. * LED and Touch protocols are implemented following Sucareto's research at https://github.com/Sucareto/Mai2Touch.
* It has a command line to do configuration. You can use this Web Serial Terminal to connect to the USB serial port of the Mai Pico. (Note: "?" is for help) * It has a command line to do configuration. You can use this Web Serial Terminal to connect to the USB serial port of the Mai Pico. (`?` to display help message.)
https://googlechromelabs.github.io/serial-terminal/ https://googlechromelabs.github.io/serial-terminal/
<img src="doc/cmd.png" width="80%"> <img src="doc/cmd.png" width="60%">
* Please note that when you click "Connect" button, you'll actually see the name of each port.
<img src="doc/ports.png" width="60%">
* Button GPIOs can be remapped using `gpio` command. Firmware supports 8 main buttons on the ring and 4 auxiliary buttons (Test, Service, Navigate and Coin). * Button GPIOs can be remapped using `gpio` command. Firmware supports 8 main buttons on the ring and 4 auxiliary buttons (Test, Service, Navigate and Coin).
* Touch keys can be remapped using `touch` command. For people who's using Mai Pico to drive a custom ITO film or a ITO glass, this command will be very useful. For example:
* `touch` with no parameter is to detect touched keys.
* `touch 1 9 E6` is to set the second MPR121's electrode 9 to key "E6". Key name of "XX" means "Not Connected".
* Daisy chained RGB LED numbers for each button can be assigned using `rgb` command. * Daisy chained RGB LED numbers for each button can be assigned using `rgb` command.
* LED brightness can be adjusted by `level` command. * LED brightness can be adjusted by `level` command.
* There are MPR121 parameter tuning and sensitive settings, explore them yourself. * There are MPR121 parameter tuning and sensitive settings, explore them yourself.
@ -124,6 +133,7 @@ It's CC-NC. So DIY for yourself and for your friend, don't make money from it.
* key1: `WEDCXZAQ`-Ring Buttons, `3`-Select * key1: `WEDCXZAQ`-Ring Buttons, `3`-Select
* key2 (Numpad): `89632147`-Ring Buttons, `*`-Select * key2 (Numpad): `89632147`-Ring Buttons, `*`-Select
* Above two sets both have: `F1`-Test `F2`-Service `F3`-Coin * Above two sets both have: `F1`-Test `F2`-Service `F3`-Coin
* `factory` to reset to default. When there's a firmware update, the old configuration may become corrupted, you can reset configuration, then re-plug the controller.
## CAD Source File ## CAD Source File
I'm using OnShape free subscription. It's powerful but it can't archive original designs to local, so I can only share the link here. STL/DXF/DWG files are exported from this online document. I'm using OnShape free subscription. It's powerful but it can't archive original designs to local, so I can only share the link here. STL/DXF/DWG files are exported from this online document.

View File

@ -10,6 +10,7 @@
* 使用 15.6 英寸的便携式屏幕制作。 * 使用 15.6 英寸的便携式屏幕制作。
* 类似街机的体验。 * 类似街机的体验。
* 可以双人游戏。 * 可以双人游戏。
* 内置支持 AIME。
* 所有源文件开放。 * 所有源文件开放。
感谢许多尊敬的爱好者和公司将他们的工具或材料免费或开源KiCadOnShapeInkScapeRaspberry 相关工具, 嘉立创)。 感谢许多尊敬的爱好者和公司将他们的工具或材料免费或开源KiCadOnShapeInkScapeRaspberry 相关工具, 嘉立创)。
@ -70,6 +71,9 @@ https://github.com/whowechina/
* 16x WS2812B-3528 RGB LED每个按钮需要两个 * 16x WS2812B-3528 RGB LED每个按钮需要两个
* 8x Kailh Choc v1 键盘开关线性的30gf 到 45gf 的。 * 8x Kailh Choc v1 键盘开关线性的30gf 到 45gf 的。
https://www.kailhswitch.com/mechanical-keyboard-switches/low-profile-key-switches/burnt-orange-switch.html https://www.kailhswitch.com/mechanical-keyboard-switches/low-profile-key-switches/burnt-orange-switch.html
* 1x PN532 NFC 模块和一些细电线, 只有需要 AIME 的时候才用得上.
https://www.elechouse.com/product/pn532-nfc-rfid-module-v4/
你需要把它焊接到 MPR121 所在的 I2C 总线上GPIO 6 and 7
### ITO 玻璃 ### ITO 玻璃
* 找一个服务定制蚀刻 ITO 镀膜玻璃。AutoCAD 文件是 `Production\CAD\mai_pico_ito_v*.dwg`。使用 2mm 厚10-20ohm 平方电阻的 ITO 镀膜玻璃。 * 找一个服务定制蚀刻 ITO 镀膜玻璃。AutoCAD 文件是 `Production\CAD\mai_pico_ito_v*.dwg`。使用 2mm 厚10-20ohm 平方电阻的 ITO 镀膜玻璃。
@ -122,8 +126,13 @@ https://github.com/whowechina/
* LED 和 Touch 协议的实现遵循 Sucareto 在 https://github.com/Sucareto/Mai2Touch 上的研究。 * LED 和 Touch 协议的实现遵循 Sucareto 在 https://github.com/Sucareto/Mai2Touch 上的研究。
* 它有一个命令行进行配置。你可以使用这个 Web Serial Terminal 连接到 Mai Pico 的 USB 串口。(注意:"?" 是帮助) * 它有一个命令行进行配置。你可以使用这个 Web Serial Terminal 连接到 Mai Pico 的 USB 串口。(注意:"?" 是帮助)
https://googlechromelabs.github.io/serial-terminal/ https://googlechromelabs.github.io/serial-terminal/
<img src="doc/cmd.png" width="80%"> <img src="doc/cmd.png" width="60%">
* 当你点击这个网页的 Connect 按钮后,你能看到每个端口的名称。
<img src="doc/ports.png" width="60%">
* 可以使用 `gpio` 命令重新映射按钮 GPIOs固件支持 8 个主按钮和 4 个辅助按钮分别是Test, Service, Navigate, Coin * 可以使用 `gpio` 命令重新映射按钮 GPIOs固件支持 8 个主按钮和 4 个辅助按钮分别是Test, Service, Navigate, Coin
* 可以使用 `touch` 命令重新映射触摸键。对于用 ITO 膜手作触摸板,或者自己定制了引脚不同的 ITO 镀膜玻璃的朋友,这个命令会很有用:
* `touch` 不带参数,可以用来检测当前按下的触摸键。
* `touch 1 9 E6` 是映射第二个 MPR121 传感器的电极 9 到 “E6”注意 “XX” 表示不连接任何触摸键。
* 可以使用 `rgb` 命令为每个按钮分配串联的 RGB LED 数量。 * 可以使用 `rgb` 命令为每个按钮分配串联的 RGB LED 数量。
* 可以通过 `level` 命令调整 LED 的亮度。 * 可以通过 `level` 命令调整 LED 的亮度。
* 有 MPR121 参数调整和灵敏度设置,自己探索。 * 有 MPR121 参数调整和灵敏度设置,自己探索。
@ -132,6 +141,7 @@ https://github.com/whowechina/
* key1`WEDCXZAQ`-按键环,`3`-Select * key1`WEDCXZAQ`-按键环,`3`-Select
* key2小键盘`89632147`-按键环,`*`-Select * key2小键盘`89632147`-按键环,`*`-Select
* 上述两套都有:`F1`-Test `F2`-Service `F3`-投币 * 上述两套都有:`F1`-Test `F2`-Service `F3`-投币
* `factory` 用来复位到默认配置。当固件升级时,老配置可能失效,这时候请复位到默认配置,然后重新插拔一下控制器。
## CAD 源文件 ## CAD 源文件
我正在使用 OnShape 的免费订阅。它很强大但不能将原始设计存档到本地所以我只能在这里分享链接。STL/DXF/DWG 文件是从这个在线文档导出的。 我正在使用 OnShape 的免费订阅。它很强大但不能将原始设计存档到本地所以我只能在这里分享链接。STL/DXF/DWG 文件是从这个在线文档导出的。

BIN
doc/ports.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB