Generowanie liczb losowych
ArduinoIDE ma zaimplementowane funkcje umożliwiające generowanie liczb pseudolosowych. Do dyspozycji mamy dwie funkcje: random() oraz randomSeed().
randomSeed()
Funkcja randomSeed() umożliwia zainicjowanie generatora liczb pseudolosowych.
random()
Funkcja random() umożliwia wygenerowanie liczby pseudolosowej z podanego zakresu. Składnia polecenia podana została poniżej:
random(x); // zakres 0 - (x-1)
random(a,b); // zakres a - (b-1)
Podając jeden parametr generujemy liczbę z zakresu od zera do liczby o jeden mniejszej od parametru. Dla dwóch parametrów zakres rozpoczyna się od pierwszego parametru, a kończy na liczbie o jeden mniejszej od drugiego parametru. Przykład losowania liczb podano poniżej:
long randNumber;
void setup()
{
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop()
{
randNumber = random(300);
Serial.println(randNumber);
randNumber = random(10, 20);
Serial.println(randNumber);
delay(150);
}
W przykładzie zastosowano inicjalizację generatora za pomocą wartości odczytanej z wejścia analogowego. Pierwsza z pary liczb losowana jest z zakresu 0 - 299, druga z zakresu 10 - 19.