當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Arduino random()用法及代碼示例

[隨機數]

說明

random 函數生成偽隨機數。

用法

random(max)
random(min, max)

參數

min: 隨機值的下限,包括(可選)。
max: 隨機值的上限,不包含。

返回

min 和 max-1 之間的隨機數。數據類型:long

示例代碼

該代碼生成隨機數並顯示它們。

long randNumber;

void setup() {
  Serial.begin(9600);

  // if analog input pin 0 is unconnected, random analog
  // noise will cause the call to randomSeed() to generate
  // different seed numbers each time the sketch runs.
  // randomSeed() will then shuffle the random function.
  randomSeed(analogRead(0));
}

void loop() {
  // print a random number from 0 to 299
  randNumber = random(300);
  Serial.println(randNumber);

  // print a random number from 10 to 19
  randNumber = random(10, 20);
  Serial.println(randNumber);

  delay(50);
}

注意事項和警告

如果random() 生成的一係列值不同很重要,在隨後的草圖執行中,使用randomSeed() 使用相當隨機的輸入初始化隨機數生成器,例如未連接引腳上的analogRead()

相反,使用精確重複的偽隨機序列有時會很有用。這可以通過在開始隨機序列之前使用固定編號調用randomSeed() 來完成。

max 參數應根據存儲值的變量的數據類型進行選擇。在任何情況下,絕對最大值都與生成的值的 long 特性有關(32 位 - 2,147,483,647)。將max 設置為更高的值不會在編譯期間產生錯誤,但在草圖執行期間生成的數字將與預期不同。

相關用法


注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 random()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。