2017年4月9日日曜日

Arduino JoyStick Libraryで自作コントローラを作ろう:導入編

某所への遠方研修がひと段落して、手が動いたのでメモする。
本件はArduinoを使った自作コントローラづくりに関する導入トピックだ。

まず最初に、一つ断りを入れておきたい。
本トピックでは、Arduinoの入門知識や記述言語であるC++に関する
話は述べないこととする。自分が教えられるようなレベルに無いというのもあるが、
「Arduino 入門」や「C++ 入門」でググれば素晴らしいページに出会えるからだ。
(掲示板で聞かれたら、参考になるURLは提示できるようにしたいです。)

ただし、最悪コピペで動かせるような状態にはするため、是非とも入門者でも
見ていただきたい。少しでも参考になれば、私はとても嬉しい。
ーーーーーーーーーーーーーーーーーーーーーーーー

改めて、Arduinoでの自作コントローラづくり導入に関して述べたい。
まず、以下の物品とソフトウェアを用意する。Arduinoの入門がすでに済んでいる
人であれば、自己判断で部品を変えてもらってもいいと思う。

[物品]
・Arduino Leonardo(http://akizukidenshi.com/catalog/g/gM-07384/)
2017/4/9(日)現在で約3000円だが、互換を含めもっと安いルートはあると思う

・USB A-microB データ通信ケーブル(https://goo.gl/oiItfM)
百円均一ショップでも売ってるけど、必ずデータ通信ケーブルを購入すること

・オス―オスジャンパーピンセット(http://akizukidenshi.com/catalog/g/gC-05371/)
・ブレッドボード(http://akizukidenshi.com/catalog/g/gP-05294/)
・カーボン抵抗 300 Ω(http://akizukidenshi.com/catalog/g/gR-25301/)
・ダクトスイッチ(http://akizukidenshi.com/catalog/g/gP-03647/)
Aitendoでもいいけども、とりあえず秋月に統一する。
カーボン抵抗は電圧を得るために使うだけだから、10 kΩとかでもいいと思う。

・Windows 10のノーパ
あくまでも私の環境というだけ。後述のライブラリはMac OSやLinuxでも導入
できるはずだが、後述のJoyToKeyが使えないため、何かしら代用できる手段を用意
してほしい。

[ソフトウェア]
・Arduino IDE(https://www.arduino.cc/en/Main/Software)
インストーラに沿って、そのまま順繰りにしてもらえればOK。

・Arduino JoyStick Library(https://goo.gl/m53TXu)
インストール方法は後述する。以降AJLと呼ぶことにする

・JoyToKey(http://joytokey.net/ja/)
シェアウェアだが、一応試用は可能。気に入ったら700円支払って
末永く使ってあげよう。

手順としては、以下の通りである。

1."Clone Or download"→"Download ZIP"でzipファイルを適当なところにダウンロード
2.ダウンロードしたzipファイルを解凍する。
3."C:\Program Files (x86)\Arduino\libraries"に、解凍後フォルダにあるJoystickフォルダを、フォルダごとそのままコピー
4.解凍後フォルダにある"deploy.bat"をクリックして実行
5.ブレッドボード上に結線する
6.ソースコードをコピペ(あくまでも今回の目的は導入の確認のため)
7.コンパイル&書き込み
8.JoyToKey起動
9.ボタン1を割り当て
10.ボタンを押して左クリックが行われるか確認

1.~4.は読んで字の如く。分からなければ掲示板で教えていただけるとありがたい。
5.~10.は写真やコードを提示して詳細を述べる。

5. ブレッドボード上に結線する

下図のようにジャンパで結線する。
抵抗で得られた電位をそのままGPIOの9番目に割り当てている。

6.ソースコードをコピペ

以下のソースコードをArduino IDEにてそのまま記述
AJLのサンプルコードの中身をちょっと変えただけ。

7.コンパイル&書き込み

コードに適当なファイル名を付けて保存して、”マイコンボードへの書き込み”
(→ボタン)をクリック。もしボードへの書き込みができなければ、コンパイル終了後の
タイミングでArduino上のResetボタンを押すといいかもしれない。

8.JoyToKey起動

起動すると課金の旨を申し出るが、OKを押すとそのまま続行される。

Button 1(このとき「機能」はDisabledになっているはず)をクリックして、
ボタンの設定画面に入る。

9.ボタン1を割り当て

”特殊なボタンの割り当て”内の左のボックスにて、”マウス左ボタン”
を選択。右は"Key 1"になっていることも確認してほしい。

"割り当てる"ボタンをクリックすれば、黄色くハイライトされた
”左クリック”を確認できるハズだ。

最後にOKをクリックして、設定を終了する。

10.ボタンを押して左クリックが行われるか確認

ブラウザ上の適当なボタンなどにカーソルを合わせて、
ブレッドボード上のボタンを押してもらいたい。
左クリックが実行されるハズだ。
ーーーーーーーーーーーーーーーーーーーーーーーーーーー

以上のことが確認できれば、お手元のArduinoでAJLが動かせることが
確認できる。動かなければ、Arduino IDEの”シリアルモニタ”をから、
回路の方の確認をしたほうがいいと思う。

ボタンが押されていればTrue,離れていればFalseが出力される。
(ただし、チャタリング対策が無いので、チョコチョコ出力がぶれると思います)

とりあえず今回のトピックはこれで終わらせたい。
次回はコードの解説を行いたい。


0 件のコメント:

コメントを投稿