Aduino Tutorial آموزش آردوینو

آردوینو (قسمت چهارم) – Analog Inputs

            Analog Inputs (ورودی های آنالوگ) برای ارتباط آردوینو با دنیای خارج می باشد. در این قسمت از فیلم های آموزشی آردوینو، شما با ورودی های آنالوگ، طریقه ی برنامه نویسی و استفاده از آنها آشنا می شوید. برای شروع کار شما آنالوگ رفرنس و تنظیمات آن را یاد خواهید گرفت. در قالب چند پروژه ی ساده هم کار کردن با LDR ها (مقاومت متغیر با نور) و تقسیم ولتاژ را فرا خواهید گرفت.

دستورات مربوط به Analog :

()analogReadResolution :

            به صورت پیش فرض مقدار رزولوشن خواندن آنالوگ 10 بیتی می باشد. یعنی عددی بین 0 تا 1023 بر می گرداند. ولی در بردهای Due, Zero می توان آن را به 12 بیت هم تغییر داد. که عددی بین 0 تا 4095 را بر می گرداند. توجه داشته باشید که در هنگامه تعیین رزولوشن امکانات برد در نظر گرفته شود. که آیا می شود این رزولوشن را قرار داد یا نه. رزولوشن را می توان نسبت به امکانات برد آردوینو از 1 تا 32 قرار داد.ولی عددی که برگردانده می شود تغییراتی می کند.

            مثلا برد Due این امکان را داراست، که تا 32 بیت رزولوشن را بالا ببریم. اما اگر عددی که قرار می دهیم از توانایی برد کمتر باشد، بیت های کم ارزش را از دست می دهیم. و اگر بیشتر باشد، بجای بیت های اضافه صفر قرار می گیرید. نوشتن رزولوشن بالا تر به شما این امکان را می دهد که برنامه ی شما به طور اتوماتیک بردهایی با رزولوشن بیشتر را هم پشتیبانی کند که در آینده به آن دسته از برد های آردوینو اضافه خواهد شد.

()analogWriteResolution :

            به صورت پیش فرض رزولوشن در نوشتن آنالوگ 8 بیتی می باشد. می توان عددی بین 0 تا 255 را به یک پایه به صورت آنالوگ (PWM) داد. در برد های مختلف آردوینو می توان آن را به رزولوشن های دیگر تغییر داد.

()analogReference :

            با این دستور منبع ولتاژی که برای مقایسه توسط آردوینو استفاده می شود را مشخص می کنیم. قسمت داخل پرانتز می تواند گزینه های DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL باشد.

  • DEFAULT: با قرار دادن این گزینه ولتاژ رفرنس در بردهایی که با 5 ولت کار می کنند 5 ولت می شود. و در بردهایی که با 3.3 ولت کار می کنند 3.3 ولت می شود.
  • INTERNAL: در بردهای ATmega168, ATmega328 با گذاشتن این گزینه 1.1 ولت، و در ATmega8 ولتاژ 2.56 ولت ساخته شده به عنوان ولتاژ رفرنس استفاده می شود. 
  • INTERNAL1V1: ولتاژ 1.1 ولت ساخته شده استفاده می شود. فقط در بردهای آردوینو مگا.
  • INTERNAL2V56: ولتاژ 2.56 ولت ساخته شده استفاده می شود. فقط در بردهای آردوینو مگا.
  • EXTERNAL: ولتاژی که روی پایه ی AREF اعمال می شود به عنوان ولتاژ رفرنس استفاده می شود. که بین 0 تا 5 ولت باید باشد.

نکته: بعد از تغیر ولتاژ رفرنس در برنامه چند بار اول خوانده شدن آنالوگ چندان دقیق نمی باشد.

هشدار: ولتاژهای کمتر از 0 ولت و بیشتر از 5 ولت برای رفرنس خارجی استفاده نشود. قبل از خواندن آنالوگ باید آنالوگ رفرنس را مشخص کرده باشیم.

map(value, fromLow, fromHigh, toLow, toHigh) :

           دوباره نگاشتن عدد از یک رنج تا دیگری. یک مقدار را از یک محدوده ی عددی به یک محدوده ی عددی دیگر تبدیل می کند.  ولی رنج عدد را محدود نمی کند. دستور constrain معمولا قبل از دستور map  برای محدود کردن رنج اعداد به کار می رود.

value : متغیری که مورد باز نشر می خواهیم قرار بگیرد.

FromLow : پایین ترین حد از محدوده ی عددی ای که داریم.

FromHigh : بالا ترین حد از محدوده عددی ای که داریم.

ToLow : پایین حد از محدوده ی عددی ای که می خواهیم.

ToHigh : بالا ترین حد از محدوده ی عددی ای که می خواهیم.

از دستور map می توان برای معکوس کردن یک توالی عددی استفاده کرد:

y = map(x, 1, 50, 50, 1);

اگر عدد ما 50 باشد عدد یک را به ما بر میگرداند.

اگر عدد ما 60 باشد همان 60 را به ما بر می گرداند.

همچنین از یک رنج با بازه ی منفی هم پشتیبانی می کند:

y=map(x, 1, 50, 50, -100);

اگر عدد ما 50 باشد 100- را بر می گرداند.

توجه داشته باشید که رنج اعداد از نوع اعداد صحیح یا intiger  می تواند باشد.

            برای اینکه به یک پایه ی آنالوگ می توان 0 تا 255 را نوشت. و عدد نمی تواند خارج از این رنج باشد. از دستور map استفاده می کنیم.

Map Excample

constrain(x, a, b) :

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

x : متغیری که می خواهیم به آن محدودیت رنجی اعمال کنیم.

a : پایین ترین حدی که می خواهیم رنج عددی ما در آن محدود شود. از هر نوع عددی می تواند باشد.

b : بالا ترین حدی که می خواهیم رنج عددی ما در آن محدود شود. از هر نوع عددی می تواند باشد.

constrain excample

constrain excample

            شکل کلی کار به این صورت است که اگر متغیر ما بین این محدوده باشد خود متغیر را بر می گرداند. در غیر این صورت اگر کمتر از a باشد، a را بر می گرداند. اگر بالاتر از حد بالا یعنی b باشد، b را بر می گرداند.

در ادامه می توانید فیلم آموزشی را مشاهده کنید:

 

دیدگاه ها :

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد.