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

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

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

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

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

تابع 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 جهت خروجی یا ورودی بودن یک پین را تعیین می کند.

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

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

تابع DigitalWrite:

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

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

پین شماره ی 10 از برد آردوینو 1 می شود.

 تابع DigitalRead:

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

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

 

 

About علی عزتی

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

Check Also

راه اندازی قطب نمای الکترونیکی سه محوره GY-271 HMC5883L با آردوینو

HMC5883 محصول Honeywell يك قطب نماي 3 محوره ديجيتال است كه ميتواند شدت ميدان مغناطيسي ...

13 comments

  1. سلام.موفق شدم.میشه لطفا راه اندازی سون سگمنت با اردینو رو اموزش بدید؟

  2. ممنون از راه اندازی الکترولب.امیدوارم همیشه موفق باشید اقای عزتی.

  3. همچنان منتظر اموزش راه اندازی سونسگمنت هستیم ^__^

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

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

  5. البته ۶ تا ۱۳ ^__^

  6. سلام میخاستم بدونم نمیشه با bascom یا codevision روش برنامه ریخت؟

پاسخ دهید

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