アナログジョイスティック(2軸)の使い方 [Arduino]
X/Y軸のアナログジョイスティックの使い方です。
ジョイスティックの操作方向は「上、下、左、右、中央(デフォルト)、右上、右下、左下、左上」の8方向の操作が読み取れます。
使用部品・材料
総額で約520円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
ブレッドボード | ¥270 | 秋月電子の通販コード(P-00315) |
アナログジョイスティックDIP化キット JT8P-3.2T-B10K-1-16Y | ¥250 | 秋月電子の通販コード(K-10263) |
配線図
XY軸は次のようになっています。
スケッチ(プログラム)
ジョイスティックを操作すると操作方向をシリアルモニターに表示します。
- int middle_hi;
- int middle_lo;
- void setup() {
- Serial.begin(9600);
- // 誤差20%の中央範囲
- middle_hi = (int)((1024.0 / 2.0) + (512.0 * 0.20));
- middle_lo = (int)((1024.0 / 2.0) - (512.0 * 0.20));
- }
- void loop() {
- int x = analogRead(A0);
- int y = analogRead(A1);
- // X軸
- Serial.print("X軸:");
- if (x >= middle_hi) {
- Serial.print("左");
- } else if (x >= middle_lo && x <= middle_hi) {
- Serial.print("中");
- } else {
- Serial.print("右");
- }
- Serial.print("(");
- Serial.print(x);
- Serial.print(") ");
- // Y軸
- Serial.print("Y軸:");
- if (y >= middle_hi) {
- Serial.print("下");
- } else if (y >= middle_lo && y <= middle_hi) {
- Serial.print("中");
- } else {
- Serial.print("上");
- }
- Serial.print("(");
- Serial.print(y);
- Serial.println(") ");
- delay(300);
- }
最後に
今回は「公式のデータシート」が中国語と英語で非常にわかりにくかったので、色々と試行錯誤した結果です。
スポンサーリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
公開日:2017年06月29日
記事NO:02444