注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!

ジョイスティックモジュール

../_images/19_joystick.png

概要

ジョイスティックモジュールは、ノブの動きを水平(X軸)および垂直(Y軸)の二方向で測定する装置です。ゲームやロボット、カメラなど、多種多様なアプリケーションでの操作に使用できます。

原理

ジョイスティックは、通常10キロオームの2つのポテンショメータに基づいて動作します。X軸とY軸の方向で抵抗が変わると、Arduinoはこれをx座標とy座標として解釈するための異なる電圧を受け取ります。プロセッサには、ジョイスティックのアナログ値をデジタル値に変換し、必要な処理を行うためのADCユニットが必要です。

Arduinoボードには10ビットのADCチャネルが6つあります。Arduinoの基準電圧(5V)が1024セグメントに分かれます。ジョイスティックがx軸に沿って動くと、ADCの値は0から1023まで上がり、値512が中央になります。以下の画像は、ジョイスティックの位置に基づいたADCのおおよその値を示しています。

../_images/19_joystick_xy.png

使い方

使用する電子部品

  • Arduino Uno R4またはR3ボード * 1

  • ジョイスティックモジュール * 1

  • ジャンパーワイヤー

回路組み立て

../_images/19_joystick_module_circuit.png

コード



コードの説明

  1. ジョイスティックのピン設定。ここでは、ジョイスティックのX軸とY軸が接続されているアナログピンを定義します。

    const int xPin = A0;
    const int yPin = A1;
    
  2. setup() 関数内での初期化。このセクションでは、シリアル通信を設定し、Arduinoとシリアルモニター間でメッセージの送受信を可能にします。

    void setup() {
      Serial.begin(9600);
    }
    
  3. loop() 関数内でのジョイスティック値の読み取り。Arduinoは継続的にジョイスティックからX値とY値を読み取り、それらをシリアルモニターに出力します。各出力の後に短い遅延があり、これにより読み取りがより読みやすく、シリアルモニターが圧倒されないようにしています。

    void loop() {
      Serial.print("X: ");
      Serial.print(analogRead(xPin));
      Serial.print(" | Y: ");
      Serial.println(analogRead(yPin));
      delay(50);
    }
    

さらに多くのプロジェクト

  • ジョイスティックの値を用いてサーボモーターを制御し、ジョイスティックの動きに応じて動かします。