مهندس موفق الکترونیک

آموزش شروع کار با آردوینو Due

آردوینو Due یک برد میکروکنترلری بر پایه پردازنده Cortex-M3 ARM SAM3X8E شرکت Atmel می‌باشد. این برد اولین آردوینو بر پایه یک میکروکنترلر 32بیتی ARM است. آردوینو Due از طریق برنامه آردوینو(IDE)، محیط توسعه یکپارچه ما که برای تمامی بردهای آردوینو مشترک است و هم به صورت آنلاین و هم به صورت آفلاین اجرا می‌شود، پروگرام می‌شود. برای اطلاعات بیشتر در مورد چگونگی شروع کار با برنامه آردوینو صفحه شروع به کار را مطالعه کنید.

شروع کار با آردوینو Due

 برای اطلاعات بیشتر در مورد سخت افزار آردوینو Due، اینجا را ببینید.

در این مقاله سرفصل های زیر پوشش داده میشن:

  • شروع کار با آردوینو Due
  • استفاده از آردوینو Due با نسخه وب IDE آردوینو
  • استفاده از آردوینو Due روی نسخه دسکتاپ IDE آردوینو
  • نصب هسته Arduino Sam Boards
  • نصب درایورهای برد Due
  • اولین sketch خود را باز کنید
  • آپلود کردن برنامه روی برد DUE
  • تفاوت با بردهای ATMEGA
  • ولتاژ کاری برد Due
  • پورت های سریال Due
  • ریست خودکار (نرم افزاری)
  • USB Host
  • وضوح ADC و PWM.
  • عملکرد SPI

استفاده از آردوینو Due با نسخه وب IDE آردوینو

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

آردوینو Due با نسخه وب IDE آردوینو

برای ورود به نسخه ویرایشگر وب آردوینو اینجا کلیک کنید. اما نسخه دسکتاپ بنظر بهتر میاد و در ادامه توضیحات آن را بخوانید. ویرایشگر تحت وب آردوینو به طور آنلاین میزبانی می‌شود، بنابراین همواره با آخرین قابلیت‌ها و پشتیبانی برای همه‌ی بردها به روز خواهد بود. برای شروع کدزدن روی مرورگر و بارگذاری اسکچ‌ هایتان روی برد، آموزش های آردوینو موجود در سایت را دنبال کنید.

استفاده از آردوینو Due روی نسخه دسکتاپ IDE آردوینو

اگر میخواهید آردوینو Due خود را به طور آفلاین برنامه‌ریزی کنید، باید IDE دسکتاپ آردوینو را نصب کنید و هسته Atmel SAMD را به آن اضافه کنید. این کار از طریق انتخاب منوی Tools، سپس Boards و در آخر Board Manager، همانگونه که در صفحه Board Manager آردوینو نوشته شده، انجام می‌شود.

قسمت میکرو USB کابل را به پورت برنامه‌ریزی Due متصل کنید(پورتی که به کانکتور تغذیه DC) نزدیکتر است. برای بارگذاری یک اسکچ، Arduino Due Programming port را از منوی Tools>Board انتخاب کنید و از منوی Tools>Serial Port نیز پورت سریال صحیح را انتخاب کنید.

نصب هسته Arduino Sam Boards

اگر از IDE آردوینو نسخه 1.6.2 یا جدیدتر استفاده می‌کنید باید هسته‌ای که Arduino Due را پشتیبانی می‌کند را نصب کنید. برای نصب هسته جدید به مسیر زیر در نرم افزار آردوینو بروید و در قسمت جست و جو «Arduino Sam Boards»  را سرچ و نصب کنید.

Tools -> Board > Boards Manager.

نصب درایورهای برد Due

برای سیستم عامل مک OSX

  • نصب هیچ درایوری در OSX ضروری نیست. بسته به نسخه‌ی OS شما، ممکن است با یک پنجره که برای بازکردن “Network Preferences” درخواست می‌دهد مواجه شوید. روی دکمه “Network Preferences” کلیک کنید، سپس “Apply” را بزنید. Due به عنوان “Not Configured” نشان داده می‌شود، اما همچنان کار می‌کند. می‌توانید از از System Preferences خارج شوید.

