آردوینو, آموزش, توصیه شده, معرفی

ویرایشگر حرفه ای ویژوال استودیو کد با طعم آردوینو

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

آردوینو یکی از بزرگترین حرکت های متن باز در حوزه الکترونیک است و کمتر کسی است که تاحالا اسمش رو نشنیده باشه اما همیشه یک مشکل اساسی داشته به نظر من ؛ و اون هم نداشتن یک ویراشگر حرفه ای است ، در این پست سعی خواهیم کرد که یک ویرایشگر حرفه ای رو برای آرودینو معرفی کنیم؛ شرکت ماکروسافت غول جهان سرمایه داری است ؛ اما چطور امکان دارد که این دو در کنار هم قرار بگیرند؟

جواب را به سادگی میشود در تغییر رویه سیاست های ماکروسافت دنبال کرد که در سال جاری حرکت های بسیار زیادی را انجام داده که خود را حامی دنیای متن باز معرفی کند ، از انتشار سورس کد MS-DOS تا خرید GitHub و… البته برخی از این حرکت ها هم کمی تامل برانگیز است و مقداری نگران کننده ! از این قضایا که بگذریم ماکروسافت به تازگی پروژه ای متن باز را معرفی کرده که در واقع می توان گفت همان ویرایشگر ویژوال استودیو است و تحت عنوان Vs Code شناخته می‌شود. قابلیت ها و امکانات ویرایشگر ویژوال استودیو بر کسی پوشیده نیست ما در این آموزش سعی خواهیم کرد که با استفاده از این ویرایشگر قدرتمند و با استفاده از افزونه متن باز PlatformIO برای برد های آردوینو برنامه بنویسیم و بر روی آنها برنامه ریزی کنیم. پس با سیسوگ همراه باشید.

 

ویژوال استودیو کد چیست ؟

دانلود ویژوال استودیو کد

ویژوال استودیو کد در سال 2015 در کنفرانس Build معرفی شد و مدتی بعد در گیت هاب با لایسنس MIT  منتشر شد که تا کنون بیش از 42 هزار کامیت نیز داشته است. واقعا چه کسی فکر می‌کرد روزی ماکروسافت یک نرم افزار متن باز ارائه کنه آن هم تحت مجوز MIT ؛ واقعا عجیبه ؛ ولی خوب چیزیه که اتفاق افتاده و ما هم با آغوش باز از متن باز استقبال خواهیم کرد حتی اگر کار ماکروسافت بوده باشه ؛ ویرایشگر ویژوال استودیو کد از زبان های مختلفی پشتیبانی میکنه و تقریبا به جرات میتوان گفت که در حال حاضر کمتر زبانی است که توسط این ویرایشگر پشتیبانی نشه.

لازمه اشاره کنم که محبوبیت این ویرایشگر به حدی است که طبق یه نظر سنجی که در سال 2018 سایت Stack Overflow انجام داد ؛ ویژوال استودیو کد با کسب رای 34.9 درصد محبوب ترین ویرایشگر انتخاب شد.

ویژوال استودیو کد برای پلتفرم های ویندوز ؛ لینوکس ؛ مک در دسترس است و به سادگی میتوانید از سایت ویژوال استودیو کد آن را دانلود کنید.

نگران نباشید قرار نیست با حجم بزرگی از دانلود مواجه شوید ؛ نسخه لینوکسی و ویندوزی این ویرایشگر تنها 40 مگابایت حجم دارد.

بعد از دانلود و نصب آن که مثل نصب همه نرم افزار های دیگر است ؛ در ادامه به کانفیگ و آماده سازی این ویرایشگر برای آردوینو خواهیم پرداخت.

نصب PlatformIO بر روی ویژوال استودیو کد

اکوسیستم PlatformIO

PlatformIO در واقع یک اکوسیستم کامل است برای طراحی و توسعه سیستم های IOT ( چیزنت )  است. PlatformIO نیز متن است و نزدیک به 600 عدد دستگاه و برد IOT را پشتیانی می‌کند؛ برد های آردینو نیز از این جمله برد ها هستند.

برای نصب PlatformIO کافیه که گام های زیر رو دونه به دونه انجام بدید.

اول در نرم افزار VSCode ( ویژوال استودیو کد ) به قسمت Package Manager بروید.

دوم عبارت platformio-ide را جستجو کنید.

سوم بر روی کلید Install کلیک کند و منتظر شوید تا نصب پایان یابد.

