توابع ریاضی در آردوینو – آموزش برنامه نویسی آردوینو

توابع ریاضی در آردوینو هم وجود داره و خیلی وقتا برای محاسبه زاویه ها و اندازه و … کاربرد دارن.

سعی میکنم اون هارو توی این قسمت کامل بگم ، اگر بار اولتونه و این کدها رو میخونید سعی کنین با مفهومشون آشنا بشید و بدونید که آره این ها هستن و مثلا گوشه ی ذهنمون بمونه که اوکی ، میشه با دستور Sin سینوس حساب کرد. همین کافیه!  اصلا لازم نیست همشون رو حفظ کنید(من ک حفظ نکردم:D)

چون خیلی ساده هست این جلسه  این مطلب رو یک قسمت جدا نکردم و براش جلسه نزدم مثل بقیه ی آموزش ها.

توابع ریاضی در آردوینو

تابع map

این تابع مقدار دلخواه را از یک بازه به بازه دیگر نگاشت می کنه. مقدار fromLow به toLow و مقدار fromHigh به toHigh و اعداد بین این دو بازه به بازه جدید نگاشت میشوند.

به بیان دیگه. مثلا یک سنسوری رنج خروجیش اعدادی بین 10 تا 100 باشه و ما بخوایم این عدد رو به بازه ی دیگه ای مثلا صفر تا 255 ببریم و برای یک سنسور/موتور یا هر وسیله ی دیگه ای بفرستیم میتونیم از این تابع استفاده کنیم. این تابع 10 رو برابر صفر و 100 رو برابر 255 قرار میده و بازه بین 10 تا 100 رو به بازه ی بین 0 تا255 تغییر میده.

مثال:عدد 10 بیتی (بازه ی 0 تا 1024) را به 0 تا 255 نگاشت کنید.

توی دستور بالا ما یک متغیر به اسم val داریم که مثلا عددی بین 0 تا 1023 رو از ورودی آنالوگ خوندیم و ریختیم داخل اون، حالا میخوایم روی یک پین  دیگه با بازه ی 0 تا 255 نشون بدیم، با map کردن این متغیر ، خروجی ،عددی بین 0 تا 255 میشه که مطلوب ما بود.

تابع abs

این تابع مقدار قدر مطلق عدد x رو محاسبه میکنه.

 

تابع min

این تابع مینیمم دو مقدار X و Y را از هر نوع داده ای که باشه ، محاسبه می کنه.

تابع max

این تابع ماکزیمم دو مقدار X و Y را از هر نوع داده ای که باشه ، محاسبه می کنه.

تابع pow

این تابع عدد base  رو به توان عدد exponent می رسونه. base و exponent هر دو از نوع float  و خروجی تابع از نوع double  هستن .
تابع sqrt

این تابع ریشه دوم یک عدد را حساب میکنه که x میتواند از هر نوع داده ای باشد و خروجی تابع از نوع double  هستش.

تابع (random(seed

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

تابع random

این تابع ، اعداد شبه تصادفی ایجاد می کند که قالب اون به شکل زیره.
random(max)
random(min,max)
یادتون نره : پارامترهای min و max به ترتیب بازه پایین و بالا را برای عدد تصادفی تعریف می کنند که مقدار min شامل بازه بوده و مقدار max خارج از بازه است.
برای اطمینان از تصادفی بودن اعداد ایجاد شده، از تابع randomseed(seed) با ورودی تصادفی استفاده کنید.
مثال:

برنامه ای بنویسید که دو عدد تصادفی بین اعداد صفر تا 299 و 10 تا 19 ایجاد کند. برای اطمینان از تصادفی بودن اعداد ایجاد شده از randomseed با ورودی تصادفی که یک پایه ی مبدل آنالوگ به دیجیتال می باشد، استفاده کنید.نویز روی پایه ی مبدل ، تصادفی بودن عدد را تا حودو زیادی تضمین می کند.

 

تابع constrain

این تابع عدد x را در بازه ی (a,b)محدود میکنه .

مثلا: مقدار خوانده شده ی sensval رو بین 20 تا 200 محدود کنید.

تابع sin

این تابع سینوس زاویه برحسب رادیان را محاسبه میکنه. خروجی تابع عددی از نوع double  است.

تابع cos

این تابع کسینوس زاویه برحسب رادیان را محاسبه میکنه. خروجی تابع عددی از نوع double  است.

تابع tan

این تابع تانژانت زاویه برحسب رادیان را محاسبه میکنه. خروجی تابع عددی از منفی بینهایت تا مثبت بی نهایت از نوع double است.

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

شما ممکن است این را هم بپسندید

پاسخ دهید

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