random()
random()関数は擬似乱数を生成します。
書式
random(long max)
random(long min, long max)
random(long max)はrandom(0、max)の呼び出しと同じです。
指定された下限と上限で擬似乱数を生成します。
引数
min :戻り値の下限
max :戻り値の上限
戻り値
min~ maxの範囲の擬似乱数
解説
random()によって生成された一連の値が異なる場合、後でスケッチを実行する際にrandomSeed()を使用して、乱数ジェネレータを無作為ピンで初期化します(たとえば、未接続ピンのanalogRead()など)。
逆に、正確に繰り返す擬似乱数シーケンスを使用することが時には有用な場合もあります。 これは、ランダムシーケンスを開始する前に、固定数でrandomSeed()を呼び出すことで実現できます。
利用例
次のスケッチでは、ピン0のADC読み値に基づいてランダムシードが初期化されます。このピンが接続されていない場合、スケッチは実行されるたびに異なる値をシリアルモニタに出力する必要があります。
code:sample.ino
long randNumber;
void setup() {
pinMode(0, INPUT_ANALOG);
randomSeed(analogRead(0));
}
void loop() {
randNumber = random(300);
SerialUSB.println(randNumber);
delay(50);
}
関連項目
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。