Arduino ジョイスティック モジュール:効果的に作成する方法
ジョイスティック モジュール
現在、モーションやロボティクスに関連するプロジェクトを扱っていますか? Arduino ジョイスティック モジュールについては聞いたことがあるかもしれませんが、作成方法はわかりません。
それとも、Arduino ジョイスティック モジュールの仕組みについてもっと知りたいですか?
それなら、あなたは正しい場所にいます。
Arduino ジョイスティックの目的は、モーションを Arduino に伝達することです。また、これを 2D (2 軸) で実行するため、モーションおよびロボット工学のアプリケーションに適しています。
そのため、この記事では、Arduino ジョイスティック モジュールのすべて、その仕組み、および簡単な Arduino ジョイスティック回路の作成方法を学びます。
準備はできたか?飛び込みましょう!
ジョイスティック モジュールとは?
ジョイスティックを必要としないロボット プロジェクトはほとんどありません。プロジェクトに適したコントローラーを入手するのが難しい場合があり、高価になることさえあります。ただし、ジョイスティック モジュールを使用すると、同じ結果をより手頃な価格で実現できます。
また、ジョイスティック モジュールは、アナログ ゲームパッドにあるジョイスティックと同様に機能します。その主要なコンポーネントは、90 度の角度に傾けられた 2 つのポテンショメータです。さらに、短いスティック (中央にスプリングが付いている) とポテンショメータの間に接続があります。
ポテンショメータ
ジョイスティック モジュールは、静止時に X 軸と Y 軸から約 2.5V を出力できます。ここで、ジョイスティックを動かすと、出力が 0V から 5V まで変化します。ただし、これは方向によって異なります。
さらに、ジョイスティック モジュールを備えたマイクロコントローラを使用する場合、静止位置での実際の値は約 512 になります。したがって、このジョイスティックを動かすと、値が 0 から 1023 に変化することがわかりますが、これは位置によって異なります。
ピン構成
ジョイスティック モジュールのピン構成は次のとおりです。
ピン番号 | ピン名 | 説明 |
1 | GND | モジュールのアース端子 |
2 | +5V | モジュールの正電源端子 |
3 | VRx | X軸に比例する電圧 |
4 | VRy | Y軸に比例する電圧 |
5 | SW | モジュールのスイッチ |
表> F食べ物
Arduino ジョイスティック モジュールの主な機能は次のとおりです。
- 各軸 (X と Y) に 2 つの独立したポテンショメータがあります
- あまり重くない
- ほとんどのマイクロコントローラまたは Arduino とモジュールを簡単に接続できます
- 使用していないときは自動的に中央の位置に戻ります
- カップタイプのノブも付いています
技術仕様
ジョイスティック モジュールの仕様は次のとおりです。
- 動作電圧は 5 V です
- 内部ポテンショメータの値は 10k です
- 動作温度は摂氏約0度から70度です
- ピン インターフェイスのリードは 2.54 mm です
- ジョイスティック モジュールの寸法:1.57 インチ x 1.02 インチ x 1.26 インチ (4.0 cm x 2.6 cm x 3.2 cm)
- 5 つのピンがあります
- 2 つのポテンショメータがモジュールの水平方向と垂直方向を制御します。
概略図
下の画像は、ジョイスティック モジュールの完全な回路図を示しています。前述のように、このモジュールには、X 軸と Y 軸を制御する 2 つのポテンショメータがあります。
ジョイスティック モジュールの回路図
さらに、両方のポテンショメータ (10k) は独立して動きます。つまり、それらを個別に、その方向に移動できます。また、プッシュ ボタンへのスイッチ (SW) ピンの内部接続があります。
ジョイスティックと Arduino のインターフェース
ジョイスティック モジュールは、Raspberry Pi、Arduino などの多くのマイクロコントローラーと互換性があります。さらに、インターフェイスが簡単で、最初に VRx および VRy 軸ピンをマイクロコントローラーの ADC ピンに接続する必要があります。
また、スイッチを使用する場合は、ボタンをマイクロコントローラーのデジタル ピンに接続する必要があります。
ジョイスティック モジュールを任意のマイクロコントローラーに接続する方法を理解するには、下の図を確認してください。
ジョイスティック モジュールからマイクロコントローラへ
次の図は、ジョイスティック モジュールを Arduino と接続する方法を示しています。この図では、モジュールを Arduino に接続できます。また、ジョイスティックのノブを動かす方向に応じて出力が得られます。
Arduino へのジョイスティック モジュール
インターフェースが完了すると、各方向の出力範囲が固定されていることがわかります。次の図は、+X、-X、+Y、および –Y の 4 方向のジョイスティック モジュールの動きに応じた X 軸と Y 軸の出力を示しています。ノブを斜めに動かすと、いくつかのアナログ値も表示されます。
移動方向
ジョイスティックのノブを押したときに知りたい場合は、SW ピンを Arduino のデジタル ピン 8 に接続することもできます。
さらに、ジョイスティックが正しく動作するには電源が必要です。そこで、VCC ピンを Arduino の 5V 端子に接続し、GND を Arduino の GND 端子に接続します。
Arduino コード
このプログラムを Arduino IDE でコーディングするのは非常に簡単です。したがって、最良の結果を得るには、1 つのデジタル入力ピンと 2 つのアナログ入力からジョイスティックの動きを測定します。次に、Arduino はモニターに影響を表示します。
ここが最高の部分です
このプログラムをコーディングするのにライブラリは必要ありません。アナログ入力を読み取り、そこから取得した値を表示するだけです。さらに、ボタンを押したときの出力も表示されます。
コードの生のスケッチは次のとおりです:
<オール> #define joyX A0
#define ジョイY A1
無効 セットアップ () {
シリアル . 開始 ( 9600 );
}
無効 ループ () {
// ここにメイン コードを配置して、繰り返し実行します:
xValue = アナログ読み取り ( ジョイエックス );
yValue = アナログ読み取り ( 喜びY );
//プロットまたは表示する値を出力
シリアル . 印刷 ( xValue );
シリアル . 印刷 ( 「\t」 );
シリアル . println ( y値 );
Arduino コードを示す画像
マッピング
場合によっては、アナログ値を読み取ることがすべてではなく、モジュールをディスプレイまたは他のインターフェイスにマッピングする必要がある場合があります。そのため、上記のコードの値を 8×8 LED マトリックスにマッピングする方法を紹介します。
Arduino マッピング
このプロセスの結果、ディスプレイ上のピクセルがジョイスティックで移動します。また、コードを変更して OLED またはグラフィック ディスプレイにマッピングすることも簡単です。
<オール> #include 「LedControl.h」
#define joyX A0
#define ジョイY A1
int xMap 、 yマップ 、 xValue 、 y値 ;
LedControl LC = LED コントロール ( 12 、 11 、 10 、 1 );
無効 セットアップ () {
シリアル . 開始 ( 115200 );
LC . シャットダウン ( 0 、 偽 );
/* 明るさを中間値に設定します */
LC . 設定強度 ( 0 、 8 );
/* ディスプレイをクリアします */
LC . クリア表示 ( 0 );
}
無効 ループ () {
// ここにメイン コードを配置して、繰り返し実行します:
xValue = アナログ読み取り ( ジョイエックス );
yValue = アナログ読み取り ( 喜びY );
xMap = 地図 ( xValue 、 0 、 1023 、 0 、 7 );
yMap = 地図 ( y値 、 0 、 1023 、 7 、 0 );
LC . setLed ( 0 、 xMap 、 yMap 、 真 );
LC . クリア表示 ( 0 );
}
Arduino を OLED またはグラフィック ディスプレイにマッピングするために必要なコードの画像
注:上記のコードは、map() 関数を使用して、好みに合わせて範囲をマッピングできることを示しています。
したがって、すべてが正しければ、シリアル モニターの出力は次のようになります。
アプリケーション
Arduino ジョイスティック モジュールのいくつかのアプリケーションを次に示します。
- ロボット工学でジョイスティック モジュールを使用できます
ロボット ドローン
可動カメラ
切り上げ
ジョイスティックと聞いて真っ先に思い浮かぶのはゲームコントローラーでしょう。ただし、DIY エレクトロニクスに関しては、ジョイスティック モジュールの非常に多くのエキサイティングなアプリケーションがあります。
ゲーム コントローラ
さらに、これらのモジュールは、主に Arduino とロボット制御に基づく DIY プロジェクトで機能します。前に説明したように、ジョイスティック モジュールは、スティックの水平方向または垂直方向の動きに応じてアナログ入力を供給するアナログ出力を最初にリリースしました。
では、以上でこの記事を終わります。ご質問やご提案がございましたら、お気軽にお問い合わせください。いつでも喜んでお手伝いいたします。