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