2つのスイッチで2つのLEDのON/OFF切り替え

スイッチ1で光らせるLEDの切り替え、

スイッチ2でLEDのON/OFFをコントロールするサンプル

サンプルコード
//各ピンの番号をわかりやすい名前の変数に入れておく
int led1_pin = 13;
int led2_pin = 12;
int tact1_pin = 9;
int tact2_pin = 8;

//どちらのLEDをコントロールするかを表す変数
//mode=0の時:LED1、mode=1の時:LED2、
int mode = 0;

//各スイッチのon/off状態を入れる変数
int tact1_state = 0;
int tact2_state = 0;

void setup() {
  //各ピンの入出力をきめる
  pinMode(led1_pin, OUTPUT);
  pinMode(led2_pin, OUTPUT);
  pinMode(tact1_pin, INPUT);
  pinMode(tact2_pin, INPUT);
}

void loop() {
  //各スイッチが押されているかどうか読み取り
  tact1_state = digitalRead(tact1_pin);
  tact2_state = digitalRead(tact2_pin);

  //スイッチ1が押されていたらLED切り替え
  if(tact1_state == HIGH){
    //今コントロールされているスイッチによってmode切り替え
    if(mode == 0){
      mode = 1;
    }else if(mode == 1){
      mode = 0;
    }
    delay(500);
  }

  //スイッチ2が押されていたらLED点灯
  if(mode == 0){
    //mode=0の時はLED1をコントロール
    if(tact2_state == HIGH){
      digitalWrite(led1_pin,HIGH);
    }else{
      digitalWrite(led1_pin,LOW);
    }
  }else if(mode == 1){
    //mode=2の時はLED2をコントロール
    if(tact2_state == HIGH){
      digitalWrite(led2_pin,HIGH);
    }else{
      digitalWrite(led2_pin,LOW);
    }
  }

}

results matching ""

    No results matching ""