بردهای آردوینو از تنوع زیادی برخوردار هستند و چگونگی انتخاب آردوینو مناسب برای یک پروژه موضوع مهمی است. در این مقاله نگاهی اجمالی به دنیای متنوع بردهای آردوینو خواهیم داشت و با بررسی هر برد، ویژگیهای مثبت و منفی آن و نمونهای کاربردی از آن را بیان خواهیم کرد.
آردوینو چیست؟
شاید برایتان این سوال پیش آمده باشد که اصلاً Arduino چیست؟ یا کاربرد برد آردوینو در کجا است؟! آردوینو درواقع یک پلتفرم الکترونیکی متن باز است که سختافزار و نرمافزار انعطافپذیری دارد و کار با آن ساده است. این بردها برای هنرمندان، طراحان و به طور کلی هر شخصی که علاقمند به ایجاد اشیاء یا محیطهای تعاملی است، طراحی شدهاست. به عبارت سادهتر، شما کد موردنظر خود را بر روی آردوینو آپلود میکنید و آن میتواند دادهها را از سنسورها بخواند، با توجه به ورودیها اقداماتی را انجام دهد و موتورها را کنترل کند، شما حتی با اتصال شیلدهای مختلف میتوانید قابلیتهای آن را گسترش دهید. به عبارتی هر کاری را میتوانید با بردهای آردوینو انجام دهید.
وجه مشترک همه بردهای آردوینو، پروگرام کردن آنها از طریق نرمافزار اختصاصی Arduino IDE است. نرمافزاری که توسط آن کدنویسی و آپلود کد انجام میشود و میتوان آن را در بخش نرمافزار سایت آردوینو باتوجه به نوع سیستمعامل مورد استفاده دانلود و نصب نمود. با این وجود بردهای Arduino تفاوتهای زیادی با یکدیگر دارند که لازم است برای انتخاب آردوینو مناسب به آنها توجه کنید، ازجمله آنها میتوان به تعداد ورودیها و خروجیها (که بر اساس آن تعداد سنسورها، الایدیها و کلیدهایی که میتوان به برد متصل کرد، متفاوت خواهد بود)، سرعت پردازش، ولتاژ کاری و شکل ظاهری اشاره نمود. بعضی از بردها با باتری 3.7 ولت به درستی کار میکنند درحالیکه برخی دیگر حداقل 5 ولت نیاز دارند.
واژهنامه اصطلاحات
پیش از شروع به معرفی مدلهای مهم و کاربردی Arduino و بیان مشخصات هریک، بهتر است برای درک آسانتر مطالب، با اصطلاحات و پارامترهای اصلی در انتخاب آردوینو آشنا شویم:
- میکروکنترلر (MCU): میکروکنترلر قلب یا به عبارت بهتر مغز متفکر برد آردوینو است. برد توسعهیافته آردوینو بر پایه میکروکنترلرهای سری AVR در انواع مختلفی ساخته شدهاست که هر کدام عملکردها و ویژگیهای متفاوتی دارند.
- ولتاژ ورودی: بیانگر محدوده ولتاژ ورودی پیشنهادی برد آردوینو است. ممکن است کمی بیشتر از حداکثر ولتاژ ورودی نیز مجاز باشد، ولی این محدوده ولتاژ برای عملکرد ایمن برد بیان شدهاست. برای انتخاب آردوینو حتماً به یاد داشته باشید که بسیاری از باتریهای لیتیوم پلیمر موجود دارای ولتاژ نامی 3.7 ولت هستند، بنابراین هر بردی که ولتاژ ورودی آن 3.7 ولت باشد، میتواند مستقیماً توسط یک باتری Li-Po تغذیه شود.
- ولتاژ سیستم: این ولتاژ نشاندهنده ولتاژ سیستم برد است، یعنی همان ولتاژی که میکروکنترلر با آن راهاندازی میشود. این پارامتر از نظر سازگاری با شیلدهای آردوینو یک فاکتور مهم است؛ زیرا سطح ولتاژ منطقی به جای 5 ولت 3.3 ولت است. بدین ترتیب برای ارتباط با هر سیستم خارجی باید اطمینان یافت که آیا میتواند با سطح ولتاژ منطقی کنترلر شما مطابقت پیدا کند یا خیر.
- سرعت کلاک: فرکانس کاری میکروکنترلر است، به این معنا که میکروکنترلر دستورات را با چه سرعتی میتواند اجرا کند. با چشمپوشی از موارد استثنا، میتوان گفت اکثر میکروکنترلرهای ATmega که دارای ولتاژ کاری 3 ولت هستند، با فرکانس 8 مگاهرتز کار میکنند و اکثر میکروکنترلرهایی که ولتاژ کاری آنها 5 ولت است، با فرکانس 16 مگاهرتز کار میکنند. به منظور کاهش توان مصرفی ماژول میتوان با بکارگیری چندین ترفند سرعت کلاک آردوینو را کاهش داد.
- ورودی/خروجی دیجیتال: تعداد پینهای ورودی/خروجی دیجیتال (I/O) که بر روی برد آردوینو در دسترس است. هرکدام از این پینها میتوانند به عنوان ورودی یا خروجی در نظر گرفته شوند. برخی از آنها قابلیت PWM دارند و برخی از پینهای دوتایی به عنوان پینهای رابط سریال مورد استفاده قرار میگیرند.
- ورودیهای آنالوگ: بیانگر تعداد پینهای ورودی آنالوگ موجود بر روی برد آردوینو است. این پینها بر روی ماژول با حرف “A” مشخص و شمارهگذاری شدهاند. از طریق این پینها، خواندن مقادیر آنالوگ با استفاده از مبدل آنالوگ به دیجیتال (ADC) موجود در تراشه ATMega امکانپذیر شدهاست. در صورت نیاز به تعداد ورودی/خروجی دیجیتال بیشتر میتوان از این ورودیهای آنالوگ استفاده کرد.
- PWM: تعداد پینهای دیجیتال ورودی/خروجی که قادر به تولید مدولاسیون عرض پالس هستند. یک سیگنال PWM مانند یک خروجی آنالوگ است و به آردوینو این اجازه را میدهد تا یک سیگنال آنالوگ بین صفر تا ولتاژ سیستم را بسازد.
- UART: بیانگر تعداد خطوط ارتباطی سریال مجزایی است که یک برد آردوینو میتواند پشتیبانی کند. در اکثر بردهای آردوینو، پین های ورودی/خروجی دیجیتال شماره 0 و 1 به عنوان پینهای ارسال و دریافت سریال مورد استفاده قرار میگیرند و با پورت سریال به اشتراک گذاشته میشوند. برخی از بردهای آردوینو دارای چندین UART هستند و همزمان میتوانند از چندین پورت سریال پشتیبانی کنند ولی همه بردهای آردوینو حداقل یک UART برای پروگرام دارند، اما در برخی از بردها از طریق پینهای روی برد قابل دسترس نیستند که در انتخاب آردوینو حتماً باید به این مورد توجه داشته باشیم.
- حافظه فلش: مقدار حافظهای که تراشه برای ذخیره برنامه در اختیار کاربر قرار میدهد. البته همه فضای این حافظه در دسترس نیست، زیرا بخش بسیار کمی از آن توسط بوت لودر اشغال شدهاست (معمولاً بین 0.5 تا 2 کیلوبایت).
- رابط پروگرام: نحوه اتصال برد آردوینو به کامپیوتر به منظور پروگرام کردن میکروکنترلر را بیان میکند که از فاکتورهای مهم دیگری که برای انتخاب آردوینو مناسب است. روی بعضی از بردها یک کانکتور USB روبردی تعبیه شده که تنها لازم است به یک کابل USB وصل شود. برخی دیگر دارای یک هدر هستند که میتوان به آن یک کابل FTDI متصل کرد. در سایر بردها، مانند نوع Mini، پینهای سریال بر روی برد قابل دسترساند، اما با هدر FTDI سازگار نیستند. بردهای آردوینویی که پورت USB روبردی دارند، تراشهی دیگری نیز دارند که عمل تبدیل سریال به USB را فراهم میسازد؛ با این حال برخی از بردها به سختافزار اضافی نیاز ندارند، چون ساختار داخلی میکروکنترلر آنها، خود از یک مبدل داخلی برای USB پشتیبانی میکند.
بردهای مبتنی بر ATmega328
تراشه ATmega328P نسخه به روزشدۀ میکروکنترلر ATmega328 است و عملکرد بسیار مشابهی را دارد با این تفاوت که میکروکنترلر 328P نسبت به 328 توان مصرفی کمتر وهمینطور امضای تراشه متفاوتی دارد. بهطور کلی، عملکرد و پروگرامکردن این دو تراشه قابل مقایسه است. در ادامه به جای ATmega328P از ATmega328 استفاده شدهاست.
میکروکنترلر ATmega328 (و نمونههای قبل از آن مانند ATmega168 و ATmega8 و …) جزء اصلی پلتفرم آردوینو است، از جمله مشخصات آن میتوان به 32 کیلوبایت حافظه فلش، حداکثر 23 ورودی/خروجی (8 عدد ورودی آنالوگ) و فرکانس کاری تا حداکثر 20 مگاهرتز اشاره داشت. برای بسیاری از پروژههای الکترونیکی، ویژگیهای یک میکروکنترلر 328 حتی از مقدار موردنیاز نیز بیشتر است.
در این آموزش، تراشه اصلی اکثر بردهای آردوینو که به آنها اشاره خواهد شد، میکروکنترلر ATmega328 میباشد. میکروکنترلر به تنهایی باعث میشود این بردها از نظر تعداد ورودی/خروجی و حافظه تقریباً یکسان باشند و تفاوت آنها عمدتاً از نظر رابط پروگرام، شکل ظاهری و ولتاژ کاری آنهاست.
حال به سراغ معرفی اولین مورد از لیست ماژولهای آردوینو میرویم:
برد آردوینو uno چیست؟
آردوینو Uno پایه اصلی بردهای آردوینو است و هر برد سازگار با آردوینو با آن مقایسه میشود. این برد برای شروع کار با آردوینو گزینه مناسبی میباشد، به همین دلیل در اکثر پروژههای آموزشی ما در آکادمی روبوایکیو از همین برد استفاده شده است. آردوینو Uno در دو مدل Through hole و SMD موجود است، به این معنا که تراشه ATmega328 به کار رفته در آن یا به صورت DIP یا به صورت SMD است. مزیت نسخه دیپ این است که میتوان تراشه را جدا کرده و آن را با تراشه جدید جایگزین کرد، ولی دسترسی به نمونه SMD آسانتر است (تراشههای PTH در حال حذف شدن هستند). تغذیه Arduino Uno هم از طریق کانکتور USB و هم از طریق کانکتور جک روی برد قابل تأمین است. برای اتصال برد به کامپیوتر به یک کابل USB نوع B به A (مانند کابل USB پرینتری) نیاز خواهید داشت.
معرفی بردهای آردوینو پرو مینی (Pro Mini)
بردهای پرو مینی ابعاد بسیار کوچکی دارند. این دسته از بردهای آردوینو، با شیلدهای موجود در بازار سازگاری ندارند. شما میتوانید پین هدرهایی را به برد لحیم کرده و سپس ماژول را بر روی بردبورد قرار دهید. ابعاد کوچک این ماژول آن را برای استفاده در پروژههایی که با محدودیت فضا و وزن روبهرو هستیم مناسب ساخته است مانند رباتهای پرنده و هواپیماهای مدل. مشابه بردهای Pro، در انواع 5 ولت/ 16 مگاهرتز و نیز 3.3 ولت/ 8 مگاهرتز ، بردهایی موجود هستند. برای پروگرام کردن برد Pro mini میتوان از کابل FTDI Basic استفاده نمود.
معرفی بردهای مبتنی بر ATmega32U4
گام بعدی در زنجیره تکاملی آردوینو، ادغام تراشه مبدل USB به سریال در آیسی یا تراشه میکروکنترلر اصلی بود. به همین دلیل ATmega32U4 جایگزین ATmega328 شد. گذشته از پشتیبانی از تراشه USB، میکروکنترلر 32U4 تا حد زیادی شبیه به میکروکنترلر 328 است. هر دو تراشههای سری AVR هشت بیتی با حافظه فلش 32 کیلوبایت، دارای 22 خط ورودی/خروجی، مبدلهای آنالوگ به دیجیتال،UART، تایمر و غیره هستند.
بردهای مبتنی بر ATmega32U4 اغلب ارزانتر از بردهای مبتنی بر ATmega328 میباشند و این بهدلیل قیمت کم تراشهی کار شده در آنها است. مزیت دیگر آنها اتصال صفحه کلید یا ماوس از طریق پورت USB میباشد که بردهای معمولی آردوینو این قابلیت را ندارند. با این وجود این بردها قابلیت اطمینان کمتری دارند و استفاده از آنها دشوارتر است.
معرفی آردوینو Leonardo
“لئوناردو” پدرسالار تمام بردهای آردوینو ATmega32U4 است! شکل ظاهری و محل پینهای ورودی/خروجی (پینهای آنالوگ، PWM، I2C) مشابه آردوینو Uno است، بنابراین ماژول آردوینو LEONARDO با شیلدهای آردوینو سازگاری دارد.
تفاوت بین آردوینو Uno و Leonardo چیست؟
بهجز استفاده از میکروکنترلر جدید و عدم وجود آی سی مبدل USB به سریال در مدل لئونارد، چندین تفاوت کوچک دیگر نیز بین این دو برد وجود دارد. برای مثال کانکتور USB در آنها متفاوت است، Leonardo از طریق یک کابل MicroUSB نوع B به رایانه متصل میشود. پروسه نصب درایور آن نیز طولانیتر است و ممکن است گاهی برای نصب برد روی کامپیوتر زمان بیشتری نیاز باشد.
آردوینوهای پوشیدنی!
شاید نوبت به آن رسیده باشد تا به آرزوها و رویاهایی مانند اختراع و ساخت لباسهای هوشمند، جامهی عمل را با استفاده از آردوینوهای پوشیدنی، تن کرد!
بخش منسوجات الکترونیکی بازار آردوینو توسط LilyPads اداره میشود. مشخصه این بردها، رنگ بنفش منحصربهفرد، شکل دایرهای و طرح شبیه به گل است! پینهای روی LilyPads “گلبرگ” نامیده میشوند، این پینها سوراخهای بزرگتری دارند و تا لبهی برد، با مس پر شدهاند. درواقع این بردها به گونهای طراحی شدهاند که بتوان رشتههای رسانا را به سوراخها متصل و با مس موجود در گلبرگ اتصال الکتریکی برقرار کرد.
کارایی بیشتر!
آیا به تعداد پینهای ورودی/خروجی بیشتر و یا پردازنده سریعتری در آردوینو خود نیاز دارید؟ اینجاست که آردوینو Mega یا Due وارد عمل میشود.
آردوینو مگا: افزایش کارایی آردوینو Uno
جالب است بدانید که میتوان با قراردادن چهار آردوینو Uno در یک برد، یک آردوینو مگا ساخت و طبق محاسباتی ساده، تعداد پین ورودی/خروجی از 14 عدد در آردوینو Uno، به 54 پین افزایش مییابد. تعداد الایدیهای بیشتری در دسترس خواهند بود و به جای یک پورت سریال سختافزاری، چهار پورت در اختیار خواهیم داشت. آردوینو مگا دارای حافظه فلش 256 کیلوبایتی است و ناگفته نماند که تعداد ورودی آنالوگ به 16 عدد و تعداد خروجی PWM به 14 عدد افزایش یافتهاست.
هستهی اصلی آردوینو مگا، تراشه ATmega2560 است، در واقع یک میکروکنترلر ATmega328 که قابلیتهای آن افزایش یافته است. جدا از بازسازی اساسی پردازنده، آردوینو Mega هنوز اشتراکات زیادی با آردوینو Uno دارد. بر روی برد، یک تراشه مبدل USB به سریال ATmega16U2 وجود دارد که پروگرام کردن میکرو از طریق USB را امکانپذیر میسازد و سرعت اجرای دستورات نیز همان 16 مگاهرتز است. تمام پینها به گونهای بر روی برد در دسترساند که با شیلدهای آردوینو نیز سازگار باشند. بهسبب این شباهتها، آردوینو مگا گزینه مناسبی برای مبتدیان و متخصصان آردوینو میباشد.
چنانچه برای پروژه خود با تعداد ورودی/خروجی کمی روبهرو شدید یا به حافظهی بیشتری برای برنامه خود نیاز داشتید، با انتخاب آردوینو Mega مدار خود را کامل کنید.
آردوینو Due : قویترین آردوینو
آیا به نظر شما آردوینو Mega یک آردوینو قدرتمند است؟ اگر نظر شما مثبت است باید بدانید که آردوینو Due، انقلابی در پلتفرم آردوینو ایجاد کرد. معماری پردازنده این برد به دلیل استفاده از ARM به جای AVR کاملاً متفاوت است. این برد آردوینو شامل یک پردازنده 32 بیتی با فرکانس کاری 84 مگاهرتز است و از USB پشتیبانی میکند.
آردوینو Due ویژگیهای منحصربه فردی دارد که در سایر بردها مشاهده نمیشود. از جمله این ویژگیها عبارتند از:
- دو مبدل دیجیتال به آنالوگ (DAC)، به جای خروجی PWM مقادیر آنالوگ را در خروجی خواهیم داشت، بدینترتیب میتوانیم داده صوتی را توسط آن پخش کنیم.
- قابلیت USB on-the-go (OTG) ، آردوینو Due با این ویژگی میتواند هم به عنوان یک دستگاه USB و هم به عنوان یک هاست عمل کند. بنابراین میتوان سایر دستگاههای USB مانند فلشها، ماژولهای WiFi یا تلفنها را به این آردوینو متصل کرد.
- واحد دسترسی مستقیم به حافظه (DMA)، واحدی که بدون نیاز به دخالت پردازنده، انتقال داده بین حافظه و دستگاههای جانبی را امکانپذیر میسازد. به کمک این واحد، میکروکنترلر به انتقال اطلاعات میپردازد و همزمان سایر عملیاتهای دیگر را نیز انجام میدهد.
هنگام کار با این آردوینو نکاتی وجود دارد که باید به آنها توجه کرد. ازجمله اینکه پردازنده Due (ATSAM3X8E) نمیتواند با ولتاژ 5 ولت کار کند و فقط باید با ولتاژ 3.3 ولت راهاندازی شود. بدین ترتیب با همهی شیلدهای آردوینو سازگاری ندارد.
آردوینو Due قابلیتهای شگفتانگیزی دارد و یک برد پیشرفته است. لذا برای مبتدیان توصیه نمیشود، چنانچه پروژهای دارید که به ویژگیهای منحصر به فرد ماژول آردوینو DUE نیاز دارید، میتوانید از آن استفاده نمایید.
خلاصه
در این مقاله شما با تکنولوژی و عملکرد تعدادی از ماژول بردهای پرکاربرد و جالب آردوینو آشنا شدید و دانستید آردوینو چیست و چکار میکند و در ادامهی مطالب با درک پارامترهای مهم در انتخاب آردوینو پی بردید که چه مدل از این بردها برای پروژه شما میتواند مناسب باشد. آشنایی ما با آردوینو Uno، آردوینو پرو مینی (Pro Mini)، آردوینو Leonardo، آردوینوهای پوشیدنی LilyPads، آردوینو مگا و قویترین آردوینو، یعنی مدل Due، در این آموزش از آکادمی روبوایکیو انجام گرفت، امیدواریم از این مطالب لذت برده باشید و ما توانسته باشیم در انتخاب بهترین و مناسبترین گزینه به شما کمک کرده باشیم. چنانچه پیشنهادی مرتبط جهت آموزش این قطعات الکترونیکی برای تیم ما دارید یا با سؤالی مواجه هستید، در بخش دیدگاه همین صفحه آن را با درمیان بگذارید و در اسرع وقت پاسخ خود را از ما دریافت کنید.
۲ دیدگاه. Leave new
سلام
وقت بخیر
لطفا بفرمایید کدام مدل آردوینو از Micro Python پشتیبانی می کند؟
درود بر شما علیرضای عزیز
بردهایی که به شکل رسمی از میکروپایتون پشتیبانی می کنند را در لینک زیر می توانید مشاهده کنید.
https://docs.arduino.cc/learn/programming/arduino-and-python
از میان بردهای رایجی که در بازار هست، کتابخانه میکروپایتون برای آردوینو DUE هم پورت شده و قابل استفادست.