見出し画像

Switch自動化〜はんだ付け無し、ジャンパーワイヤ1本でマクロモード切替〜

概要

こんにちは。じょんです。
昨日「Switch自動化~マクロモード切替、変数調整~」の記事を公開ましたが、イイねと共に皆さんの心の声が聞こえてきました。
「はんだごてなんて 家にあるわけないやろ。」
せやな!!
ということで、はんだ付けなし、ジャンパーワイヤー1本でモード切替出来るようにしました。

準備するもの

①ジャンパーワイヤ
以上!!!

使い方

・良く使うプログラムを何個かを下記コードにコピペ。
・ArduinoのGNDとデジタルピン0〜13のどれかをジャンパーワイヤで接続。
・リセットボタン押す。
以上!!!!!!

コード

適当にA連打、B連打とか入れてるけど、好きなプログラムをコピペして修正してくれい
以上!!!!!!!!!

// ライブラリを読み込むためのコード
#include <NintendoSwitchControlLibrary.h>

int MacroMode = 14; //初期設定

// マクロ⓪ - A連打関数
void MashA() {
    //0.1秒毎にAボタン入力を3000回繰り返す
    pushButton(Button::A, 100, 3000);
}

// マクロ① - B連打関数
void MashB() {
    //0.1秒毎にBボタン入力を3000回繰り返す
    pushButton(Button::B, 100, 3000);
}

// マクロ② - X連打関数
void MashX() {
    //0.1秒毎にXボタン入力を3000回繰り返す
    pushButton(Button::X, 100, 3000);
}

// マクロ③ - Y連打関数
void MashY() {
    //0.1秒毎にYボタン入力を3000回繰り返す
    pushButton(Button::Y, 100, 3000);
}


void setup() {
    //モード切替用ピン
    pinMode(13, INPUT_PULLUP);
    pinMode(12, INPUT_PULLUP);    
    pinMode(11, INPUT_PULLUP);
    pinMode(10, INPUT_PULLUP);
    pinMode(9, INPUT_PULLUP);
    pinMode(8, INPUT_PULLUP);
    pinMode(7, INPUT_PULLUP);
    pinMode(6, INPUT_PULLUP);
    pinMode(5, INPUT_PULLUP);
    pinMode(4, INPUT_PULLUP);
    pinMode(3, INPUT_PULLUP);
    pinMode(2, INPUT_PULLUP);
    pinMode(1, INPUT_PULLUP);
    pinMode(0, INPUT_PULLUP);
     //Switchがマイコンを認識するまでは信号を受け付けないため、適当な処理をさせておく
    pushButton(Button::ZL, 500, 5);   
    delay(100);
}

void loop() {
  for(int i = 0; i<=13; i++){
    if(digitalRead(i) == 0 ){
      MacroMode = i;
    }
  }

  if(MacroMode == 0){
    MashA();
  }else if(MacroMode == 1){
    MashB();
  }else if(MacroMode == 2){
    MashX();
  }else if(MacroMode == 3){
    MashY();
//  }else if(MacroMode = 4){
//    実行する関数を記載
//  }else if(MacroMode = 5){
//    実行する関数を記載
//  }else if(MacroMode = 6){
//    実行する関数を記載
//  }else if(MacroMode = 7){
//    実行する関数を記載
//  }else if(MacroMode = 8){
//    実行する関数を記載
//  }else if(MacroMode = 9){
//    実行する関数を記載
//  }else if(MacroMode = 10){
//    実行する関数を記載
//  }else if(MacroMode = 11){
//    実行する関数を記載
//  }else if(MacroMode = 12){
//    実行する関数を記載
//  }else if(MacroMode = 13){
//    実行する関数を記載   
  }
  delay(250);
}

最後に

はんだ付け不要じゃい!
あとは上手いことやってくれ!
以上!!!!!!!!!!!!

この記事が気に入ったらサポートをしてみませんか?