مهندس موفق الکترونیک

تولید اعداد تصادفی در آردوینو

به منظور تولید اعداد تصادفی در آردوینو میتوانید از تابع آردوینو مربوط به تولید اعداد تصادفی استفاده کنید. برای این منظور در آردوینو دو تابع داریم :

  • (randomSeed(seed
  • ()random

در واقع تابع اول seed یا مقدار اولیه عدد تصادفی را تنظیم می کند و تابع دوم تولید کننده عدد تصادفی است.

تابع (randomSeed (seed :

تابع (randomSeed(seed مقدار اولیه عدد تصادفی تولید شده توسط تابع اعداد تصادفی را ریست می کند. اگرچه تولید عدد توسط تابع random به صورت تصادفی انجام می شود اما زنجیره اعداد تصادفی ایجاد شده قابل پیشبینی و یکسان است. در واقع برای ایجاد یک عدد تصادف واقعی در هربار اجرای برنامه باید مقدار اولیه تابع را در مقداری تصادفی ریست کنید. اگر یک پایه آنالوگ را بدون اتصال رها کنید، بر روی این پایه نویزهای تصادفی که از محیط دریافت می شود ایجاد خواهد شد. این نویز می تواند امواج رادیویی، تشعشعات کیهانی، تداخلات الکترومغناطیسی تلفن های همراه یا لامپ های فلورسنت و… باشد.

مثال :

randomSeed(analogRead(5)); // randomize using noise from analog pin 5

تابع ()random :

این تابع وظیفه تولید زنجیره اعداد تصادفی را به عهده دارد. در زیر دستور نگارش این تابع آمده است.

دستور نگارش تابع ()random :

long random(max) // it generate random numbers from 0 to max
long random(min, max) // it generate random numbers from min to max

مثال :

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() {
 // print a random number from 0 to 299
 Serial.print("random1=");
 randNumber = random(300);
 Serial.println(randNumber); // print a random number from 0to 299
 Serial.print("random2=");
 randNumber = random(10, 20);// print a random number from 10 to 19
 Serial.println (randNumber);
 delay(50);
}

خوب در این بخش مروری می کنید بر مفاهیم پایه ای مانند بیت و بایت .

مطلب پیشنهادی:  توابع پایه مربوط به زمان و وقفه در آردوینو

بیت ها :

یک بیت یک رقم باینری است.

  • در سیستم اعداد باینری یا دودویی تنها از دو رقم استفاده می شود : 0 و 1
  • مشابه سیستم عددی ده دهی که همه اعداد ارزش یکسانی ندارند، جایگاه مکانی بیت ارزش آن را مشخص می کند. به عنوان مثال رقم های در 666 در مبنای 10 مشابه هستند اما دارای ارزش مکانی متفاوتی هستند.

تولید اعداد تصادفی در آردوینو

بایت ها :

یک بایت از 8 بیت تشکیل می شود.

  • اگر یک بیت را به عنوان یک رقم در نظر بگیریم، منطقی است که یک بایت نشان دهنده یک عدد است.
  • همه عملیات ریاضی میتوانند روی بایت انجام شود.
  • همه بیت های موجود در یک بایت دارای ارزش مکانی یکسانی نیستند.
  • سمت چپ ترین بیت درون یک بایت دارای بیشترین ارزش مکانی است و به آن MSB ((Most Significant Bit یا پرارزش ترین بیت گفته می شود.
  • از آنجایی که ترکیب هشت صفر یا هشت یک را میتوانیم در 256 ترکیب به کار ببریم، بزگترین عدد مبنای 10 که با یک بایت میتواند نمایش داده شود عدد 255 است. (یا کمترین مقدار عدد صفر است)

خب درس تولید اعداد تصادفی در آردوینو در اینجا به پایان رسید برای مطالعه جلسات قبلی و بعدی میتوانید اینجا کلیک کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطلب پیشنهادی:  آموزش آردوینو

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

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

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