arduino
Losowe liczby
Szukaj…
Składnia
random (max) // Zwraca (długą) pseudolosową liczbę od 0 (włącznie) do max (wyłącznie)
random (min, max) // Zwraca (długą) pseudolosową liczbę między min (włącznie) i max (wyłącznie)
randomSeed (seed) // Inicjuje generator liczb pseudolosowych, powodując jego uruchomienie w określonym punkcie w sekwencji.
Parametry
Parametr | Detale |
---|---|
min | Minimalna możliwa wartość (włącznie) wygenerowana przez funkcję random() . |
max | Maksymalna możliwa wartość (wyłączna) do wygenerowania przez funkcję random() . |
nasionko | Ziarno, które zostanie użyte do przetasowania funkcji random() . |
Uwagi
Jeśli funkcja randomSeed()
zostanie wywołana ze stałą wartością (np. randomSeed(5)
), sekwencja liczb losowych wygenerowanych przez szkic będzie powtarzana przy każdym uruchomieniu. W większości przypadków preferowane jest losowe ziarno, które można uzyskać, czytając niepodłączony pin analogowy.
Wygeneruj liczbę losową
Funkcja random()
może być używana do generowania liczb pseudolosowych:
void setup() {
Serial.begin(9600);
}
void loop() {
long randomNumber = random(500); // Generate a random number between 0 and 499
Serial.println(randomNumber);
randomNumber = random(100, 1000); // Generate a random number between 100 and 999
Serial.println(randomNumber);
delay(100);
}
Ustawianie nasion
Jeśli ważne jest, aby sekwencja liczb generowana przez random()
się różniła, dobrym pomysłem jest określenie zarodka za pomocą randomSeed()
:
void setup() {
Serial.begin(9600);
// If analog pin 0 is left unconnected, analogRead(0) will produce a
// different random number each time the sketch is run.
randomSeed(analogRead(0));
}
void loop() {
long randomNumber = random(500); // Generate a random number between 0 and 499
Serial.println(randomNumber);
delay(100);
}