به منظور تولید اعداد تصادفی در آردوینو میتوانید از تابع آردوینو مربوط به تولید اعداد تصادفی استفاده کنید. برای این منظور در آردوینو دو تابع داریم:
- (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 است. (یا کمترین مقدار عدد صفر است)
درس تولید اعداد تصادفی در آردوینو در اینجا به پایان رسید.امیدوارم این نوشته برایتان مفید باشد.
منبع: میکرودیزاینرالکترونیک