ハードウェアが完成したので、まずはモーターが動くかどうか確認します。使用するPro MicroはN64コントローラーに合わせて3.3V動作の互換機を使います。テストに使用したスケッチはBlinkと同じで、トランジスタのベースにつながっているピンを一定間隔でオンオフするだけです。
スケッチをPro Microに書き込み電源をつなぐと、モーターが動いて振動が伝わってきました。ちゃんと一定間隔で動作・停止を繰り返します。回路はこれで問題ないようです。
ただし、振動パックの基板を取り外してしまったので、コントローラーに装着すると若干ぐらつくようになってしまいました。このままではモーターを動かしてもコントローラーに振動が十分伝わらないので、振動パックとコントローラーの間にダイソーのフェルトシールを貼って、グラつきがなくなるようにしっかりと固定しました。
モーターが制御できたので、次はPlaystation Classicにつなげるためのスケッチを作成します。前回作成したPro MicroとN64コントローラーの接続スケッチを書き換えてArduino XInput Libraryを組み込み、そこに振動制御を付け加えました。
ProMicroN64XinputRumble.ino
N64コントローラーはXbox360よりボタンやアナログスティックが少ないので、Pro Microの基板に取り付けたスイッチで一部のボタンを別のボタンに切り替えられるようにしました。スイッチは7ピンにつないで、割り込みでボタン切り替えを行うようにしてあります。スイッチの状態を示すLEDも付けました。
ボタンの割り当てはXbox360コントローラーに近づけてはいますが、プレステのゲームによっては別の配置のほうが使い勝手がいいかもしれません。これは利用しながら修正していきます。
これでハード・ソフトとも完成したので、Playstation Classicにつなげて試してみます。前回のように鉄拳3で試してみるとちゃんと振動しました。
他のゲームでもちゃんと動作します。
前回のプレイステーションコントローラーと比べると振動はマイルドな感じです。好みもあるでしょうが、こちらのほうがゲームに集中しやすい感じがします。
N64コントローラー改造前は、振動パックをつけると乾電池内蔵のためにコントローラーがずっしり重くなっていたのですが、今回モーター以外取り外してしまったので軽くなって長時間の使用でも手首があまり疲れません。プレイステーションコントローラーと比べても若干軽いような気がするので、普段はN64コントローラーをメインに使うことになりそうです。
最新の画像[もっと見る]
- ラスベリーパイのベアメタル環境でLVGLを使う 6日前
- ラスベリーパイのベアメタル環境でLVGLを使う 6日前
- ラスベリーパイのベアメタル環境でLVGLを使う 6日前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
- ILI9341搭載のタッチパネルをLVGLで利用する 2週間前
※コメント投稿者のブログIDはブログ作成者のみに通知されます