arduino
Willekeurige nummers
Zoeken…
Syntaxis
random (max) // Retourneert een (lang) pseudo-willekeurig getal tussen 0 (inclusief) en max (exclusief)
random (min, max) // Retourneert een (lang) pseudo-willekeurig getal tussen min (inclusief) en max (exclusief)
randomSeed (seed) // Initialiseert de pseudo-willekeurige getallengenerator, waardoor deze op een bepaald punt in de reeks begint.
parameters
Parameter | Details |
---|---|
min | De minimaal mogelijke waarde (inclusief) die moet worden gegenereerd door de functie random() . |
max | De maximaal mogelijke waarde (exclusief) die wordt gegenereerd door de functie random() . |
zaad | Het zaad dat wordt gebruikt om de functie random() volgorde te plaatsen. |
Opmerkingen
Als randomSeed()
wordt aangeroepen met een vaste waarde (bijv. randomSeed(5)
), herhaalt de reeks willekeurige getallen die door de schets worden gegenereerd elke keer dat deze wordt uitgevoerd. In de meeste gevallen heeft een willekeurig zaad de voorkeur, wat kan worden verkregen door een niet-verbonden analoge pin te lezen.
Genereer een willekeurig nummer
De functie random()
kan worden gebruikt om pseudo-willekeurige getallen te genereren:
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);
}
Een zaadje zetten
Als het belangrijk is dat een reeks getallen gegenereerd door random()
verschilt, is het een goed idee om een seed met 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);
}