回路・ファームウェア

414061786412481039

このページではjubeatコントローラに使用するPIC18F2550のファームウェアを公開しています。
こちらで紹介している回路で、PCにゲームコントローラデバイスとして認識させることが出来ます。
必要なボタンのみなので、市販のコントローラを分解するよりも小さな遅延で動作します。(たぶん)

バージョン履歴

  • 2.0(2013/3/2版)
    ・ベースSDKをv2012-10-15版へ更新
    ・MPLAB Xプロジェクトとして再構築
    ・正論理、負論理モード選択の追加
    ・B接点スイッチに対応(対応方法を追記)
  • 1.0(2011/11/13版)
    初版バージョン。サポートは終了しました。

バージョン2.0(2013/3/2版)

ファームウェア
  • jubeat_pad_20.zip
  • ファイルにはソースコードが含まれています。
  • コンパイル済みバイナリはjubeat_pad_2.0.hexです。
  • 改変、ビルドするにはC18コンパイラが必要です。
  • 2013/12/3追記:諸事情により公開終了しました。
回路図
circuit_v20
  • 青線は裏面配線、赤線は表面です。
  • PIC、電解コンデンサ、USBコネクタには極性があります。
  • ファームウェアを書きこんだ上で組み立てを行ってください。

部品リスト

部品名 数量
ファームウェア書込済PICマイコン(PIC18F2550) 1
セラロック 20MHz 1
ユニバーサル基板 ICB-88相当以上 1
抵抗 10KΩ 16
積層セラミックコンデンサ 0.1uF 2
電解コンデンサ 16V220uF程度 1
USBコネクタ Bタイプメス(もしくはminiB、microBなど) 1
ピンヘッダ 2列x3ピン 1
ジャンパーピン 2
スズメッキ線 0.3~0.5mm程度 少々
スイッチ (お好みのもの) 任意
配線引き出しポイント
circuit_v20_pin
  • ①~⑯はボタン番号です。
  • ボタン番号の端子と、VCCまたはGNDがショートされるようにスイッチを接続してください。
  • モード選択スイッチの状態によって接続方法は異なります。
  • 端子を付ける場合などを想定し、画像右側に空きランドを設けています。
モード選択スイッチについて
ファームウェアバージョン2.0で、新たに正論理、負論理切り替えモードを追加しました。
周辺回路に合わせてお好みの設定を使用してください。正論理のほうが考え方的に分かりやすいと思います。
modeswitch1
sw-active-h 正論理モード(A接点スイッチ用)
①~⑯とVCCをショートさせるとPCにスイッチON状態として送信します。
A接点スイッチ(押したときON)を使用する場合はこのモードを使用してください。
sw-active-l 負論理モード(A接点スイッチ用)
①~⑯とGNDをショートさせるとPCにスイッチON状態として送信します。
A接点スイッチを使用する場合にこのモードが使用可能です。
sw-active-h-b 正論理モード(B接点スイッチ用)
①~⑯とGNDをショートさせるとPCにスイッチOFF状態として送信します。(解放させるとスイッチON状態を送信します)
B接点スイッチ(押したときOFF)を使用する場合にこのモードが使用可能です。
※スイッチを接続していない①~⑯の端子は常にON状態になります。
sw-active-l-b 負論理モード(B接点スイッチ用)
①~⑯とVCCをショートさせるとPCにスイッチOFF状態として送信します。(解放させるとスイッチON状態を送信します)
B接点スイッチを使用する場合にこのモードが使用可能です。
※スイッチを接続していない①~⑯の端子は常にON状態になります。
  • モード選択ジャンパピンは必ず上下2つ取り付けてください。
  • 上段のジャンパピンはHレベルでONなのか、LレベルでONなのかを選択するスイッチです。
  • 下段のジャンパピンは16個の抵抗をプルアップするかプルダウンするかの選択スイッチです。
スイッチの接続方法について
1つのボタンにつき複数のスイッチを接続したい場合があると思います。その場合には以下の回路を参考にしてください。
cn-single-a A接点スイッチを1つ接続する例
ボタンを押したとき、①~⑯の端子とモード設定スイッチで選択したVCCまたはGNDがショートするように配線します。
cn-multi-a A接点スイッチを複数接続する例
スイッチを並列に接続します。どれかのボタンが押されるとショート状態になるため、PCにはONとして送信されます。
cn-single-b B接点スイッチを1つ接続する例
A接点スイッチと同様です。
cn-multi-b B接点スイッチを複数接続する例
スイッチを直列に接続します。どれかのボタンが押されると回路が切断されるため、PCにONとして送信されます。
製作例

IMG_0849 IMG_0848 IMG_0850 IMG_0846 IMG_0900  IMG_0901

トラブルシューティング
  • PICが発熱する、「ハブポートの電力サージ」と表示される
    →配線が間違っていて電源がショートしています。すぐにUSBケーブルを抜いて配線を確認してください。
  • デバイスが認識されない
    →VCCのラインとGNDのラインが正しく配線されているか確認してください。
    →USBコネクタの外装とGNDが接続されているか確認してください。
    →PICが逆向きではないか確認してください。
  • 「認識できないデバイス」と表示される
    →PICの15,16番ピンが正しく配線されているか確認してください。
    →積層セラミックコンデンサ2つ(特に14番ピン側)が正しく配線されているか確認してください。
    →セラロックが正しく接続されているか確認してください。

 

部品販売について
jubeatコントローラ作りに挑戦したい!けど部品の入手が難しい・・・PICの書き込み環境がない・・・という方のために、書き込み済みPICと部品セットの提供を予定しています。が、準備ができていませんので、2013年3月中旬ぐらいまでお待ちください。。。twitterとこのページにて告知します。→@nezumin
2013.3.8追記
たいへん申し訳ありませんが、特定商取引法に抵触する可能性があるためWeb上での販売は中止させていただくことにしました。
どうしてもという方は、完全に個人的なやりとりになりますが以下にご連絡をお願いします。
(在庫終了しました)

 

バージョン1.0(2011/11/13版)

ファームウェア
バージョン1.0のサポートは終了させていただきました。
過去の情報につきましては、こちらをご参照ください。

 

コメントについて
バージョン1.0のページや製作記事にて「作ってください」や「○○を掲載してください」「売ってください」などの書き込みが目立ち、更新や返信する意欲が完全になくなっていました…
こちらの記事は技術的内容を含み、だれでも簡単に作れるものではありません。
常識的なことではありますが、Web検索でわかる質問や過度な要望につきましては極力お控えいただくようお願いします。
誤植や不足情報があれば、ご指摘いただければこちらの判断で修正、追加等を行います。
なお、すべての質問にはお答えいたしかねますのでご了承ください。

回路・ファームウェア」への2件のフィードバック

  1. ピンバック: 自作jubeat用PIC回路図&ファームウェア » NezBlog

  2. 指好き

    超初心者でスイッチの配線の仕方がわかりません。
    「B接点スイッチを複数接続する」の配線の仕方を教えていたたけないでしょうか?

    返信

コメントを残す

メールアドレスが公開されることはありません。