توضیحات
تابع random – رندوم در آردوینو، اعداد رندوم تولید می کند.
نحوه استفاده
random(max)
random(min, max)
- در قسمت min حداقل مقدار عدد رندوم (تصادفی) را مشخص می کند.
- در قسمت max حداکثر مقدار عدد رندوم را مشخص می کند.
خروجی تابع
عددی بین max-1 و min مقدار مشخص شده.
- خروجی از نوع 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() {
// عددی تصادفی بین 0 تا 299 تولید می کند
randNumber = random(300);
Serial.println(randNumber);
// یک عدد تصادفی از 10 تا 19 چاپ می کند
randNumber = random(10, 20);
Serial.println(randNumber);
delay(50);
}
نکات مهم
- گر مهم باشد که دنباله ای از مقادیر تولید شده توسط random() متفاوت باشد ، در اجرای بعدی یک طرح ، از randomSeed() برای تولید مقدار اعداد تصادفی با ورودی نسبتاً تصادفی مانند analogRead() روی پین غیر متصل استفاده کنید.
- برعکس ، استفاده از اعداد تصادفی که دقیقاً تکرار می شوند گاهی می تواند مفید باشد. این را می توان با فراخوانی randomSeed() با یک شماره ثابت انجام داد.
- در قسمت پارامتر max باید با توجه به نوع داده متغیری که مقدار در آن ذخیره شده است ، انتخاب شود. در هر صورت، حداکثر مقدار باید در محدوده long قرار داشته باشد ( 32 بیت – 2،147،483،647 ). تنظیم max بر روی مقادیر بالا خطایی در هنگام کامپایل ایجاد نمی کند، اما در هنگام اجرا ، اعداد تولید شده آنطور که انتظار می رود نخواهد بود.