توضیحات
تابع randomSeed – شبهرندوم در آردوینو، اعداد تصادفی تولید شده یک مرحله دیگر نیز تصادفی می شوند. پس اعداد یکسانی را دریافت نمی کنید.
اگر مهم باشد اعداد تولید شده توسط دستور random() متفاوت باشند، در اجرای بعدی از دستور randomSeed() برای تولید اعداد تصادفی با ورودی نسبتا تصادفی با استفاده از دستور analogRead() روی پین خالی (غیر متصل) استفاده کنید.
بر عکس، گاهی استفاده از اعداد تصادفی دقیقا تکراری می تواند مفید باشد. برای این کار باید دستور randomSeed() را با یک شماره ثابت فراخوانی کنیم.
نحوه استفاده
randomSeed(seed)
- در قسمت seed تعداد برای شروع دنباله تصادفی. داده ها باید از نوع مثبت باشند.
خروجی تابع
تابع خروجی ندارد.
مثال
کد زیر هر سری اعدادی تصادفی در محدوده 0 تا 299 متفاوت تولید می کند.
long randNumber;
void setup() {
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
randNumber = random(300);
Serial.println(randNumber);
delay(50);
}