ジョイスティックモジュール¶
概要¶
ジョイスティックモジュールは、ノブの動きを水平(X軸)および垂直(Y軸)の二方向で測定する装置です。ゲームやロボット、カメラなど、多種多様なアプリケーションでの操作に使用できます。
原理¶
ジョイスティックは、通常10キロオームの2つのポテンショメータに基づいて動作します。X軸とY軸の方向で抵抗が変わると、Arduinoはこれをx座標とy座標として解釈するための異なる電圧を受け取ります。プロセッサには、ジョイスティックのアナログ値をデジタル値に変換し、必要な処理を行うためのADCユニットが必要です。
Arduinoボードには10ビットのADCチャネルが6つあります。Arduinoの基準電圧(5V)が1024セグメントに分かれます。ジョイスティックがx軸に沿って動くと、ADCの値は0から1023まで上がり、値512が中央になります。以下の画像は、ジョイスティックの位置に基づいたADCのおおよその値を示しています。
使い方¶
使用する電子部品
Arduino Uno R4またはR3ボード * 1
ジョイスティックモジュール * 1
ジャンパーワイヤー
回路組み立て
コード¶
コードの説明¶
ジョイスティックのピン設定。ここでは、ジョイスティックのX軸とY軸が接続されているアナログピンを定義します。
const int xPin = A0; const int yPin = A1;
setup()
関数内での初期化。このセクションでは、シリアル通信を設定し、Arduinoとシリアルモニター間でメッセージの送受信を可能にします。void setup() { Serial.begin(9600); }
loop()
関数内でのジョイスティック値の読み取り。Arduinoは継続的にジョイスティックからX値とY値を読み取り、それらをシリアルモニターに出力します。各出力の後に短い遅延があり、これにより読み取りがより読みやすく、シリアルモニターが圧倒されないようにしています。void loop() { Serial.print("X: "); Serial.print(analogRead(xPin)); Serial.print(" | Y: "); Serial.println(analogRead(yPin)); delay(50); }
さらに多くのプロジェクト¶
ジョイスティックの値を用いてサーボモーターを制御し、ジョイスティックの動きに応じて動かします。