2019年6月11日火曜日

[Elegoo:13] アナログ ジョイスティックモジュール




概要 (Overview)
  • アナログ ジョイスティックについて学ぶ
  • XY軸の位置データと押し込んだ状態をシリアルモニタに表示する



使用する電子部品 (Component Required)
電子種別電子部品個数
マイコン Elegoo UNO R3 マイコンボード1
USBケーブル1
能動 アナログ ジョイスティック1
機構 ジャンプワイヤ(黄)[オス-メス]1
ジャンプワイヤ(緑)[オス-メス]1
ジャンプワイヤ(青)[オス-メス]1
ジャンプワイヤ(赤)[オス-メス]1
ジャンプワイヤ(黒)[オス-メス]1




電子部品について (Component Introduction)

アナログ ジョイスティック


  • アナログ ジョイスティックはX/Y二軸のポテンショメータと、SWのプッシュボタンの組み合わせ
  • X/Y軸:ジョイスティックが中立位置にあるときアナログ値[512]を、
    ジョイスティックを倒したX/Y方向にアナログ値[0-1024]を返す
  • SW:ジョイスティックを押し込むとデジタル値[LOW]を返す
  • SWピンから安定した読み取るため、Arduinoデジタルピンに内蔵されたプルアップ抵抗を介してVCCに接続する

《ピン》
GNDGND
Vcc電源入力(5V or 3V)
VRxアナログIN [0-1024]
VRyアナログIN [0-1024]
SWデジタルIN (プルアップ抵抗付)プッシュ時[LOW]



電子回路 (Electronic Circuit)

回路図 (Schematic)


実体配線図 (Wiring Diagram)





実践 (To Practice)

配線写真 (Example Picture)


プログラム (Code)


スケッチ
/******************************************************
 * 【 Elegoo:13 】ジョイスティックモジュール
 *    X/Yからデータを読み取るためにアナログPINを使用し、
 *    Switchを読むためにデジタルピンを使用する
 *****************************************************/

// ピン
#define PIN_SW 2  // スイッチ[D2]
#define PIN_X  0  // X軸    [A0]
#define PIN_Y  1  // Y軸    [A1]

/*********/
/* setup */
/*********/
void setup() {
  // --------------------------------------------------
  //Digital PIN (Switch)の設定
  pinMode(PIN_SW, INPUT);
  digitalWrite(PIN_SW, HIGH);   //初期化

  // --------------------------------------------------
  // シリアルモニタ開始
  Serial.begin(9600);
}

/********/
/* loop */
/********/
void loop() {

  // --------------------------------------------------
  //Switch
  Serial.print("Switch[");
  Serial.print(digitalRead(PIN_SW));
  Serial.print("] ");
  // --------------------------------------------------
  //X
  Serial.print("X-axis[");
  Serial.print(analogRead(PIN_X));
  Serial.print("] ");
  // --------------------------------------------------
  //Y
  Serial.print("Y-axis[");
  Serial.print(analogRead(PIN_Y));
  Serial.println("]");

  delay(500);
}

結果(動画)・モニタリング


ジョイスティックの状態をシリアルモニタに表示する

0 件のコメント:

コメントを投稿