برای سیستم عامل Windows

  • نسخه ویندوز برنامه آردوینو را دانلود کنید. بعد از اتمام دانلود، آن را از حالت فشرده خارج کنید. مراقب باشید ساختار پوشه‌های آن حفظ شود.
  • Due را با یک کابل USB از طریق پورت Programming به کامپیوتر متصل کنید.
  • ویندوز باید مراحل اولیه فرایند نصب درایور را با اتصال برد شروع کند، اما نمی‌تواند فایل درایور را پیدا کند. باید به آن بگویید که درایور کجاست.
  • روی Start کلیک کنید و Control panel را باز کنید
  • به بخش “System and Security” بروید. روی System کلیک کنیدو Device Manager را باز کنید.
  • به دنبال بخش «(Ports (COM & LPT»بگردید. در آنجا باید یک پورت باز به نام “Arduino Due Prog. Port” را مشاهده کنید.
  • روی “Arduino Due Prog. Port” کلیک راست کنید و “Update Driver Software” را انتخاب کنید.
مطلب پیشنهادی:  بردهای آردوینو Arduino

نصب درایورهای برد Due

  • گزینه “Browse my computer for Driver software” را انتخاب کنید.

نصب درایورهای برد آردوینو Due

  • به فولدری که قبلا IDE آردوینو را در آن دانلود و از حالت فشرده خارج کردید بروید. فولدر “Drivers” در فولدر اصلی آردوینو(و نه در زیرشاخه “FTDI USB Drivers”) را پیدا و انتخاب کنید. “OK” را بزنید و برای ادامه “Next” را .
  • اگر اخطاری مبنی بر پاس نکردن تست Windows Logo دریافت کردید، “Continue Anyway” را بزنید.
  • اکنون ویندوز نصب درایور را شروع خواهد کرد.

نصب درایورهای برد آردوینو Due

  • اکنون درایور روی کامپیوتر شما نصب شده است. در Device Manager، باید نامی شبیه به «(Arduino Due Programming Port (COM4» را در پورت‌ها مشاهده کنید.

شروع کار با آردوینو Due

نصب درایور آردوینو برای سیستم عامل لینوکس

  • برای لینوکس نیاز به نصب هیچ درایوری نیست. (زنده باد لینوکس ، زنده باد میکرو دیزاینر الکترونیک 🙂 )

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

فرآیند آپلودکردن روی آردوینو Due از دیدگاه کاربر مانند دیگر بردها می‌باشد. توصیه شده است که از پورت Programming برای آپلود کردن اسکچ‌ها استفاده شود، اما شما می‌توانید از هر دوی پورت‌ها برای این کار استفاده کنید.

برای آپلودکردن از طریق پورت برنامه ریزی مراحل زیر را دنبال کنید:

  • برد خود را با اتصال کابل USB به پورت برنامه ریزی Due (پورت نزدیک تر به کانکتور تغذیه DC) به کامپیوتر متصل کنید.
  • در منوی “Tools” گزینه “Serial Port” را باز کنید و پورت سریال Due را انتخاب کنید.
  • در منوی “Tools->Boards” گزینه «(Arduino Due (Programming Port» را انتخاب کنید.

اولین sketch خود را باز کنید

اکنون همه چیز آماده است تا اولین اسکچ (به برنامه های آردوینو  اسکچ میگن، البته در کاربردهای دیگر معانی دیگری دارد بعدا یاد میگیریم.) خود را آپلود کنید. به منوی File بروید و شاخه Examples را باز کنید؛ 01.Basic و سپس Blink را انتخاب کنید.

شروع کار با آردوینو Due

این اسکچ فقط LED تعبیه شده داخل برد که به پایه دیجیتال شماره 13 متصل است را هر یک ثانیه یک بار خاموش و روشن می‌کند، اما برای تمرین بارگذاری یک اسکچ در برنامه آردوینو و آپلود کردن آن روی برد بسیار مفید است.

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

دومین آیکن گرد از چپ در نوار بالایی برنامه یا Ctrl=U را فشار دهید یا از منوی Sketch  گزینه Upload را انتخاب کنید.

شروع کار با آردوینو Due

شما با موفقیت برد خود را راه اندازی کرده  و اولین اسکچ خود را نیز بارگذاری کرده‌اید. اکنون آماده‌اید تا به سراغ آموزش‌ها و پروژه‌های بعدی بروید: مقصد خود را در ادامه مطلب تعیین کنید. همچنین در ادامه تفاوت های این برد را با دیگر بردهای آردوینو برسی می‌کنیم.

مطلب پیشنهادی:  آموزش پروتکل ارتباطی CAN در آردوینو – نحوه‌ی ارتباط ماژول MCP2515 CAN BUS با بورد آردوینو

از پروژه های ساده مانند چشمک زن LED با آردوینو گرفته تا راه اندازی ماژول شبکه توسط آردوینو را می‌توانید در قسمت پروژه های آردوینو وبسایت میکرو دیزاینر الکترونیک ببینید.

تفاوت با بردهای ATMEGA

به طور کلی، برد Due را نیز مانند دیگر بردهای آردوینو برنامه ریزی و استفاده می‌کنید. اما، چندین تفاوت مهم و توسعه کاربردی در مورد این برد وجود دارد.

Due دارای فوت‌پرینت یکسان با برد Mega2560 می‌باشد.

ولتاژ کاری برد آردوینو Due

میکروکنترلر نصب شده روی برد Due با ولتاژ 3.3 ولت کار می‌کند، این به این معنی است که می‌توانید سنسورها و ماژول های دیگر خود را فقط با 3.3 ولت تغذیه کنید. اتصال به ولتاژهای بالاتر، مانند 5ولت رایج در دیگر بردهای آردوینو به Due آسیب می‌رساند.

این برد می‌تواند از کانکتورهای USB یا جک DC تغذیه شود. اگر از کانکتور DC استفاده می‌کنید، ولتاژی بین 7تا12 ولت را تامین کنید.

آردوینو Due دارای یک رگولاتور ولتاژ سویچینگ با بازده بالا و سازگار با ویژگی‌های USB host می‌باشد. اگر پورت USB Native به عنوان یک میزبان استفاده شود و یک وسیله USB به کانکتور micro-A آن متصل شود، برد تغذیه آن وسیله را تامین خواهد کرد. هنگامی که برد به عنوان میزبان USB استفاده می‌شود، تغذیه خارجی از طریق کانکتور DC مورد نیاز است.

پورت های سریال برد آردوینو Due

شروع کار با آردوینو Due

برد آردوینو Due دارای دو پورت USB می‌باشد. پورت USB Native (که از ارتباط سریال CDC با استفاده از object SerialUSB پشتیبانی می‌کند) مستقیما به میکر.کنترلر SAM3X متصل شده است. دیگر پورت USB پورت برنامه‌ریزی است. این پورت به یک میکروکنترلر ATMEL 16U2 متصل شده است که به عنوان یک مبدل USB به سریال عمل می‌کند. این پورت برنامه‌ریزی به صورت پیشفرض برای بارگذاری اسکچ‌ها و ارتباط با آردوینو می‌باشد.

مبدل USB به سریال پورت برنامه‌ریزی به اولین UART میکرو SAM3X متصل شده است. ارتباط از طریق این پورت با استفاده از شی “Serial” در زبان برنامه نویسی آردوینو امکان پذیر است.

کانکتور USB پورت Native مستقیما به پایه‌های USB host میکرو SAM3X متصل شده است. استفاده از پورت Native به شما اجازه می‌دهد تا از Due به عنوان یک client USB peripheral (به عنوان یک موس یا کیبورد متصل به کامپیوتر) یا به عنوان یک دستگاه میزبان USB که دیگر دستگاه‌ها می‌توانند به آن متصل شوند(مانند یک موس، کیبورد، یا گوشی اندروید) استفاده کنید.  این پورت همچنین می‌تواند با استفاده از شی “SerialUSB” در زبان برنامه نویسی آردوینو به عنوان یک پورت سریال مجازی به کار رود.

ریست خودکار (نرم افزاری)

میکروکنترلر SAM3X از این جهت از میکروکنترلرهای AVR متفاوت است که حافظه فلش آن باید قبل از برنامه ریزی مجدد پاک شود. روش دستی این کار شامل فشار دادن دکمه erase برای یک ثانیه، زدن دکمه بارگذاری در IDE، و سپس دکمه ریست می‌باشد. از آنجایی که این کار خسته کننده است، پاک کردن حافظه فلش به صورت خودکار توسط هر دو پورت USB و به دو روش مختلف مدیریت می‌شود:

ریست خودکار با پورت Native:

بازکردن و بستن این پورت در باودریت 1200bps یک فرآیند “soft erase” را فعال می‌کند. حافظه فلش پاک شده و برد با بوتلودر ریستارت می‌شود. اگر، به هر دلیلی، پروسسور در حین این فرآیند کرش کند،احتمال اینکه پاک شدن حافظه اتفاق نیافتد وجود دارد زیرا این کار به صورت نرم‌افزاری و توسط خود میکروکنترلر انجام می‌گیرد. بازکردن و بستن پورت Native در باودریت هایی غیر از 1200bps SAM3X را ریست نخواهد کرد. برای استفاده از مانیتور سریال، و مشاهده اینکه اسکچ‌تان از ابتدا چه کاری انجام می‌دهد، به چندین خط کد درون ()setup نیاز دارید. این خط اطمینان حاصل می‌کند که SAM3X منتظر می‌ماند تا پورت SerialUSB باز شود و سپس اسکچ را اجرا کند:

while (!Serial) ;

فشار دادن دکمه ریست روی برد Due باعث می‌شود تا SAM3X و همچنین ارتباط USB ریست شود.این وقفه به این معنی است که اگر مانیتور سریال باز باشد، بستن و مجددا باز کردن آن برای شروع مجدد ارتباط ضروری است.

مطلب پیشنهادی:  توابع ورودی/خروجی در آردوینو

ریست خودکار با پورت Programming

این پورت از یک چیپ USB به سریال متصل به اولین UART میکروکنترلر (RX0 و TX0) استفاده می‌کند. چیپ USB به سریال دارای دو پایه متصل به پین‌های Reset و Erase میکوکنترلر SAM3X می‌باشد. هنگامی که این پورت سریال را باز می‌کنید، مبدل USB به سریال مراحل Reset و Erase را قبل از شروع ارتباط با UART میکروی SAM3X انجام می‌دهد. این روش بسیار قابل اعتمادتر است و هنگامی که میکروکنترلر اصلی نیز کرش کند، کار می‌کند.

برای ارتباط سریال با پورت برنامه‌ریزی، از شی “Serial” در IDE استفاده کنید. تمامی اسکچ‌های موجود که از ارتباط سریال بر مبنای برد Uno بهره می‌برند به طرز مشابهی کار می‌کنند. پورت برنامه ریزی از این جهت شبیه به پورت سریال Uno کار می‌کند که مبدل USB به سریال هر دفعه که serial monitor را باز می‌کنید(یا هر ارتباط سریال دیگر) برد را ریست می‌کند.

فشار دادن دکمه Reset در حین ارتباط از طریق پورت برنامه‌ریزی ارتباط USB با کامپیوتر را قطع نمی‌کند زیرا تنها SAM3X ریست می‌شود.

USB Host

Due این قابلیت را دارد تا به عنوان یک میزبان USB برای وسایل متصل به پورت USB سریال عمل کند. برای اطلاعات بیشتر و مثال‌ها، صفحه مرجع میزبان USB را ببینید.

هنگام استفاده از Due به عنوان میزبان، تامین تغذیه دستگاه متصل از Due صوت می‌گیرد. به شدت توصیه می‌شود که استفاده به عنوان میزبان کانکتور تغذیه DC متصل شود.

وضوح ADC و PWM

Due این قابلیت را دارد که رزولوشن‌های پیشفرض خواندن و نوشتن آنالوگ خود (به ترتیب، 10بیت و 8بیت) را تغییر دهد. این برد حداکثر تا 12بیت وضوح برای ADC و PWM پشتیبانی می‌کند.

عملکرد SPI برد آردوینو

Due دارای عملکرد گسترش یافته روی باس SPI خود می‌باشد که برای ارتباط با چندین دستگاه که در سرعت‌های مختلفی کار می‌کنند مفید می‌باشد. برای اطلاعات بیشتر در مورد سخت افزار آردوینو Due، اینجا را ببینید.

پروژه های آردوینو Due

Source:Arduino.cc

پروژه های آردوینو Due

اکنون که برد Due خود را تنظیم و پروگرام کرده‌اید، می‌توانید از بستر پروژه های انجام شده در کل اینترنت استفاده کنید و از پروژه های قبلی آردوینو و ما ایده بگیرید.

مشاهده پروژه های انجام شده با آردوینو

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

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

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

11 دیدگاه

  1. سلام ببخشید میشه این آردوینو رو با دو تا باتری گوشی که به صورت سری به هم بسته شدن روشن کرد بدون اینکه بسوزه؟ویه سوال دیگه این آرردوینو تا چند آمپر رو میتونه تحمل کنه؟

    • میلاد جهاندیده

      سلام، در مورد سوال اولتون به ولتاژ و جریان دهی باطری بستگی داره. از نظر جریان دهی باطری موبایل فکر نکنم مشکلی داشته باشه ولی در مورد ولتاژ اطلاع ندارم که چند ولت هستن! شایدم استاندارد شدن من خبر ندارم! ولی مثلا اگر ولتاژ کاری برد 5 ولت باشه(چون نگفتین کدوم مدل دقیق نمیتونم بگم) و هر باطری هم 4 ولت شما نمیتونین دوتا را سری کنید بشه 8 ولت بزنید به برد قطعا اسیب میبینه. برای حل مشکل میتونید یک رگولاتور 5 ولت بخرید و سر راه قرار بدید تا 8 را به 5 تبدیل کنه.
      در مورد تحمل جریان در حد آمپر!! اینجا یک سوال پیش میاد، منظورتان از تحمل جریان چیست؟ میتونه موارد زیر باشه.
      1- جریان مصرفی برد که چقدر برد مصرف داره. این مورد را دقیق نمیدونم به برنامه نویشته شده و واحد های فعال میکروکنترلر روی برد بستگی داره و پورت هایی که ازشون جریان میکشین. اگر هم دنبال خرید آداپتور هستین و این سوال را پرسیدین باید بگم که 1 امپر بنظر کافیه ولی هر چی جریان بالا بهتر.
      2- حداکثر جریانی که میتونیم از هر پایه یا پین برد رد کنیم. باید بگم که در حد روشن کردن LED است و تقریبا 10 الی 20 میلی امپر برای هر پین GPIO ولی بازم دیتاشیت را ببینید دقیقش را مینویسه.

  2. سلام
    هنگام اپلود کردن برنامه با این پیغام خطا روبرو میشم مشکل کجاست ؟
    an error occurred while uploading the sketch

  3. ایا کد های اردیونو uno روی due اجرا می شوند یا فرق دارند ؟

  4. سلام خسته نباشید من دوتا سوال داشتم اول اینکه میشه برد due را با linx برنامه ریزی کرد و دوم اینکه همزمان میشه چند ورودی انالوگ این برد رو با پورت سریال تو لب ویو نمایش داد بصورت online

    • میلاد جهاندیده

      سلام ممنون سلامت باشین،
      در مورد سوال اول اگر منظور سیستم‌عامل Linux هست بله می‌شه. نرم‌افزار نسخه لینوکس را دانلود کنید از سایت آردوینو.
      در مورد سوال دوم هم آره می‌شه همزمان چندتا ورودی آنالوک را با ADC آردوینو به کامپیوتر منتقل و روی هر نرافزاری از جمله متلب/لب‌ویو نمایش داد. البته در مورد مفهوم Real Time تحقیق کنید چقدر تاخیر…براتون مهم هست اگر نیازه. ولی شدنی هست.

  5. علی تقی زاده

    سلام من برد رو میخوام راه بندازم نمیدونم دقیقا چجوری
    وصل کنم از پورت پروگرمینگ به کامپیوتر و تمام
    خودش ولتاژ کاری رو رعایت میکنه ؟ یا باید جدا علاوه بر اتصال به سیستم باش برق هم بدم
    چقدر برق باید بدم بهش