از تابع map برای نگاشت بین اعضای دو مجموعه استفاده میشود.
مثال: اگر بخواهیم اعداد موجود در بازه 1 تا 9 را به بازه 3 تا 80 تبدیل کنیم از تابع map یا نگاشت استفاده میکنیم.
ساختار:

map(value, fromLOW, fromHIGH, toLOW, toHIGH)

  • در بخش value عددی که باید نگاشت شود قرار میگیرد
  • در بخش fromLOW کران پایین بازه مبدا قرار میگیرد
  • در بخش fromHIGH کران بالای بازه مبدا قرار میگیرد
  • در بخش toLOW کران پایین بازه مقصد قرار میگیرد
  • در بخش toHIGH کران بالای بازه مقصد قرار میگیرد
     

مبنای محاسبات در تابع map اعداد صحیح است. اعداد کسری به دست آمده در فرایند map میانگین گیری و یا گرد نمی شوند بلکه تقطیع میشوند.

 

مثال:

مقادیر قابل قبول برای تابع analogRead بین 0 تا 1023 است
مقادیر قابل قبول برای تابع analogWrite بین 0 تا 255 است
اگر بخواهیم مقادیر خوانده شده توسط تابع analogRead را به تابع analogWrite بفرستیم باید محدوده 0 تا 1023 را به محدوده 0 تا 255 تبدیل کنیم. این تبدیل مقادیر را با کمک تابع map انجام میدهیم:

 

void setup() {
}

void loop() {
   int M = analogRead(0);
   M = map(M, 0, 1023, 0, 255);
   analogWrite(9,M);
}

مقادیر 0 تا 1023 توسط analogRead از روی درگاه ورودی آنالوگ A0 خوانده میشوند و به متغیر M انتساب داده میشوند. سپس با استفاده از تابع map مقادیر متغیر M به محدوده 0 تا 255 تبدیل میشود تا توسط تابع analogWrite قابل خواندن باشند و روی درگاه خروجی آنالوگ 9~ نوشته شوند (منبع: کتاب کلید آردوینو).


برچسب‌ها: آموزش نرم افزار آردوینو, تابع map در آردوینو
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |