آموزش آردوینودستورات آردوینو

دستور randomSeed در آردوینو (تصادفی کردن اعداد random)

ما قبلا دستور random را بررسی کردیم. با دستور random میتوانستیم اعداد تصادفی را در محدوده دلخواه خود ایجاد کنیم. اما یک ایراد بر دستور random وارد است. آن هم این است که هر بار برد راه اندازی مجدد شود، اعداد تصادفی مشابهی تولید میشوند. در پروژه هایی که نیاز دارید حتی با ریستارت شدن برد، باز هم اعداد تصادفی تولید شده متفاوت باشند، باید از تابع randomSeed استفاده کنید.

با استفاده از این دستور، اعداد تصادفی تولید شده یک مرحله دیگر نیز تصادفی میشوند و بنابراین اعداد یکسانی را دریافت نمیکنید. زیرا این دستور با نویزی که در پایه های ورودی آنالوگ وجود دارد، اعداد مختلفی را برای شما ایجاد میکند.

دستور randomSeed

تابع randomSeed() به صورت زیر قابل استفاده است.

randomSeed(seed)

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.
  • seed: نام یک پین ورودی آنالوگ (میتوانید از یک عدد ثابت نیز استفاده کنید)

این دستور چه چیزی را بر میگرداند؟

چیزی را بر نمیگرداند.

نمونه کد با تابع randomSeed

با استفاده از کد زیر ما یک عدد تصادفی در محدوده 0 تا 299 تولید میکنیم. در این کد از تابع randomSeed استفاده کردیم بنابراین عدد تولید شده هربار متفاوت است.

long randNumber; // تعریف متغیر برای عدد تصادفی

void setup() {
  Serial.begin(9600); // آغاز ارتباط سریال
  randomSeed(analogRead(0)); // استفاده از دستور مورد نظر با پایه آنالوگ 0
}

void loop() {
  randNumber = random(300); // ایجاد عدد تصادفی در محدوده 0 تا 299
  Serial.println(randNumber); // نمایش عدد تصادفی در سریال مانیتور
  delay(50); // تاخیر به مدت 50 میلی ثانیه برای تولید عدد تصادفی بعدی
}

دستورات مرتبط:

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *