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

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

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

  • (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 است. (یا کمترین مقدار عدد صفر است)

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

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیContiki سیستم عامل IoT
مطلب بعدیمدولاسیون عرض پالس یا PWM در آردوینو

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید