آردوینو - آموزش آردوینو-Arduinoهمه ی مطالب

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

در قسمت های قبلی در باره ی مزیت های آردوینو بحث کردیم. و روش استفاده از میکروکنترلر های AVR بدون خرید برد های آردینو در این پلتفرم رو آموزش دادیم. در این قسمت به آموزش آردوینو به آموزش برنامه نویسی به زبان آردوینو می پردازیم این مطالب قبلا در انجمن الکترولب مطرح شده و در اینجا جمع بندی می شود.

آموزش آردوینو برنامه نویسی به زبان آردوینو:

هر برنامه ای که در زبان c نوشته می شود باید دارای تابع main باشد در زبان آردوینو نیز هر برنامه ای که نوشته می شود باید شامل توابع setup و loop باشد.

نمونه ای از یک کد آردوینو:

void setup() {
 
 pinMode(13, OUTPUT);
}

void loop() {
 digitalWrite(13, HIGH);  
 delay(1000);              
 digitalWrite(13, LOW);  
 delay(1000);              
}

تابع setup:

این تابع هنگام اجرای برنامه اجرا می شود برای تنظیم پین ها به صورت خروجی یا ورودی یا شروع به استفاده از کتابخانه ی خاص و … استفاده می شود. تابع setup فقط یک بار اجرا خواهد شد با روشن شدن برد یا ریست شدن برد تابع setup یک بار اجرا می شود.

تابع loop:

بعد از ایجاد تابع setup باید تابع loop را ایجاد کنیم همان طور که از اسمش پیداست حلقه ای ایجاد می کند که همیشه اجرا می شود یعنی کدهایی که در این تابع نوشته می شود به صورت مداوم اجرا می شوند تقریبا معادل while(1) 0 در زبان c .

دستورات عمومی مانند if , for و غیره :

دستوراتی مانند for – if – if … else – while و … تفاوتی با زبان c نداشته و می توانید این دستورات را همانند زبان c به کار ببرید.

ثوابت در زبان آردوینو Constant :

ثابت ها در زبان آردوینو متغییر هایی از پیش تعیین شده هستند. در زبان آردوینو ثابت ها باعث می شوند تا خوانایی برنامه آسان تر شود.

مهم ترین ثوابت در زبان آردوینو: INPUT , INPUT_PULLUP , HIGH , LOW , false و true در ادمه هر کدام به طور مفصل شرح داده خواهد شد.

ثابت false:

false در آردوینو صفر تعریف شده است.

ثابت true:

اغلب true را یک در نظر میگریم اما true تعریف گسترده تری دارد به این صورت که هر متغییر integer غیر صفر true است.

ثابت های HIGH و LOW:

از عبارت های HIGH و LOW برای یک یا صفر کردن پایه های برد آردوینو استفاده می کنیم نحوه ی این کار در ادمه آموزش توضیح داده خواهد شد.

ثابت هایی برای تعیین خروجی یا ورودی بودن پین ها:

INPUT: پایه ی مورد نظر را ورودی می کند.
INPUT_PULLUP: با ورودی کردن پایه pull up داخلی هر پین را نیز فعال می کند.
OUTPUT: پایه را خروجی میکند.

معادل رجیستر های DDR – PORT – PIN در آردوینو:

برای خروجی کردن یا ورودی کردن یا خواندن و نوشتن پورت در آردوینو از دستورات زیر استفاده می کنیم که هر کدام در ادمه شرح داده خواهد شد.
pinMode
digitalWrite
digitalRead

تابع PinMode:

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

PinMode(pin,mode)

به جای عبارت pin شماره ی پین مورد نظر قرار می گیرد
و به جای عبارت mode از عبارت های INPUT – INPUT_PULLUP – OUTPUT برای تعیین جهت پین ها استفاده می کنیم مثال:

PinMode(13, INPUT_PULLUP)

پین شماره ی 13 از برد آردینو را ورودی کرده و pull up داخلی را فعال می کند.

تابع DigitalWrite:

تابع DigitalWrite برای تغییر وضعیت پین high یا low استفاده می شود.

DigitalWrite(pin , value)

به جای PIN شماره ی پین مورد نظر قرار می گیرد و به جای value از عبارت های HIGH یا LOW استفاده می کنیم. به طور مثال:

DigitalWrite(10,HIGH)
پین شماره ی 10 از برد آردوینو 1 می شود.

 تابع DigitalRead:

از تابع DigitalRead برای تعیین وضعیت pin مورد نظر استفاده می شود.

DigitalRead(pin)
نکات پایه ای و توابع لازم برای نوشتن یک برنامه در این قسمت از آموزش آردوینو توضیح داده شد. در قسمت های بعدی با برنامه ی نمونه جلو میریم و و سعی می کنم امکانات پیشرفته تر میکرو مثل ADC و تایمرها ارتباط سریال و … رو توضیح بدم پس منتظر قسمت های بعدی باشید.

 

 

علی عزتی

علی عزتی هستم. رشته ی مهندسی برق الکترونیک رو خوندم. علاقه ی من به یادگیری و به اشتراک گذاشتن چیز هایی که یاد گرفتم. باعث شد تا الکترولب ایجاد بشه. علاقه ی زیادی به الکترونیک دارم. و دوست دارم چیزهای جدید یادبگیرم و بسازم ... :))

Related Articles

13 Comments

  1. با عرض سلام مجدد میخواستم بدونم ایا دستوری هست که بشه مثلا پینهای ۷ تا ۱۳ رو به عنوان یک بایت خروجی در نظر گرفت تابشه یه بایت اطلاعات رو روش قرار داد.

    1. من دیروز یه کد رو امتحان کردم برای راه اندازی سون سگمنت با آردوینو ولی دنبال یه مثال راحت تر برای کار با سون سگمنت می گردم تا آموزشش رو قرار بدم سعی می کنم زود تر تکمیل کنم.

      1. مشکلاتی هست که موجب میشه وقت نکنم پست جدید بنویسم آخرین پست مربوط به 25 روز پیش هست اشالله سعی می کنم هرچه زودتر پست جدید اماده کنم بد قول شدم :((

    1. بله در ورژن های جدید کدویژن و بسکام امکان پروگرم کردن مستقیم بردهای آردوینو هستش

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

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.