こんにちは、エンジニアのオオバです。
今回はジョイスティックモジュールについて調べてみます。
あわせて読みたい記事
![](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181123/20181123160621.png#614.0__464.0)
Arduino 超音波センサーを使って距離を測る
![Arduino ジョイスティックモジュールを使ってスティックの傾けた値を取得する_0](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181125/20181125205534.png#750__464)
コンシューマゲームコントローラについているようなスティックです。縦横斜めに倒すことができます。
スティックを倒すと、X,Y値それぞれ0〜1023の値で返ってきます。
何も操作しなければXY値それぞれ512が返ってくるのではないかと思います(ぼくの場合値がずれていて困っていますが)
配線的には、ジョイスティックモジュール側に合わせて、GND、+5Vはそれぞれグランドと5Vピンと接続させます。
VRx、VRyピンをそれぞれA5、A4ピンに差し込みます。
ジョイスティックを倒した値は、アナログピンのA4、A5ピンから読み取ることになります。
![Arduino ジョイスティックモジュールを使ってスティックの傾けた値を取得する_1](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181125/20181125230807.png#403__500)
以下がサンプルコードです。
arduino_joystick.ino · GitHub
不具合?
![Arduino ジョイスティックモジュールを使ってスティックの傾けた値を取得する_2](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181125/20181125232602.png#546__396)
先のコードを実行した状態でシリアルモニタに出力すると、ジョイスティックを操作していない状態のXY値がデフォルト値からずれていました。
※本来512だと思われるが、X:502、Y:492とずれている
ソースコードからオフセットを与えることで多少は補正できると思いますが、不良品?なんでしょうかね。
追記 2018.11.26
Arduinoでジョイスティックを使う – jumbleat
こちらの記事で同様の数値のズレについて書かれていました。後日参考にして、調整しようと思います。
以上
参考
![](https://cdn-ak.f.st-hatena.com/images/fotolife/e/esakun/20181125/20181125205534.png#876.0__542.0)
この記事が気に入ったらフォローしよう
オススメ記事
検証環境
- macOS Mojave 10.14
- Arduino Genuino 1.8.7
- Arduino/Genuino Uno