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