اولین برنامه آردوینو
در دنیای برنامهنویسی، یه رسم قشنگ وجود داره: وقتی میخوای یه زبان جدید یاد بگیری، اولین کاری که میکنی اینه که برنامهای بنویسی که روی صفحه نمایش برات چاپ کنه Hello World.
اما توی دنیای الکترونیک و آردوینو، Hello World ما نوشته روی صفحه نیست؛ چیزی خیلی ملموستر و فیزیکیتره: چشمکزن کردن یک چراغ (LED)!
امروز قراره اولین Sketch خودمون رو بنویسیم (به برنامههای آردوینو میگن اسکچ). و بهترین قسمتش اینه که فعلاً نیاز نیست چیزی به آردوینو وصل کنی. از همون LED کوچولویی استفاده میکنیم که روی خودِ برد آردوینو وجود داره.
ساختار یک Sketch
Section titled “ساختار یک Sketch”نرمافزار Arduino IDE رو باز کن. اگه یه فایل جدید بسازی (File > New)، میبینی که خالی نیست. آردوینو همیشه یه چارچوب اولیه بهمون میده.
این چارچوب دو بخش حیاتی داره که همیشه باید وجود داشته باشن. اینها قلب هر برنامهی آردوینو هستن:
void setup() { // کدهایی که فقط یک بار اجرا میشن رو اینجا می نویسیم}
void loop() { // کدهایی که قراره مُدام تکرار بشن رو اینجا می نویسیم}بیا با یه مثال از زندگی روزمره بهتر درکشون کنیم:
قسمت setup()
Section titled “قسمت setup()”این تابع فقط یک بار اجرا میشه؛ دقیقاً وقتی که آردوینو رو روشن میکنی یا دکمه ریست رو میزنی.
مثل “جمع کردن کولهپشتی قبل از رفتن به مدرسه” میمونه. اینجا کارهای مقدماتی رو انجام میدیم: مثلاً میگیم از کدوم پایهها میخوایم استفاده کنیم، ارتباطها رو برقرار میکنیم و غیره.
بعد از اینکه تموم شد، دیگه تا دفعه بعد که برد رو ریست کنی، بهش نگاه نمیکنه.
قسمت loop()
Section titled “قسمت loop()”همونطور که از اسمش پیداست (loop یعنی حلقه)، کدی که اینجا مینویسیم تا ابد و به صورت بینهایت تکرار میشه، با سریعترین سرعتی که بشه، تا زمانی که برق رو قطع کنی.
دقیقاً مثل روتین زندگی: بیدار شو، بخور، وظایف رو انجام بده، بخواب … و دوباره از اول!
اولین برنامه ما
Section titled “اولین برنامه ما”برای تست اینکه همهچیز درسته، از یکی از مثالهای پیشفرض خودِ Arduino IDE استفاده میکنیم.

برو به مسیر File > Examples > Basics > Blink. کدی شبیه به این برات باز میشه:
const int pinLED = 13; // تعریف متغیر برای اشاره به شماره پایه چراغ
void setup(){ pinMode(pinLED, OUTPUT); // تعیین پایه شماره 13 به عنوان خروجی}
void loop() { digitalWrite(pinLED, HIGH); // روشن کردن چراغ delay(1000); // یک ثانیه صبر کن digitalWrite(pinLED, LOW); // خاموش کردن چراغ delay(1000); // یک ثانیه صبر کن}این مثال، LED را هر یک ثانیه روشن و خاموش میکند. LED استفادهشده در بسیاری از بردهای آردوینو (UNO، MEGA و غیره) بهصورت فیزیکی به پین ۱۳ متصل است.
عملکرد هر خط در سمت راست آن کامنت شده است، اما فعلاً نگران معنی آنها نباشید (بعداً به این موارد میپردازیم).
۳ دستور پایه
Section titled “۳ دستور پایه”توی این برنامه از سه تابع خیلی مهم استفاده کردیم که ۹۰٪ مواقع باهاشون سر و کار داری:
pinMode(pin, mode)
Section titled “pinMode(pin, mode)”به آردوینو میگه که فلان پایه قراره چه رفتاری داشته باشه.
- کجا استفاده میشه؟ تقریباً همیشه توی
setup(). - پارامترها:
- pin: شماره پایه (اینجا می توانستیم از ثابت
LED_BUILTINاستفاده کنیم که خودِ IDE بفهمه منظور همون ۱۳ هست). - mode: یا
OUTPUT(خروجی) یاINPUT(ورودی).
- pin: شماره پایه (اینجا می توانستیم از ثابت
digitalWrite(pin, state)
Section titled “digitalWrite(pin, state)”برای تغییر وضعیت یک پایه دیجیتال که از قبل به عنوان خروجی تعریف شده استفاده میشه.
- پارامترها:
- pin: پایهی که میخوایم کنترلش کنیم.
- state: یا
HIGH(روشن) یاLOW(خاموش).
delay(milliseconds)
Section titled “delay(milliseconds)”این تابع آردوینو رو “منجمد” میکنه! بهش میگه برای یه مدت خاص هیچکاری نکنه و دست نگه داره.
- واحدش میلیثانیه هست:
- ۱۰۰۰ میلیثانیه = ۱ ثانیه.
- ۵۰۰ میلیثانیه = نیم ثانیه.
آپلود برنامه
Section titled “آپلود برنامه”ابتدا برد آردوینو را با کابل مناسب به کامپیوتر وصل میکنیم. مدلهای اولیه از کابل USB A-B استفاده میکردند، اما مدلهای دیگر از پورت های مینی، میکرو یا حتی USB تایپ C استفاده میکنند.

USB A-B، نوعی که معمولاً برای اتصال پرینترها استفاده میشود.
حالا Arduino IDE را باز میکنیم و مدل بردی را که استفاده میکنیم انتخاب میکنیم:

در ادامه، پورتی که بردمون به آن متصل است را انتخاب میکنیم:

حالا اتصال پیکربندی شده و آمادهایم تا اولین برنامه خودمان را روی برد بارگذاری کنیم.
بارگذاری
Section titled “بارگذاری”کافیه روی دکمه مشخصشده کلیک کنیم تا برنامه کامپایل شده و به برد آردوینو ارسال شود. بعد از چند ثانیه، IDE برنامه را کامپایل میکند و صفحه باید شبیه تصویر زیر شود:

بعد از چند ثانیه، برد شروع میکنه به اجرای برنامه و LED شروع میکنه به چشمک زدن 😊.