ثابت ها در برنامه نویسی آردوینو (ثبات Constants)

محتویات
ثابت ها عبارات از پیش تعریف شده در زبان برنامه نویسی آردوینو هستند. از آنها برای سهولت در خواندن برنامه ها استفاده می شود. ما ثابت ها را در چند گروه طبقه بندی می کنیم:
true و false
دو ثابت وجود دارد که برای نشان دادن درست (true) و غلط (false) در زبان آردوینو استفاده می شود.
false
false به عنوان 0 (صفر یا غلط) تعریف می شود.
true
غالباً گفته می شود true به عنوان 1 تعریف می شود ، که صحیح است ، اما true تعریف گسترده تری دارد. هر عدد صحیحی که غیر صفر باشد ، به معنای بولی true است. بنابراین -1 ، 2 و -200 همه به معنای بولی نیز true تعریف می شوند.
توجه داشته باشید که ثابت های false و true برخلاف HIGH ، LOW ، INPUT و OUTPUT با حروف کوچک تایپ می شوند.
HIGH و LOW
هنگام خواندن یا نوشتن روی یک پین دیجیتال ، فقط دو وجود دارد که یک پین می تواند بگیرد: HIGH و LOW
HIGH
معنای HIGH (با اشاره به یک پین) بسته به اینکه پین روی INPUT یا OUTPUT تنظیم شده باشد ، تا حدودی متفاوت است. هنگامی که یک پین به عنوان INPUT با دستور pinMode پیکربندی شود و با دستور digitalRead خوانده شود در دو حالت زیر مقدار HIGH را بازگشت میدهد:
- ولتاژ بیشتر از 3.0 ولت در پین وجود دارد (برد های 5 ولت)
- ولتاژ بیشتر از 2.0 ولت در پین وجود دارد (برد های 3.3 ولت)
همچنین ممکن است یک پین به عنوان INPUT با pinMode پیکربندی شود و با دستور digitalWrite در حالت HIGH تنظیم شود. این کار مقاومت پول آپ داخلی (20 کیلو اهم) را فعال میکند تا در حالت HIGH قرار بگیرد مگر اینکه توسط یک مدار خارجی LOW شود.
این کار را می توان با قرار دادن INPUT_PULLUP به عنوان حالت در دستور pinMode انجام داد. در ادامه بیشتر به این موضوع میپردازیم.
هنگامی که یک پین با pinMode در حالت خروجی (OUTPUT) پیکربندی شود و با digitalWrite روی HIGH تنظیم شود، پین در 2 حالت زیر قرار میگیرد.
- 5 ولت (برد 5 ولت)
- 3.3 ولت (برد های 3.3 ولت)
در این حالت میتوانید یک ال ای دی را روشن کنید (پایه منفی را به GND متصل کنید).
LOW
معنای LOW نیز بسته به تنظیم بودن پین روی INPUT یا OUTPUT معنای متفاوتی دارد. هنگامی که یک پین به عنوان INPUT با pinMode پیکربندی شود و با digitalRead به عنوان LOW خوانده شود، حالت های زیر وجود خواهد داشت:
- ولتاژ کمتر از 1.5 ولت در پین وجود دارد (برد های 5 ولت)
- ولتاژ کمتر از 1.0 ولت (تقریبا) در پین وجود دارد (برد های 3.3 ولت)
وقتی یک پین با pinMode در حالت OUTPUT پیکربندی می شود و با digitalWrite روی LOW تنظیم می شود ، پین در حالت 0 ولت است (در برد های 5 ولت و 3.3 ولت). در این حالت میتوانید ال ای دی را روشن کنید (پایه دیگر را به پین 5 ولت یا یک مقاومت سری یا پین 3.3 ولت متصل کنید).
INPUT ، INPUT_PULLUP و OUTPUT
از پین های دیجیتال می توان به عنوان INPUT ، INPUT_PULLUP یا OUTPUT استفاده کرد. تغییر پین با تابع pinMode باعث تغییر رفتار الکتریکی پین می شود.
پین ها در حالت INPUT
پین هایی که با دستور pinMode در حالت INPUT قرار بگیرند در یک حالت با امپدانس بالا قرار دارند. برای خواندن مقادیر سنسور ها بسیار مناسب هتسند. اگر پین خود را به عنوان INPUT پیکربندی کنید و بخواهید وضعیت یک کلید را بخوانید، بهتر است از یک مقاومت پول آپ استفاده کنید. هدف این مقاومت بالا کشیدن پین سوئیچ در حالت باز بودن است. به طور معمول از مقاومت 10 کیلو اهم استفاده میشود تا حالت غیر مطمئن و نویز ها را از بین ببرد.
پین ها در حالت INPUT_PULLUP
میکروکنترلر ATmega در Arduino دارای مقاومت پول آپ داخلی (مقاومت هایی است که به طور داخلی به برق متصل می شوند) که می توانید به آنها دسترسی داشته باشید. اگر ترجیح می دهید از اینها به جای مقاومت کششی خارجی استفاده کنید ، می توانید از حالت INPUT_PULLUP در دستور pinMode استفاده کنید.
پین هایی که به صورت ورودی با INPUT یا INPUT_PULLUP پیکربندی شده اند ، اگر به ولتاژ های منفی یا بیشتر از محدوده مثبت (5 ولت یا 3 ولت) متصل شوند ، آسیب می بینند یا از بین می روند.
پین ها در حالت OUTPUT
پین هایی که به صورت OUTPUT با دستور pinMode پیکربندی شده اند در حالت امپدانس پایین قرار دارند. این بدان معنی است که آنها می توانند مقدار قابل توجهی جریان را برای سایر مدار ها فراهم کنند. پین های ATmega می توانند تا 40 میلی آمپر جریان را برای دستگاه ها / مدارهای دیگر تأمین کنند. این امر آنها را برای تأمین انرژی LED مفید می کند زیرا LED ها معمولاً کمتر از 40 میلی آمپر استفاده می کنند. برای تامین انرژی مولفه های دیگر مثل موتور ها که به جریان الکتریکی بیشتر از 40 میلی آمپر نیاز دارند، به ترانزیستور یا رابط های دیگر احتیاج دارید.
پین هایی که به عنوان خروجی پیکربندی شده اند ، اگر به ولتاژ – و + بالا اتصال داشته باشند می توانند آسیب ببینند یا از بین بروند.
LED_BUILTIN
اکثر برد های آردوینو دارای یک پین هستند که به صورت سری با مقاومت به یک LED روی برد متصل می شود. ثابت LED_BUILTIN شماره پینی است که LED روی برد به آن متصل است. در اکثر برد ها ال ای دی روی برد به پین دیجیتالی 13 متصل است.