Scientific Journey

私の冒険記録。たまに回り道。

ON-OFF-ON トグルスイッチとArduinoを使ってみるよ!

トグルスイッチでやってみたい事

f:id:an-modoki:20170706155130j:plain
今回はこの生協で買ってきたON-OFF-ONトグルスイッチを使ってみたいと思います。
このトグルスイッチを切り替えて、Arduinoの動作を切り替えようと思います!

実際にやってみた事

トグルスイッチを切り替えると、シリアル通信で表示されるメッセージが切り替えられるよ。
f:id:an-modoki:20170706154956p:plain

配線方法

夏バテで配線図を書く気力がないです。すみません。
f:id:an-modoki:20170706155023j:plainf:id:an-modoki:20170706155029j:plainf:id:an-modoki:20170706155034j:plainf:id:an-modoki:20170706155039j:plain

プログラム

こちらがArduinoに書き込んだプログラムです。

//ON-OFF-ONのトグルスイッチの切り替えによって動作を変える

int val,val2 = 0;           // トグル:読み取った値を格納する変数
int n, n2, n3 = 0;          // トグル:読み取った特定値の回数をカウント
int Flag = 0;               // トグル:どの切り替えがされているかが格納

void setup() {
  Serial.begin(9600);        // シリアル通信の初期化
}

void loop() {
  val = analogRead(3);    // アナログピンを読み取る
  val2 = analogRead(5);    // アナログピンを読み取る

  if(val == 673 || val == 674){
      n ++;
      if(n >= 5){
        n = 0;
        n2 = 0;
        n3 = 0;
        Flag = 1;
      }
    }
    
   if(val2 == 673 || val2 == 674){
      n2++;
      if(n2 >= 5){
        n = 0;
        n2 = 0;
        n3 = 0;
        Flag = 2;
      }
  }

  if(val != 673 && val2 != 673){
      n3++;
      if(n3 >= 10){
        n = 0;
        n2 = 0;
        n3 = 0;
        Flag = 0;
      }
  }

  //トグルOFF
  if(Flag == 0){
    Serial.println("OFF");
  }
  //トグルA3 ON
  if(Flag == 1){
    Serial.println("A3 ON");
  }
  //トグルA5 ON
  if(Flag == 2){
    Serial.println("A5 ON");
  }
}