آموزش نصب PlatfromIO در ویژوال استودیو کد

اگر نصب به درستی انجام شده باشد ؛ در نوار کناری VSCode باید آیکون PlatformIO را مشاهده کنید. مطابق عکس زیر

ساخت اولین پروژه آردوینو با ویژوال استودیو کد

برای ساخت پروژه ابتدا به صفحه خانه (Home) در PlatfromIO بروید و بر روی کلید New Project کلیک کنید.

بعد از فشردن کلید New Project پنجره ای ظاهر می شود که لازم است نوع سخت افزار و اسم پروژه و البته فریمور مورد استفاده را در آن مشخص کنید ؛

بعد ایجاد پروژه ؛ به سادگی میتوانید پروژه ایجاد شده را در قسمت سمت چپ نرم افزار مشاهده کنید ، مطابق عکس زیر به قسمت src رفته و بر روی فایل main.cpp دابل کلیک کنید تا فایل مذکور باز شود.

در فایل باز شده ، کد زیر را بنویسید و آن را ذخیره کنید

بله به همین راحتی ؛ یک پروژه ساخته شد و کد مورد نظر را به آن اضافه کردیم.

کامپایل و انتقال کد به برد آردوینو

همانطور که در تصور زیر مشاهده می‌کند ، برای کامپایل کد و پروگرام کردن برد Arduino تنها کافی است از نوار ابزار پایین صفحه که معمولا به رنگ آبی هم هست ؛ گزینه های مشخص شده را انتخاب کنید.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

