• Showing Page History #110053

ギタコンの自作 試作3

試作3の内容

  • ボタンをタクトスイッチから、それっぽいボタンに変えます。
  • ボタンの数を増やします。
  • Pickをボタンではなく、アナログスティックにしてみます。

試作3で使うもの一覧

試作1で使ったものに加えて、以下を使います。

追加費用は、合計で 2000円+発送費用くらい?? (交換/追加するボタンの数による)

名称値段(参考)通販コード
それっぽいタクトスイッチを、必要な個数分だけ。

私にはボタン候補としてこれくらいしか見つけることができませんでした。もっといいボタンがあれば、ぜひ教えてください。

なおこの写真には、タクトスイッチだけでなく、次の項目のジョイスティックも含まれています。IMG_3632_.jpg
1個160円程度マルツオンラインにて
タクティルスイッチ 赤【KC901TCアカ】
タクティルスイッチ 緑【KC901TCミドリ】
タクティルスイッチ 青【KC901TCアオ】
タクティルスイッチ 黄【KC901TCキ】
タクティルスイッチ 白【KC901TCシロ】
2軸ジョイスティックモジュール x1 1個780円程度秋月電子にて
M-06807

ボタンの追加

試作1で、4つのボタンを使うために、Arduino Leonardoの、12,11,10, 9番ピンを既に使用しています。ボタンの数を増やす場合は、8,7,6,5..というようにピンを使ってください。2番ピンまで使えます。(1,0も使えるけど、ちょっとだけ面倒)

その上で、スケッチを変更してください。 例えば、ボタンを2個増やす場合(8,7ピンを追加で使用する場合)は、以下のようにスケッチを修正します(赤字部)。

Joystick_ Joystick(
  JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_GAMEPAD,
  46, 0,                 // Buttons, Hat Switch Count ボタンの数を4から6に増やす
  false, false, false,  // X,Y,Z Axis
  false, false, false,  // Rx, Ry, Rz Axis
  false, false,         // rudder, throttle
  false, false, false   // accelerator, break, steering
);

void setup() {
  // Initialize Button Pins
  pinMode(7, INPUT_PULLUP);    // 追加
  pinMode(8, INPUT_PULLUP);    // 追加
  pinMode(9, INPUT_PULLUP);    
  pinMode(10, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);
  pinMode(12, INPUT_PULLUP);

  // Initialize Joystick Library
  Joystick.begin();
}

// Constant that maps the phyical pin to the joystick button.
const int pinToButtonMap = 97; // 9を7にに変更

// Last state of the button
int lastButtonState[46] = {0,0,0,0,0,0};    // 4を6に変更し、0を2つ追加

配線の説明は不要ですよね。ボタンを2個増やす場合は、Arduino Leonardoの7,6番ピンを、それぞれ追加するボタンにつなぎます。ボタンのもう片方の端子は、どちらもGNDにつなぎます。(試作1の配線と全く同じ。)

アナログスティックの追加

後日執筆予定。