ホーム > カテゴリ > ロボット・電子工作・マイコン >

アナログジョイスティック(2軸)の使い方 [Arduino]

X/Y軸のアナログジョイスティックの使い方です。

ジョイスティックの操作方向は「上、下、左、右、中央(デフォルト)、右上、右下、左下、左上」の8方向の操作が読み取れます。

使用部品・材料

総額で約520円です。(Arduino本体の値段を除く)

部品/材料値段備考
ブレッドボード¥270秋月電子の通販コード(P-00315)
アナログジョイスティックDIP化キット JT8P-3.2T-B10K-1-16Y¥250秋月電子の通販コード(K-10263)

配線図

XY軸は次のようになっています。

スケッチ(プログラム)

ジョイスティックを操作すると操作方向をシリアルモニターに表示します。

  1. int middle_hi;
  2. int middle_lo;
  3.  
  4. void setup() {
  5. Serial.begin(9600);
  6.  
  7. // 誤差20%の中央範囲
  8. middle_hi = (int)((1024.0 / 2.0) + (512.0 * 0.20));
  9. middle_lo = (int)((1024.0 / 2.0) - (512.0 * 0.20));
  10. }
  11. void loop() {
  12. int x = analogRead(A0);
  13. int y = analogRead(A1);
  14.  
  15. // X軸
  16. Serial.print("X軸:");
  17. if (x >= middle_hi) {
  18. Serial.print("左");
  19. } else if (x >= middle_lo && x <= middle_hi) {
  20. Serial.print("中");
  21. } else {
  22. Serial.print("右");
  23. }
  24. Serial.print("(");
  25. Serial.print(x);
  26. Serial.print(") ");
  27. // Y軸
  28. Serial.print("Y軸:");
  29. if (y >= middle_hi) {
  30. Serial.print("下");
  31. } else if (y >= middle_lo && y <= middle_hi) {
  32. Serial.print("中");
  33. } else {
  34. Serial.print("上");
  35. }
  36. Serial.print("(");
  37. Serial.print(y);
  38. Serial.println(") ");
  39.  
  40. delay(300);
  41. }

最後に

今回は「公式のデータシート」が中国語と英語で非常にわかりにくかったので、色々と試行錯誤した結果です。





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年06月29日
記事NO:02444