NOBのArduino日記!

NOBのArduino日記!

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

Arduino IDE(constrain関数の使い方)

■constrain関数
 constrain関数は数値を指定した範囲のなかに収めます。

■使用例
 Arduino IDEで使用するconstrain関数の使用例は以下の通りです。試しにこのプログラムをArduino UNOで実行すると、最初に1秒間隔でランダムに発生した-10~10の値をiに代入します。次にconstrain関数でiの値が0未満なら「0」、10を超える場合は「10」、初めから0以上10以下ならそのままの値を jに代入します。最後にi,jの値をPCのシリアルモニター上に図1の通り表示します。

void setup() {                //一回だけ実行する
  Serial.begin(9600);         //9600bpsでシリアルポートを開く
}
void loop() {                 //{}内を無限ループで実行する
  int i = random(-10, 10);    //-10~10のランダムな整数をiに代入
  int j = constrain(i, 0, 10);//iの値を0以上10以下にしjに代入します
  Serial.print("i=");         //「i=」をシリアル出力します
  Serial.print(i);            //iの値をシリアル出力します
  Serial.print(":j=");        //「:j=」をシリアル出力します
  Serial.println(j);          //jの値の後に改行を付けてシリアル出力します
  delay(1000);                //1000ms(1秒)待ちます
}
イメージ 1
図1:プログラム例

イメージ 1 
図2:プログラム実行結果

■構文
 constrain(x, a, b)

■パラメータ
 x: 計算対象の値
 a: 範囲の下限
 b: 範囲の上限

■戻り値
 xがa以上b以下のときはxがそのまま返ります。
 xがaより小さいときはa、bより大きいときはbが返ります。

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る