مبانی

اولین کد برای آردوینو؛ اجرای برنامه Blink

در این آموزش اولین برنامه آردوینو را اجرا می کنیم. برنامه Blink چراغ داخلی برد را هر یک ثانیه روشن و خاموش می کند و ساده ترین روش برای آزمایش برد، کابل USB، درایور و تنظیمات Arduino IDE است.

سطح مقدماتی

برنامه Blink را می توان «سلام دنیا» در دنیای آردوینو دانست. در این برنامه ساده، چراغ داخلی برد با فاصله زمانی مشخص روشن و خاموش می شود. اجرای موفق این برنامه نشان می دهد که برد، کابل USB، درایور، Arduino IDE و ارتباط رایانه با برد به درستی کار می کنند.

بیشتر بردهای آردوینو مانند Arduino Uno و Arduino Nano دارای یک چراغ داخلی هستند. این چراغ معمولا به پایه دیجیتال 13 متصل است. با این حال، بهتر است در برنامه به جای عدد 13 از عبارت LED_BUILTIN استفاده کنیم؛ زیرا شماره پایه چراغ داخلی در بعضی بردها متفاوت است و LED_BUILTIN به صورت خودکار پایه صحیح را انتخاب می کند.

برای شروع، برد آردوینو را با کابل USB به رایانه متصل کنید. سپس Arduino IDE را اجرا کرده و از منوی Tools > Board مدل برد خود را انتخاب کنید. در مرحله بعد، از منوی Tools > Port درگاه مربوط به برد را انتخاب کنید.

کد قرار گرفته در بخش نمونه کد را در Arduino IDE وارد کنید. سپس روی دکمه Verify کلیک کنید تا برنامه کامپایل شود. اگر خطایی نمایش داده نشد، دکمه Upload را بزنید تا برنامه روی برد بارگذاری شود.

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

تابع loop پس از پایان setup به صورت دائمی تکرار می شود. دستور digitalWrite با مقدار HIGH چراغ را روشن می کند. سپس دستور delay(1000) اجرای برنامه را به مدت 1000 میلی ثانیه، معادل یک ثانیه، متوقف می کند. پس از آن، دستور digitalWrite با مقدار LOW چراغ را خاموش کرده و برنامه دوباره یک ثانیه منتظر می ماند.

پس از بارگذاری موفق برنامه، چراغ داخلی برد باید یک ثانیه روشن و یک ثانیه خاموش شود. این چرخه تا زمانی که برد روشن است ادامه خواهد داشت.

برای تغییر سرعت چشمک زدن، مقدار دستورات delay را تغییر دهید. برای مثال، مقدار 500 باعث می شود چراغ هر نیم ثانیه تغییر وضعیت دهد و مقدار 2000 مدت روشن یا خاموش ماندن چراغ را به دو ثانیه افزایش می دهد.

اگر برد شما چراغ داخلی ندارد، می توانید یک LED خارجی را با مقاومت سری 220 تا 330 اهم به یکی از پایه های دیجیتال متصل کنید. در این حالت باید LED_BUILTIN را با شماره پایه مورد استفاده جایگزین کنید. پایه بلند LED یا آند باید از طریق مقاومت به خروجی دیجیتال و پایه کوتاه یا کاتد به GND متصل شود.

در بعضی بردها، به ویژه برخی مدل های ESP8266 و ESP32، چراغ داخلی به صورت Active-Low متصل شده است. در این بردها ممکن است مقدار LOW چراغ را روشن و مقدار HIGH آن را خاموش کند. این موضوع نشانه خرابی برد یا اشکال در برنامه نیست.

استفاده از delay برای این تمرین ساده مناسب است، اما این دستور در زمان انتظار اجرای سایر بخش های برنامه را متوقف می کند. در پروژه های پیشرفته تر که باید چند کار به صورت هم زمان انجام شوند، بهتر است از تابع millis و روش Blink Without Delay استفاده شود.

اگر چراغ چشمک نمی زند، مدل برد و پورت انتخاب شده را بررسی کنید، کابل USB دیگری را آزمایش کنید و مطمئن شوید کابل مورد استفاده فقط مخصوص شارژ نیست. مشاهده پیام Done uploading در Arduino IDE نشان می دهد برنامه با موفقیت روی برد بارگذاری شده است.

/*
  ARDUnia - Arduino Blink
  First Arduino program
*/

void setup() {
  // تنظیم چراغ داخلی برد به عنوان خروجی
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  // روشن کردن چراغ
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);

  // خاموش کردن چراغ
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}