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

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

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

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

جواب را به سادگی میشود در تغییر رویه سیاست های ماکروسافت دنبال کرد که در سال جاری حرکت های بسیار زیادی را انجام داده که خود را حامی دنیای متن باز معرفی کند ، از انتشار سورس کد 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 تنها کافی است از نوار ابزار پایین صفحه که معمولا به رنگ آبی هم هست ؛ گزینه های مشخص شده را انتخاب کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Zeus ‌
Zeus ‌

زئوس هستم ساکن المپ

دیدگاه ها

38 دیدگاه

  • امیرحسین
    ۲۱ مرداد ۱۴۰۱

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

    • Zeus ‌
      Zeus ‌
      ۶ شهریور ۱۴۰۱

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

  • محمد
    ۱۹ مهر ۱۴۰۰

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

    • Zeus ‌
      Zeus
      ۲۴ مهر ۱۴۰۰

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

  • محمد مهدی
    ۱۲ اردیبهشت ۱۴۰۰

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

    • Zeus ‌
      zeus
      ۴ خرداد ۱۴۰۰

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

  • رامش
    ۲۷ تیر ۱۳۹۹

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

  • امیر
    ۲۴ فروردین ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۲۵ فروردین ۱۳۹۹

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

      • امیر
        ۲۵ فروردین ۱۳۹۹

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

        • Zeus ‌
          زئوس Zeus
          ۳۰ فروردین ۱۳۹۹

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

  • حسن
    ۲۳ فروردین ۱۳۹۹

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

    • Zeus ‌
      زئوس Zeus
      ۲۴ فروردین ۱۳۹۹

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

      • حسن
        ۲۵ فروردین ۱۳۹۹

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

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

  • حسن
    ۲۶ اسفند ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۵ فروردین ۱۳۹۹

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

  • محمد
    ۲۲ آذر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۲۳ آذر ۱۳۹۸

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

  • reza
    ۲۹ آبان ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۹ آبان ۱۳۹۷

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

      • reza
        ۲۹ آبان ۱۳۹۷

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

        • Zeus ‌
          زئوس Zeus
          ۲۹ آبان ۱۳۹۷

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

          • reza
            ۲۹ آبان ۱۳۹۷

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

            0
          • Zeus ‌
            زئوس Zeus
            ۳۰ آبان ۱۳۹۷

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

            0
  • علی
    ۲۸ آبان ۱۳۹۷

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

  • میم جیم
    میم جیم
    ۲۸ آبان ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۸ آبان ۱۳۹۷

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

  • محمد
    ۲۸ آبان ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۸ آبان ۱۳۹۷

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

  • سروش
    ۲۷ آبان ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۷ آبان ۱۳۹۷

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

  • Afshin
    ۲۷ آبان ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۷ آبان ۱۳۹۷

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

  • کامران
    ۲۷ آبان ۱۳۹۷

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

    • Zeus ‌
      زئوس Zeus
      ۲۷ آبان ۱۳۹۷

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

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

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک