資料介紹
PCB圖如下:
成分
電阻陣列 9X 4k7 SIP-10 | × 1 |
陶瓷電容 10nF X7R 徑向 5mm 間距 | × 1 |
陶瓷電容 470 nF X7R 徑向 5MM 間距 | × 2 |
單片機(jī)PIC18F24K50-I/SP | × 1 |
螺絲端子 3-POS 3.5MM PITCH | × 8 |
USB-B 連接器 | × 1 |
用于編程的 5 位排針 | × 1 |
描述
J-ACE Arcade 控制編碼器
Jaka Arcade 控制編碼器
J-ACE 是一款 DIY USB 鍵盤(pán)編碼器。它允許您制作例如 USB 街機(jī)棒,或者您可以在專(zhuān)用的 MAME 機(jī)柜中使用它。它具有便宜且簡(jiǎn)單的硬件,易于自己構(gòu)建。
特征
16 個(gè)輸入都有一個(gè)專(zhuān)用的微控制器引腳。沒(méi)有重影、干擾或延遲。
自動(dòng)觸發(fā)按鈕的一個(gè)附加輸入。Autofire 具有可調(diào)節(jié)的速度,并且可以配置為任何動(dòng)作按鈕組合。
4 個(gè) LED 輸出。一個(gè) LED 用于自動(dòng)點(diǎn)火指示,另外三個(gè) LED 用作數(shù)字鎖定、大寫(xiě)鎖定和滾動(dòng)鎖定 LED。
全速 USB,更新速度高達(dá) 1000 Hz (*)
高級(jí)去抖動(dòng)功能,在按下和釋放按鈕時(shí)增加零延遲。
用作標(biāo)準(zhǔn) HID 鍵盤(pán)或標(biāo)準(zhǔn) HID 操縱桿
4 個(gè)獨(dú)立的鍵盤(pán)映射,配置為 MAME 播放器 1、2、3 和 4。
無(wú)需軟件即可在不同的鍵盤(pán)映射之間進(jìn)行選擇或更改自動(dòng)觸發(fā)設(shè)置
自動(dòng)觸發(fā)和鍵盤(pán)映射設(shè)置存儲(chǔ)在 EEPROM 中,并在重啟后保留
用于鍵盤(pán)編碼器模式的完整 NKRO(N 鍵翻轉(zhuǎn))。所有 16 個(gè)輸入同時(shí)工作。
Shift 功能將每個(gè)按鈕發(fā)送的鍵碼加倍。允許投幣器、暫停等 MAME 特殊功能,無(wú)需專(zhuān)用按鈕
適用于 Windows、Linux、Mac(標(biāo)準(zhǔn) HID 設(shè)備,無(wú)需驅(qū)動(dòng)程序)
適用于所有主要模擬器(MAME、RetroPie 等)
可升級(jí)固件(與 Microchip 兼容的 HID 引導(dǎo)加載程序)
(*) 似乎取決于操作系統(tǒng)。Windows 以 1000 Hz 輪詢(xún),Linux 和 OSX 以 500 Hz 輪詢(xún)。
硬件
硬件基于 PIC18F24K50,這是一款集成全速 USB 的微控制器。電路盡可能簡(jiǎn)單,同時(shí)試圖提供最佳性能。
PIC 在端口 B 集成了上拉電阻。端口 A 和 C 需要外部上拉電阻。外部上拉由電阻網(wǎng)絡(luò) RN1 提供。上拉電阻值并不重要,所以如果你找不到 4k7 網(wǎng)絡(luò),你可以使用 1k 到 47k 之間的任何東西。電容器 C3 不是強(qiáng)制性的。它保護(hù) PIC 復(fù)位輸入免受虛假毛刺的影響,這可能導(dǎo)致 USB 連接在嘈雜的環(huán)境中復(fù)位,至少在理論上是這樣。
我的目標(biāo)是使用全速 USB,這通常需要 μC 的硬件 USB 支持。Atmel μC 的軟件 USB 實(shí)現(xiàn)沒(méi)有任何 USB 硬件。我發(fā)現(xiàn)這些實(shí)現(xiàn)非常令人印象深刻。然而,這些目前僅限于低速 USB。低速 USB 支持 100 Hz 的最大更新速率。實(shí)際上,這可能并不重要,大多數(shù) HID 設(shè)備都是低速的。但我想獲得盡可能低的延遲。
該板使用所有通孔組件,因此很容易為初學(xué)者構(gòu)建。操縱桿、按鈕和 LED 的所有連接都有用于連接的螺釘端子。對(duì)于 USB 連接,有兩種選擇。默認(rèn)為標(biāo)準(zhǔn) USB-B 連接器,可滿足大多數(shù)需求。也可以使用 5 針接頭,該接頭用于某些電纜或面板安裝連接器,例如 Bulgin Buccaneer 系列面板安裝 USB 連接器。下面 J-ACE 的 Eagle 3D 再現(xiàn)顯示了帶有標(biāo)準(zhǔn) USB B 連接器的板。
固件
固件是用CCS PIC-C 編譯器編寫(xiě)的。目標(biāo)是將延遲降至最低。輪詢(xún)間隔為 1 ms,即更新率為 1000 Hz。按鈕讀出、去抖動(dòng)、移位功能、自動(dòng)發(fā)射和數(shù)據(jù)傳輸最多需要 650 μs,因此 1000 Hz 恒定更新率是現(xiàn)實(shí)的。去抖動(dòng)算法對(duì)每個(gè)按鈕都有單獨(dú)的計(jì)數(shù)器,這意味著每個(gè)按鈕都會(huì)立即對(duì)按下或釋放做出反應(yīng),而與其他輸入無(wú)關(guān)。去抖是針對(duì)按鈕的按下和釋放實(shí)現(xiàn)的,因?yàn)橐恍┪?dòng)開(kāi)關(guān)類(lèi)型在釋放時(shí)也有觸點(diǎn)彈跳。
源代碼和編譯后的 .HEX 文件可在下面下載。筆記!包中不包含 HID 描述符的 USB 頭文件,因?yàn)樗歉鶕?jù) CCS 版權(quán)代碼修改的。如果您有編譯器并需要這些文件,請(qǐng)與我聯(lián)系。
j_ace_circuit_diagram.pdf??????正如文件名所說(shuō)。是電路圖!
j_ace_assembly_drawing.pdf ???J-ACE 裝配圖和材料清單。包括 TME、Digi-Key 和 Mouser 的訂購(gòu)代碼。
j_ace_hw.zip???????????????????????用于 J-ACE 的 Eagle 5.12 原理圖和電路板文件
j_ace_gerber.zip ???????????????????Gerber 文件。
j_ace_fw_v07.zip ??????????????????????J-ACE 固件 v0.7。包括用于鍵盤(pán)和操縱桿模式的源文件和編譯的二進(jìn)制文件
引導(dǎo)加載程序已包含在 .hex 文件中。要進(jìn)入引導(dǎo)加載程序模式,請(qǐng)?jiān)谶B接 USB 電纜時(shí)按住自動(dòng)啟動(dòng)按鈕。
如何構(gòu)建它
本章描述了構(gòu)建 J-ACE 所需的步驟。它假設(shè)您擁有基本的電子工具并知道如何使用它們。
訂購(gòu)零件
訂購(gòu)BOM中列出的零件。請(qǐng)注意,您可能不需要連接器 X10。為了方便起見(jiàn),我收集了一個(gè)TME 共享購(gòu)物車(chē)、一個(gè)Digikey 共享購(gòu)物車(chē)和一個(gè)Mouser 共享購(gòu)物車(chē),它們包含除 PCB 之外的所有必需組件。
訂購(gòu)印刷電路板
這很簡(jiǎn)單!只需從此頁(yè)面訂購(gòu)!
獲取 PIC 程序員
如果您沒(méi)有 PIC 編程器或沒(méi)有可以編程的地方/朋友,最便宜的選擇是購(gòu)買(mǎi) PICkit2 或 PICkit3。此外,來(lái)自 eBay 的廉價(jià)中國(guó)克隆通常也可以使用。
焊接組件
組裝 PCB 是一項(xiàng)非常簡(jiǎn)單的工作。元件位置標(biāo)記在絲印上,但您也可以使用此裝配圖來(lái)查找哪個(gè)零件去哪里。組件 IC1 和 RN1 需要以正確的方向安裝。引腳 1 標(biāo)有點(diǎn)或凹口,它們必須與裝配圖相匹配。螺釘端子需要在焊接前相互連接。
對(duì) PIC 進(jìn)行編程
下載最新固件。有關(guān)如何對(duì) PIC 進(jìn)行編程的信息,請(qǐng)參見(jiàn)此處。
安裝到您的街機(jī)搖桿
J-ACE 最常見(jiàn)的用途是街機(jī)搖桿或街機(jī)柜。我不會(huì)詳細(xì)介紹如何構(gòu)建街機(jī)搖桿,互聯(lián)網(wǎng)上有很多可用的資源。我已經(jīng)繪制了如何將操縱桿、按鈕和 LED 連接到 J-ACE 的接線圖,見(jiàn)下文。此示例接線圖具有操縱桿、三個(gè)操作按鈕、啟動(dòng)按鈕、自動(dòng)啟動(dòng)按鈕和自動(dòng)啟動(dòng) LED。該圖顯示了一個(gè)單獨(dú)的 LED,但通常您會(huì)使用發(fā)光的街機(jī)按鈕作為自動(dòng)開(kāi)火按鈕。然后 LED 接線將連接到發(fā)光按鈕的 LED 端子。只需選擇帶 5V LED 的發(fā)光按鈕即可。
從上圖中可以看出,每個(gè)按鈕微動(dòng)開(kāi)關(guān)和每個(gè)操縱桿微動(dòng)開(kāi)關(guān)的一個(gè)端子都連接到 J-ACE 上的 GND。J-ACE 的每一側(cè)都有一個(gè) GND 端子,您可以使用任何一個(gè)。如果您使用例如包含線束的 Seimitsu 或 Sanwa 操縱桿,則將方向輸入旁邊的操縱桿 GND 和按鈕 GND 連接到另一側(cè)很方便。它有助于保持布線更有條理。對(duì)于按鈕接地接線,您可以獲得預(yù)壓接的菊花鏈線,使接線快速簡(jiǎn)便。
LED 連接在 +5V 和 LED 輸出之間。LED 1,2 和 3 分別是 Num Lock、Caps Lock 和 Scroll Lock。LED4 是自動(dòng)發(fā)射 LED。它指示自動(dòng)開(kāi)火何時(shí)處于活動(dòng)狀態(tài),使用時(shí)顯示自動(dòng)開(kāi)火速度,有助于配置自動(dòng)開(kāi)火。LED 輸出可以最大下沉。25毫安電流。
如何使用它
J-ACE 將被識(shí)別為三個(gè)標(biāo)準(zhǔn) HID 啟動(dòng)協(xié)議鍵盤(pán)或一個(gè) HID 兼容游戲控制器,具體取決于加載的固件。它不需要任何驅(qū)動(dòng)程序。
與鍵盤(pán)固件一起使用時(shí),您幾乎可以直接與 MAME 一起使用。在 Retropie 上,您必須像第一次啟動(dòng)時(shí)的任何鍵盤(pán)一樣對(duì)其進(jìn)行配置。
使用操縱桿固件,您通常需要從仿真器中選擇 J-ACE。您不需要像舊的模擬 PC 操縱桿那樣進(jìn)行任何校準(zhǔn)。
在鍵盤(pán)模式下測(cè)試操作
要在鍵盤(pán)模式下測(cè)試 J-ACE 的操作,您可以使用文本編輯器,但它并不能說(shuō)明全部真相。最好的方法是使用鍵盤(pán)測(cè)試應(yīng)用程序。一個(gè)例子是Aqua 的按鍵測(cè)試。這種應(yīng)用程序可以顯示多個(gè)同時(shí)按鍵的正確操作(稱(chēng)為 N 鍵翻轉(zhuǎn)或 NKRO)。它們還可以分離左右 ctrl、alt 和 shift 鍵。如果您知道適用于 Linux 或 Mac 的優(yōu)秀鍵盤(pán)測(cè)試軟件,請(qǐng)告訴我。
另一種可能性是在線鍵盤(pán)測(cè)試,例如key-test.ru或keyboardchecker.com。它們還可以同時(shí)顯示按鍵,但不能將左右 ctrl、alt 和 shift 分開(kāi)。
在操縱桿模式下測(cè)試操作
要在搖桿模式下測(cè)試 J-ACE 的操作,可以使用操作系統(tǒng)提供的工具。
在現(xiàn)代 Windows 版本上,無(wú)法從控制面板輕松找到操縱桿校準(zhǔn)應(yīng)用程序。但它仍然存在,您可以通過(guò)按 Win+R 并鍵入 joy.cpl 并按 Enter 來(lái)運(yùn)行它。或者在 Windows 10 上,只需打開(kāi)開(kāi)始菜單并輸入 joy.cpl。
在 Linux 系統(tǒng)上,您可以使用例如 jstest 命令行工具。
更新固件并在鍵盤(pán)和操縱桿模式之間切換
J-ACE 使用引導(dǎo)加載程序,因此不需要 PIC 編程器進(jìn)行更新。引導(dǎo)加載程序還允許在鍵盤(pán)和操縱桿模式固件之間進(jìn)行切換。您可以通過(guò)在連接 USB 電纜時(shí)按住自動(dòng)啟動(dòng)按鈕進(jìn)入引導(dǎo)加載程序模式。然后,您可以使用我的USB HID 引導(dǎo)加載程序頁(yè)面上建議的更新工具。
使用和配置 Autofire
80 年代的許多操縱桿都配備了自動(dòng)開(kāi)火功能,有時(shí)也稱(chēng)為快速開(kāi)火。它以高頻率反復(fù)按下開(kāi)火按鈕,從而消除了射擊游戲中的手動(dòng)按鈕混搭。它可以減輕手指的壓力,讓您可以集中精力控制角色并避免敵人的子彈。
J-ACE 有一個(gè)專(zhuān)用的自動(dòng)開(kāi)火按鈕。建議還連接一個(gè)自動(dòng)發(fā)射 LED。
按下自動(dòng)開(kāi)火按鈕可激活自動(dòng)開(kāi)火模式。自動(dòng)發(fā)射 LED 亮起,表示自動(dòng)發(fā)射已開(kāi)啟。現(xiàn)在,當(dāng)您按住按鈕時(shí),J-ACE 會(huì)以預(yù)定義的速率反復(fù)按下和釋放它。自動(dòng)點(diǎn)火 LED 以相同的頻率閃爍,以直觀的方式顯示火速。再次按下自動(dòng)開(kāi)火按鈕將禁用自動(dòng)開(kāi)火模式。
按住自動(dòng)開(kāi)火按鈕 1 秒以上可以進(jìn)入自動(dòng)開(kāi)火設(shè)置模式。自動(dòng)發(fā)射設(shè)置模式由自動(dòng)發(fā)射 LED 指示,該 LED 以當(dāng)前發(fā)射速率閃爍。您可以通過(guò)向上移動(dòng)操縱桿來(lái)增加發(fā)射率,并通過(guò)向下移動(dòng)操縱桿來(lái)降低發(fā)射率。有五種速度設(shè)置,分別是:4 cps、8 cps、16 cps、31 cps 和 63 cps。Cps 表示每秒點(diǎn)擊次數(shù)。以最快的速度,您可能再也看不到自動(dòng)開(kāi)火 LED 正在閃爍,但它似乎一直亮著。
您還可以配置哪些按鈕啟用了自動(dòng)觸發(fā)。退出自動(dòng)開(kāi)火配置模式時(shí),按住這些按鈕,然后短按自動(dòng)開(kāi)火按鈕。當(dāng)您現(xiàn)在按下自動(dòng)開(kāi)火按鈕時(shí),這些按鈕會(huì)激活自動(dòng)開(kāi)火功能。所有其他按鈕的行為正常。
請(qǐng)注意,如果您使用 Aqua 的 Key Test 或 Windows 游戲桿測(cè)試應(yīng)用程序,它們將無(wú)法正確顯示最快的自動(dòng)開(kāi)火速率。但實(shí)際射速仍然是正確的。如果您在記事本上測(cè)試每秒可以獲得多少個(gè)字符(當(dāng)然是在鍵盤(pán)模式下),您可以看到這一點(diǎn)。
配置鍵盤(pán)模式鍵盤(pán)映射
J-ACE 的鍵盤(pán)模式有四個(gè)預(yù)配置的鍵盤(pán)映射。這使您可以同時(shí)連接四個(gè)基于 J-ACE 的控制器并允許四人游戲。連接 USB 電纜時(shí),您可以通過(guò)按住按鈕 1 來(lái)更改鍵盤(pán)映射。這將進(jìn)入鍵盤(pán)映射選擇模式。該模式通過(guò)閃爍所有連接的 LED 來(lái)指示。現(xiàn)在您可以通過(guò)操縱桿選擇所需的鍵盤(pán)映射。保持操縱桿指向所需方向并按下按鈕 1。
UP 玩家 1 鍵盤(pán)映射
適合玩家 2 鍵盤(pán)映射
DOWN 玩家 3 鍵盤(pán)映射
左為玩家 4 鍵盤(pán)映射
目前,鍵盤(pán)映射是固定的。
移位功能
移位功能類(lèi)似于鍵盤(pán)中的移位。它改變了其他按鈕的作用。J-ACE 使用開(kāi)始按鈕作為換檔。shift 功能允許用更少的按鈕構(gòu)建一個(gè)mame 控制器,因?yàn)槟灰欢ú槐貫槔缬矌?a target='_blank' class='arckwlink_none'>接收器或其他與模擬器相關(guān)的按鈕使用專(zhuān)用按鈕。shift 功能使開(kāi)始按鈕的行為略有不同。正常的開(kāi)始按鈕鍵碼是在您釋放開(kāi)始按鈕時(shí)發(fā)送的,而不是在您按下它時(shí)發(fā)送的。如果您已將開(kāi)始按鈕用作 shift 發(fā)送一些其他鍵碼,則根本不會(huì)發(fā)送正常的開(kāi)始按鈕鍵碼。
移位功能僅在 J-ACE 配置為播放器 1 鍵盤(pán)映射時(shí)可用。使用移位功能發(fā)送的替代鍵碼如上表所示。
搖桿模式還實(shí)現(xiàn)了換檔功能。如果要在搖桿模式下禁用移位功能,請(qǐng)查看鍵盤(pán)映射配置說(shuō)明。操縱桿固件中也提供相同的配置模式。配置為播放器 1 時(shí)啟用移位。帶有操縱桿固件的鍵盤(pán)映射配置模式除了啟用或禁用移位功能之外沒(méi)有任何其他效果。
有關(guān)詳細(xì)信息,請(qǐng)參閱項(xiàng)目網(wǎng)頁(yè)。玩得開(kāi)心!
?
- 旋轉(zhuǎn)編碼器控制電機(jī)速度 4次下載
- FENAC編碼器資料-2022
- STM32——編碼器測(cè)速原理及STM32編碼器模式
- H264編碼器與AdobeFlashMedia組合使用
- 一種混合自動(dòng)編碼器高斯混合模型MAGMM 7次下載
- 基于雙編碼器網(wǎng)絡(luò)結(jié)構(gòu)的CGAtten-GRU模型 12次下載
- 什么是編碼器 編碼器的詳細(xì)資料講解 14次下載
- 8線3線優(yōu)先編碼器的設(shè)計(jì)使用資料說(shuō)明 29次下載
- dsPIC33F系列參考手冊(cè)之正交編碼器接口(QEI)
- 編碼器教程 30次下載
- 什么是視頻編碼器 0次下載
- 單片機(jī)控制的光電編碼器測(cè)速系統(tǒng) 278次下載
- 編碼器與PLC連接及應(yīng)用 469次下載
- MercuryII編碼器調(diào)試軟件
- 增量編碼器簡(jiǎn)介
- PLC如何判斷編碼器正反轉(zhuǎn) 1027次閱讀
- 增量編碼器和絕對(duì)值編碼器的區(qū)別 1625次閱讀
- 編碼器好壞怎么判斷,編碼器原理 1440次閱讀
- 磁性編碼器和光電編碼器的比較 2350次閱讀
- 由編碼器控制的電位計(jì) 448次閱讀
- 編碼器的定位功能,用PLC控制如何實(shí)現(xiàn)? 2351次閱讀
- 影響編碼器分辨率和精度的因素 3881次閱讀
- 電子編碼器怎么編碼_電子編碼器編碼失敗的原因 1w次閱讀
- 脈沖編碼器的原理_脈沖編碼器的故障分析 9213次閱讀
- 伺服電機(jī)編碼器原理_伺服電機(jī)編碼器種類(lèi) 9937次閱讀
- 光電編碼器型號(hào)含義_光電編碼器應(yīng)用實(shí)例 1.7w次閱讀
- 編碼器正交編碼工作原理 3.2w次閱讀
- 伺服電機(jī)自帶編碼器為什么還要外加編碼器? 6w次閱讀
- 伺服電機(jī)編碼器原理(伺服電機(jī)編碼器幾根線以及接線圖) 12.7w次閱讀
- 編碼器元件及其應(yīng)用 6512次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多