NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(switch case文の使い方)

switch case文
 switch case文はif文と同じ様に、変数の値に応じて動作や処理を変える事が出来ます。動作や処理を細かく制御したい時などは、if文に比べ少ない文字数で記述出来て便利です

使用例
 Arduino IDEで使用するswitch case文の例は以下の通りです。
 試しにこのプログラムを実行すると、13ピンのLEDが0.1秒間隔で3分の2の確率で点灯、3分の1の確率で消灯を繰り返します
 
void setup() {                //一回だけ実行する
  pinMode(13, OUTPUT);        //LEDを接続した13番ピンを出力用に設定する
}

void loop() {                 //{}内を無限ループで実行する
  int i = random (3);         //iに0~2の整数の中で発生させた乱数を代入する。
  switch (i) {                //変数iがどの条件に一致するかcaseを順に調べ、一致した次の行を実行
    case 1:                   // iが1のとき実行される
      digitalWrite(13, HIGH); //LEDが接続された13番ピンをHIGH(5V)にする
      break;
    case 2:                   //iが2のとき実行される
      digitalWrite(13, LOW);  //LEDが接続された13番ピンをLOW(0V)にする
      break;
    default:                  //どのcaseにも一致しなかったとき実行される(defaultは省略可能)
      digitalWrite(13, HIGH); //LEDが接続された13番ピンをHIGH(5V)にする
  }
  delay(100);                 //100ms(0.1秒)LEDを点灯した状態で止める
}
イメージ 1
図1:プログラム例

 

switch (i) {から「}」内において、変数iの値と「case」直後の数字を上から順に参照して行き、数値が一致した場合のみ「case」直後の命令を実行します。
 命令実行後に「break」を付けないと次の「case」参照が続きます。
default」はどの「case」にも該当しなかった場合に直後の命令が実行されます。default」を省略する事も可能です。
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【Other】目次に戻る