41 دیدگاه در “ویرایشگر حرفه ای ویژوال استودیو کد با طعم آردوینو

  1. Avatar for امیرحسین امیرحسین گفت:

    سلام، خداقوت
    شما استفاده از آردوئینو و کتابخانه‌ی stm32duino رو برای stm32 توصیه میکنید؟ برای استفاده‌ی تجاری. نسبت به روش توابع HAL به نظرتون نقطه‌ی ضعف خاصی دارند؟ اگر منبع خوبی هم سراغ دارید ممنون میشم معرفی کنید.
    خیلی ممنونم

    1. Avatar for Zeus ‌ Zeus ‌ گفت:

      سلام دوست عزیز
      اینها ابزار هستند و تا جای ممکن سعی شده با سلیقه کاربر همراه باشن
      من در خود آردوینو مشکلی نمی بینم که نشه ازش استفاده تجاری انجام داد به هر حال یک برنامه است و اگر درست نوشته بشه به خوبی کار خواهد کرد 🙂
      من حتی نمونه PLC دیدم که با اردوینو ساخته شده و حتی برنامه نویسی شده ، پس همه چیز به خود شما برمیگیرده

  2. Avatar for محمد محمد گفت:

    سلام و عرض ادب، ممنون خیلی مطلب خوبی بود، یه سوال داشتم هرچی میگردم راهنما براش پیدا نمیکنم، هیچ کجا آموزش فارسی برای آردویینو با vs code پیدا نمیشه، اگه هم بخوام آموزش arduino با فریمورک خوده آردووینو رو یاد بگیرم و بعد که یاد گرفتم بیام با vscode کار کنم، با زبان سی آموزش دادن، نه سی پلاس پلاس، نمیدونم چیکار کنم، ممنون میشم راهنمایی بفرمایید

    1. Avatar for Zeus Zeus گفت:

      سلام دوست عزیز
      خیلی ساده میتونید از platformIO استفاده کنید 🙂
      یه پلاگینه که روی vscode نصب میشه و خیلی راحت میتونید آردوینو رو استفاده کنید

  3. Avatar for امیر امیر گفت:

    سلام وخسته نباشید من این افزونه رو نصب کردم ولی هیچ علامتی چیزی اضافه نشد به وی اس کدم چیکار باید بکنم

  4. Avatar for محمد مهدی محمد مهدی گفت:

    سلام من یکavr پروگرام شده دارم میخوام پاکش کنم دوباره پروگرام کنم چه طوری این کارو در vs codeانجام بدم

    1. Avatar for zeus zeus گفت:

      خوب شما باید از پروگرامر avrdude استفاده کنید که میتونید از توی تریمنال هم بهش دستور بدید 🙂
      C:\> avrdude -p m88p -c usbasp -e
      نمونه اش این شکل هست که از پروگرامر usbasp برای پاک کردن میکروکنترلر atmega88 استفاده میکنه

  5. Avatar for رامش رامش گفت:

    سلام
    فایل .hex را کجا میشه پیدا کرد؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام
      میتونید از این لینک جواب سوالتون رو پیدا کنید!

  6. Avatar for امیر امیر گفت:

    سلام من شروع کردم کار کردم با vs code اما الان به کد های درست من گیر داده و خط کشیده زیرش
    کد ها توی ide اردینو مشکل نداره
    ممکنه راهنمایی کنید

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      آیا موقع کامپایل به شما خطا میده یا نه درست کامپایل میشه ؟

      1. Avatar for امیر امیر گفت:

        ممنونم از همکاریتون
        چندتا از extensions ها اضافه رو پاک کردم درست شد

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          خوشحال شدم که درست شده

  7. Avatar for حسن حسن گفت:

    سلام
    هنگام پروگرم کردن در VSCODE در افزونده platformIO برای esp8266 در پایان پروگرام کردن با نمایش پیغام زیر
    Leaving…
    Hard resetting via RTS pin…
    از کاربر میخواد که بصورت دستی برد را ریست کنید , در حالی که در محیط IDE آردوینو خودش بصورت اتوماتیک پس از پروگرم کردن برد را ریست میکند
    میخواستم ببینم دستور یا کدی هست که به فایل platformio.ini اضافه کنیم که این ریست خودکار توسط برنامه انجام شود ؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام تا اونجا که من کار کردم – خودش به صورت سخت افزاری ریست میکنه !‌
      لازمه که بدونید پروگرامر اردوینو و پلتفرم برای esp یکی هست – این پیام هم داره میگه که با استفاده از پایه rts ریست سخت افزاری انجام شده :/

      1. Avatar for حسن حسن گفت:

        سلام
        بله میدونم پروگرامر اردوینو و پلتفرم برای esp یکی هست و سالها است دارم باش کار میکنم
        در آی دی ای خود اردوینو خودش به صورت سخت افزاری ریست میکند و مشکلی نیست
        ولی VSCODE با نمایش پیغام

        Leaving…
        Hard resetting via RTS pin منتظر میماند که بصورت دستی ریست کنیم میکرو را

      2. Avatar for حسین حسین گفت:

        سلام
        کلا برای پروگرام کردن esp با اردوینو باید یکبار بعد از کامپایل و قبل از اپلود توی مود فلش ریست بشه
        مکافاتی هم هست!

        1. Avatar for Zeus ‌ Zeus ‌ گفت:

          حالا جالبه که من برخی برد ها رو دیدم مشکلی ندارد و برخی رو دیدم مشکل دارند که در نوع خودش جالب توجه هست

  8. Avatar for حسن حسن گفت:

    سلام
    چگونه میتوان کتابخانه هایی که در آردوینو اسنفاده میکنیم را به platformIO اضافه کنیم
    من فایل های کتابخانه را به شاخه LIB‌ پروژه اضافه کردم ولی باز هم از کتابخانه استفاده شده ایراد میگیرد

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      اگه از کتابخانه هایی باشه که با خود آردوینو نصب میکنید به سادگی در صفحه خانه پلتفرم io میتونید مثل خود آردوینو نصب کنید به شکل آنلاین.
      اگر نه که فایل ها رو باید به پروژه اضافه کنید.

  9. Avatar for محمد محمد گفت:

    سلام و تشکر بابت مطالب آموزنده
    من چند وقت است دنبال یک IDE بی درسر مثل ویرایشگر خود آردیونو ولی با قابلیت IDE حرفه ای هستم
    ویرایشگر Eclipse سیسوگ را نصب کردم یه مدت خوب بود ولی بعد با نصب کتابخانه های مختلف از برنامه ایراد میگیره
    PlatfomIO هم به کتابخانه ها گیر میده
    اگر میشه یک آموزش یا توضیح در خصوص مدیریت کتابخانه ها در platformIO و چگونگی افزودن کتابخانه به دایرکتوری پروژه و پارمتر lib_deps در فایل platformIO.ini بدهید.
    ممنون

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام
      توی نسخه های جدید eclipse آردوینو به خود ide اضافه شده است – ورژن ۲۰۱۹ این ویرایشگر رو تست کنید.

  10. Avatar for reza reza گفت:

    سلام و تشکر بابت مطالب آموزنده
    ببخشید من چیزی رو درست متوجه نشدم. اگر امکان دیباگ برای آردوینو نباشه پس دلیل استفاده از این IDE بجای آردوینو چی میتونه باشه؟ آیا فقط شکیل تر بودن یا قابلیت تکمیل خودکار کد یا چیز دیگه ای هست؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز ؛ ابتدا بذارید اشاره کنم که اصلا برد های آردینو امکان سخت افزاری دیباگ شدن رو ندارن ؛ پس وقتی امکان سخت افزاری روی چیزی موجود نباشه چطور میشه از یک نرم افزار توقع دیباگ رو داشت !
      خوب اما در خصوص نرم افزار بله درست حدس زدید مهم ترین مورد مدیریت کد و البته هوشمندی در کد کامپلیشن هست حتی خطاهای احتمالی برنامه نویسی رو در قالب وارنینگ بهتون گزارش میده ، قابلیت git هم یکی از مهم ترین ابزارهای این ویرایشگر هست ؛ از طرفی مدیریت ساخت و ایجاد کتابخانه هم هست و صدها مورد دیگه !
      البته وقتی این موارد مهم میشه که قصد نوشتن یک برنامه بزرگ رو داشته باشید ؛ اون موقع متوجه میشید که چقدر این موارد مهمه

      1. Avatar for reza reza گفت:

        البته افزونه ای از ماکروسافت در بخش افزونه ها هست که عنوان میکنه امکان دیباگ هم داره.
        https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino#overview
        این افزونه منحصرا توسط ماکروسافت برای آردوینو ارایه شده.

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          بله دیده بودم این افزونه رو ولی نتونستم باهاش کار کنم ، برای همین سراغ PLatformIO رفتم
          شما چه مدل برد آردوینویی رو میخواید دیباگ کنید دقیقا ؟

          1. Avatar for reza reza گفت:

            خوب البته هنوز به مبحث دیباگ نرسیدم و ابتدای راه هستم.
            ولی بیشتر برای بردهای متداول مثل UNO و NANO تو فکرم هست.

          2. Avatar for زئوس Zeus زئوس Zeus گفت:

            ببینید میکروکنترلر این دو برد امکان دیباگ رو ندارند اصلا ؛ تنها کاری که شاید بتونید انجام بدید ؛ شبیه سازی هست با نرم افزار های مربوطه
            شما اول باید به امکانات سخت افزاری نگاه کنید بعد در خصوص قابلیت ها به جمع بندی برسید.

  11. Avatar for علی علی گفت:

    سلام
    آیا امکان فعالسازی وقفه ی یوزارت در آردوینو برای میکروی Stm32f1 وجود داره؟
    بنده هر چقدر تلاش کردم از طریق تابع serialEvent نتونستم هیچ چیزی دریافت کنم

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز ؛ تا حالا نیاز نشده با وقفه سریال کار کنم ولی ظاهرا امکانش هست لینک زیر رو مطالعه بفرمایید
      https://www.stm32duino.com/viewtopic.php?t=1139

  12. Avatar for میم جیم میم جیم گفت:

    سلام خسته نباشید
    آیا در آردوینو امکان دیباگ کد وجود داره مثلا در همین IDE

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      سلام
      ببینید تا اونجا که اطلاع دارم ، آردوینو امکان دیباگ کد رو نداره ؛ این IDE امکان دیباگ رو داره ولی فکر نمیکنم برای آردوینو بشه ازش استفاده کرد.

  13. Avatar for محمد محمد گفت:

    سلام می شه اردوینو رو بدون سیم وبا بلوتوث پرگرام کرد با این نرم افزار؟

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      چرا باید بشه همچین کاری کرد ؟ ؛ اگر با خود آردوینو میشه چنین کاری کرد ؛ مطمئن باشید با این هم میشه چنین کاری کرد ؛ چون این هم دقیقا از ابزار های آردوینو استفاده میکنه

  14. Avatar for سروش سروش گفت:

    سلام دوست عزیز
    مثل همیشه عالی بود تشکر

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خواهش میکنم دوست عزیز
      نظرات شما باعث دلگرمی ما میشه

  15. Avatar for Afshin Afshin گفت:

    دستت درد نکنه مثل همیشه عالی بود

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خواهش میکنم دوست عزیز 🙂

  16. Avatar for کامران کامران گفت:

    واقعا کاربردی بود این مطلب 🙂

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      خواهش میکنم دوست عزیز
      موفق باشید

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

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