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);
}
}
}