آردوینو Due یک برد میکروکنترلری بر پایه پردازنده Cortex-M3 ARM SAM3X8E شرکت Atmel میباشد. این برد اولین آردوینو بر پایه یک میکروکنترلر 32بیتی ARM است. آردوینو Due از طریق برنامه آردوینو(IDE)، محیط توسعه یکپارچه ما که برای تمامی بردهای آردوینو مشترک است و هم به صورت آنلاین و هم به صورت آفلاین اجرا میشود، پروگرام میشود. برای اطلاعات بیشتر در مورد چگونگی شروع کار با برنامه آردوینو صفحه شروع به کار را مطالعه کنید.
برای اطلاعات بیشتر در مورد سخت افزار آردوینو 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 دسکتاپ آردوینو را نصب کنید و هسته 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” را انتخاب کنید.
- گزینه “Browse my computer for Driver software” را انتخاب کنید.
- به فولدری که قبلا IDE آردوینو را در آن دانلود و از حالت فشرده خارج کردید بروید. فولدر “Drivers” در فولدر اصلی آردوینو(و نه در زیرشاخه “FTDI USB Drivers”) را پیدا و انتخاب کنید. “OK” را بزنید و برای ادامه “Next” را .
- اگر اخطاری مبنی بر پاس نکردن تست Windows Logo دریافت کردید، “Continue Anyway” را بزنید.
- اکنون ویندوز نصب درایور را شروع خواهد کرد.
- اکنون درایور روی کامپیوتر شما نصب شده است. در Device Manager، باید نامی شبیه به «(Arduino Due Programming Port (COM4» را در پورتها مشاهده کنید.
نصب درایور آردوینو برای سیستم عامل لینوکس
- برای لینوکس نیاز به نصب هیچ درایوری نیست. (زنده باد لینوکس ، زنده باد میکرو دیزاینر الکترونیک 🙂 )
برد و پورت سریال خود را انتخاب کنید
فرآیند آپلودکردن روی آردوینو Due از دیدگاه کاربر مانند دیگر بردها میباشد. توصیه شده است که از پورت Programming برای آپلود کردن اسکچها استفاده شود، اما شما میتوانید از هر دوی پورتها برای این کار استفاده کنید.
برای آپلودکردن از طریق پورت برنامه ریزی مراحل زیر را دنبال کنید:
- برد خود را با اتصال کابل USB به پورت برنامه ریزی Due (پورت نزدیک تر به کانکتور تغذیه DC) به کامپیوتر متصل کنید.
- در منوی “Tools” گزینه “Serial Port” را باز کنید و پورت سریال Due را انتخاب کنید.
- در منوی “Tools->Boards” گزینه «(Arduino Due (Programming Port» را انتخاب کنید.
اولین sketch خود را باز کنید
اکنون همه چیز آماده است تا اولین اسکچ (به برنامه های آردوینو اسکچ میگن، البته در کاربردهای دیگر معانی دیگری دارد بعدا یاد میگیریم.) خود را آپلود کنید. به منوی File بروید و شاخه Examples را باز کنید؛ 01.Basic و سپس Blink را انتخاب کنید.
این اسکچ فقط LED تعبیه شده داخل برد که به پایه دیجیتال شماره 13 متصل است را هر یک ثانیه یک بار خاموش و روشن میکند، اما برای تمرین بارگذاری یک اسکچ در برنامه آردوینو و آپلود کردن آن روی برد بسیار مفید است.
آپلود کردن برنامه
دومین آیکن گرد از چپ در نوار بالایی برنامه یا Ctrl=U را فشار دهید یا از منوی Sketch گزینه Upload را انتخاب کنید.
شما با موفقیت برد خود را راه اندازی کرده و اولین اسکچ خود را نیز بارگذاری کردهاید. اکنون آمادهاید تا به سراغ آموزشها و پروژههای بعدی بروید: مقصد خود را در ادامه مطلب تعیین کنید. همچنین در ادامه تفاوت های این برد را با دیگر بردهای آردوینو برسی میکنیم.
از پروژه های ساده مانند چشمک زن 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 دارای دو پورت 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، اینجا را ببینید.
Source:Arduino.cc
پروژه های آردوینو Due
اکنون که برد Due خود را تنظیم و پروگرام کردهاید، میتوانید از بستر پروژه های انجام شده در کل اینترنت استفاده کنید و از پروژه های قبلی آردوینو و ما ایده بگیرید.
مشاهده پروژه های انجام شده با آردوینو
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
سلام ببخشید میشه این آردوینو رو با دو تا باتری گوشی که به صورت سری به هم بسته شدن روشن کرد بدون اینکه بسوزه؟ویه سوال دیگه این آرردوینو تا چند آمپر رو میتونه تحمل کنه؟
سلام، در مورد سوال اولتون به ولتاژ و جریان دهی باطری بستگی داره. از نظر جریان دهی باطری موبایل فکر نکنم مشکلی داشته باشه ولی در مورد ولتاژ اطلاع ندارم که چند ولت هستن! شایدم استاندارد شدن من خبر ندارم! ولی مثلا اگر ولتاژ کاری برد 5 ولت باشه(چون نگفتین کدوم مدل دقیق نمیتونم بگم) و هر باطری هم 4 ولت شما نمیتونین دوتا را سری کنید بشه 8 ولت بزنید به برد قطعا اسیب میبینه. برای حل مشکل میتونید یک رگولاتور 5 ولت بخرید و سر راه قرار بدید تا 8 را به 5 تبدیل کنه.
در مورد تحمل جریان در حد آمپر!! اینجا یک سوال پیش میاد، منظورتان از تحمل جریان چیست؟ میتونه موارد زیر باشه.
1- جریان مصرفی برد که چقدر برد مصرف داره. این مورد را دقیق نمیدونم به برنامه نویشته شده و واحد های فعال میکروکنترلر روی برد بستگی داره و پورت هایی که ازشون جریان میکشین. اگر هم دنبال خرید آداپتور هستین و این سوال را پرسیدین باید بگم که 1 امپر بنظر کافیه ولی هر چی جریان بالا بهتر.
2- حداکثر جریانی که میتونیم از هر پایه یا پین برد رد کنیم. باید بگم که در حد روشن کردن LED است و تقریبا 10 الی 20 میلی امپر برای هر پین GPIO ولی بازم دیتاشیت را ببینید دقیقش را مینویسه.
سلام
هنگام اپلود کردن برنامه با این پیغام خطا روبرو میشم مشکل کجاست ؟
an error occurred while uploading the sketch
سلام، این خطا کلی است لطفا جزئیات خطا را هم بنویسید.
من پورت native را جایگزین programming کردم درست شد …
ایا در این حالت مشکی در انجام پروژه خواهم داشت ؟؟
یعنی فرق داره؟ ب مشکل نمی خورم ؟
تا جایی که من خوندم فرقی نداره با کدومش پروگرم کنی ولی پیشنهاد شده با پورت Programming اینکار انجام بشه.
ایا کد های اردیونو uno روی due اجرا می شوند یا فرق دارند ؟
به احتمال زیاد بدون مشکل اجرا میشه مگر پینی متفاوت باشه. یک مروری بکنید کد را و کامپایل کنید نباید مشکلی باشه.
سلام خسته نباشید من دوتا سوال داشتم اول اینکه میشه برد due را با linx برنامه ریزی کرد و دوم اینکه همزمان میشه چند ورودی انالوگ این برد رو با پورت سریال تو لب ویو نمایش داد بصورت online
سلام ممنون سلامت باشین،
در مورد سوال اول اگر منظور سیستمعامل Linux هست بله میشه. نرمافزار نسخه لینوکس را دانلود کنید از سایت آردوینو.
در مورد سوال دوم هم آره میشه همزمان چندتا ورودی آنالوک را با ADC آردوینو به کامپیوتر منتقل و روی هر نرافزاری از جمله متلب/لبویو نمایش داد. البته در مورد مفهوم Real Time تحقیق کنید چقدر تاخیر…براتون مهم هست اگر نیازه. ولی شدنی هست.
سلام من برد رو میخوام راه بندازم نمیدونم دقیقا چجوری
وصل کنم از پورت پروگرمینگ به کامپیوتر و تمام
خودش ولتاژ کاری رو رعایت میکنه ؟ یا باید جدا علاوه بر اتصال به سیستم باش برق هم بدم
چقدر برق باید بدم بهش