خانه / اموزش میکروکنترلر / اموزش برنامه نویسی Arduino / دستورات خاص برنامه نویسی اردوینو

دستورات خاص برنامه نویسی اردوینو

بعد از اشنایی با برنامه نویسی c که با عنوان ” برنامه نویسی میکروکنترلر و اردوینو (جلسه ۱ تا ۶) ” اموزش داده شد, برای شروع کار با اردوینو شما باید با یک سری دستورات خاص که در نرم افزار اردوینو استفاده می شود اشنا شوید. در پایین مهم ترین این دستورات به طور کامل و با ذکر مثال معرفی شده اند :

ثابت ها :

توضیحات دستور
به عنوان صفر تلقی می شود false
دارای تعریف بزرگتری است به این صورت که هر داده ای از نوع integer که صفر نباشد true است true
به معنی یک منطقی HIGH
به معنی صفر منطقی LOW
اگر پینی به عنوان ورودی تنظیم شود و به این پین یک کلید وصل شود ، در حالتی که کلید باز است ، ورودی را نمی­توان پیش­بینی کرد مگر اینکه این پین را pull-up  یا pull-down کرد. در این صورت زمانی که کلید فشار داده شود حالت ورودی تغییر می­کند و وضعیت پین تعیین می­شود.

مقاومتی که برای این استفاده می­شود ۱۰کیلو است.

  • در صورتی که از مقاومت pull-down استفاده شود زمانی که کلید باز است مقدار پین LOW است و زمانی که کلید بسته می­ شود مقدار HIGH می­شود.
  • در صورتی که از مقاومت pull-up استفاده شود زمانی که کلید باز است مقدار پین HIGH است و زمانی که کلید بسته می­ شود مقدار LOW می­شود.
INPUT
میکروکنترلر Atmega در بوردآردوینو دارای مقاومت pull-up داخلی است که می­توان به جای pull-up خارجی از آن استفاده کرد برای این کار کافی است که در تابع ()pinMode از عبارتINPUT_PULLUP  استفاده کرد. INPUT_PULLUP
زمانی که پینی به عنوان خروجی تنظیم شود آنگاه Atmega می­تواند تا  ۴۰mA جریان خروجی برای دستگاهها یا مدارات خارجی فراهم کند و این جریان برای تغذیه یک LED مناسب است چون LED معمولی کمتر از ۴۰mA جریان استفاده می­کند و در صورتی به جریان بیشتر از  ۴۰mA نیاز باشد باید از ترانزیستور یا مدارات دیگر استفاده کرد. OUTPUT

توابع ورودی/خروجی دیجیتال :

دستور ()pinMode

تابع pinMode برای تعیین ورودی و خروجی یک پین به کار می رود.

 

طریقه نوشتن مثال
(pinMode(pin,mode ;(pinMode(13, OUTPUT

Pin : شماره پین در این قسمت قرار می گیرد.

mode : یکی از حالت های INPUT ، OUTPUT ، INPUT_PULLUP  می تواند باشد.

 

دستور digitalWrite 

این تابع بر روی پین های دیجیتال مقادیر LOW یا HIGH ایجاد می کند

طریقه نوشتن مثال
(digitalWrite(pin,value ;(digitalWrite(13, HIGH

pin: شماره پینی که روی آن نوشته می شود.

value: یکی از مقادیر HIGH یا LOW می باشد.

دستور digitalRead

تابع digitalRead از روی پین های دیجیتال مقادیر LOW یا HIGH را می خواند

طریقه نوشتن مثال
(digitalRead(pin ;(digitalRead(7

pin: شماره پینی که از روی آن خوانده می شود.

توابع ورودی/خروجی آنالوگ :

توضیحات دستور
ولتاژ مبنا یا reference را برای کار با ورودی انالوگ مشخص میکند

Type : یکی از گزینه های پایین

  • DEFAULT : ولتاژ مبنا برای کار با انالوگ که برابر با ۵ برای بردهای ۵ ولتی و ۳٫۳ ولت برای بردهای ۳٫۳ ولتی .
  • INTERNAL : ولتاژ ۱٫۱ ولت برای ATmega168 or ATmega328 و ۲٫۵۶ برای ATmega8 – نکته: برای برد اردوینو مگا این گزینه وجود ندارد.
  • INTERNAL1V1 : ولتاژ ۱٫۱ ولت و فقط برای اردوینو مگا می باشد .
  • INTERNAL2V56 : ولتاژ ۲٫۵۶  ولت و فقط برای اردوینو مگا می باشد.
  • EXTERNAL : ولتاژ مبنای خارجی ( ۰ تا ۵ ولت) به پین AREF
(analogReference(type
در صورتی که خروجی یک سنسور آنالوگ به پایه های آنالوگ آردوینو وصل شود (برای هر سنسور یک پایه کافی است) ، آردوینو این ولتاژ را به دیجیتال از نوع ۱۰ بیت تبدیل می کند یعنی مقدار صفر تا ولتاژ پایه(Reference) را به صفر تا ۱۰۲۳ قسمت تبدیل می کند

pin : شماره یکی از پین­های آنالوگ است.

خروجی عددی بین ۰ تا ۱۰۲۳ می باشد.

(analogRead(pin
ایجاد ولتاژ انالوگ (موج (PWM روی پین .

Pin : پین مورد نظر ( این پین باید قابلیت سخت افزاری تولید موج pwm را داشته باشد)

Value : دیوتی سایکل موج شما می باشد که باید عددی بین ۰ تا ۲۵۵ باشد.

(analogWrite(pin, value

دستور (delay(ms :

این دستور باعث تاخیر زمانی بر حسب میلی ثانیه در برنامه می شود.

ms : مقدار تاخیر زمانی ( عددی هست بر حسب میلی ثانیه )

 

بجز دستوراتی که در بالا معرفی کردم, دستورات دیگه ای هم وجود داره ولی مهم ترینش همینا هستن که با یادگیریشون میتونید شروع به برنامه نویسی کنید. در پست های بعدی هم در مورد محیط برنامه نویسی اردوینو و نحوه نصب و … توضیح خواهم داد.

 

نظر یادتون نره …

درباره ی عابد رازانی

فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, درحال اماده شدن برای ارشد یا شایدم خدمت (:

2 دیدگاه

  1. سلام جناب مهندس , خسته نباشید. مطالب بسیار عالی وکاربردی است.

  2. بسیار عالی بود ممنون.

دیدگاهتان را بنویسید

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