■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:プログラム例
図2:プログラム実行結果
■構文
constrain(x, a, b)
■パラメータ
x: 計算対象の値
a: 範囲の下限
b: 範囲の上限
■戻り値
xがa以上b以下のときはxがそのまま返ります。
xがaより小さいときはa、bより大きいときはbが返ります。
励みになりますのでよければクリック下さい(^o^)/