خانوادهی آردوینو، خانوادهای بزرگ و در حال توسعه است. با اینکه تمرکز اصلی این مجموعه آموزش برروی بورد UNO خواهد بود، آشنایی با دیگر اعضای خانواده آردوینو خالی از لطف نیست. برخی از این بوردها مانند Mega 2560، پایههای و امکانات ارتباطی بیشتری دارند. برخی مانند Arduino Duo سرعت پردازش بیشتری دارند و برخی مانند Arduino 101 امکانات جانبی بیشتری فراهم میکنند. بوردهای آردوینو دیگری نیز وجود دارند که برای مزیتهایی مانند اندازه، قیمت و مصرف کمتر باتری بهینهسازی شدهاند. علاوه بر اینها بوردهای وجود دارند که با اینکه آردوینو نیستند، اما با ساختار آردوینو تطبیق دارند. در این بخش با تعدادی از پر استفادهترین این بوردها آشنا خواهیم شد.
آردوینو UNO
آردوینو UNO انتخاب بیشتر افرادی است که در ابتدای راه آشنایی و کار با آردوینوها قرار دارند. استفاده از این برد بسیار آسان است. نحوه عملکرد آن به سادگی قابل فهم است. افزونهها (Extension) و پوشانههای (Shield) آن به وفور در دسترس هستند. از بیشتر فروشگاهها قابل خریداری است و معمولا فروشگاهها تعداد مناسبی از آن را در انبار دارند و سفارش شما برای خریدن یک بورد آردوینو معطل تامین نخواهد شد. بیشتر کیتهای آموزشی آردوینو مخصوصا کیتهای آموزشی مبتدی در کنار خود یک آردوینو UNO ارائه میدهند و جزئیات محتوای آنها نیز براساس این بورد طراحی شده است.
در نگاهی کلی به قابلیتهای فنی این بورد میتوان دریافت که این بورد با ولتاژ 5 ولت کار میکند و محدودیتهای تغذیهی آن طوری طراحی شده که بتوان از منابع تغذیه مختلف از درگاه USB کامپیوتر شخصی تا پک باتری و آداپتور دیواری برای تامین توان آن استفاده نمود. این بدین معنی است که روشن کردن و راهانداختن آردوینو شما کار بسیار راحتی خواهد بود.
از نگاه پایههای ورودی و خروجی دیجیتال تعداد مناسبی از این پایهها در اختیار مصرفکننده قرار دارد. شاید تعداد 14 پایه ورودی و خروجی دیجیتال تعداد زیادی نباشد، اما همین تعداد در بسیاری موارد برای ساختن یک ابزارک کاربردی و مفید کافی است.
حافظه در دسترس نیز یکی از موارد مهم در بررسی چنین وسیلهای است. زیرا طرحها و برنامههایی که کاربر مینویسد و همچنین دادههایی که در زمان اجرا تولید میشود باید در این حافظه گنجانده شود. از این نظر آردوینو UNO یک حافظه 32 کیلوبایتی در اختیار ما قرار میدهد که برای حجم برنامهای که یک مبتدی در ابتدای کار مینویسد حجم مناسبی است.
سرعت ساعت که رابطه مستقیمی با سرعت پردازش دارد برروی مقدار پیشفرض 16 مگاهرتز تنظیم شده است. بسیاری از کتابخانهها و طرحهای از پیش آماده مانند کتابخانههای کنترل سروو موتور برپایه این سرعت ساخته شدهاند. به همین علت لازم نیست کاربر مبتدی برای کارکرد صحیح دستگاه تغییراتی در آن ایجاد کند.
با توجه به دلایلی که گفتیم آردوینو UNO یک نقطه شروع بسیار خوب برای یادگیری آردوینو و حتی برنامهنویسی میکروکنترلرها است.
آردوینو Mega 2560
همانطور که گفته شد، آردوینو Uno از تعداد محدودی پین ورودی و خروجی دیجیتال و تنها یک درگاه ارتباط سریال بهره میبرد. با اینحال در صورتی که در یک پروژه به چند ارتباط سریال نیاز داشته باشیم، یا بخواهیم تعداد زیادی ورودی و خروجی را مدیریت کنیم، چاره چیست!؟
اولین جواب این سوال Arduino Mega 2560 است. دلیل این پیشنهاد این است که آردوینو Mega 2560 تطابق بسیار بالایی با آردوینو UNO دارد و در بسیاری کاربردها و پروژهها میتواند به سادگی جایگزین آن شود. دلیل دیگر نیز همخانواده بودن میکروکنترلر استفاده شده در این دو بورد است. به این دلایل بورد آردوینو Mega 2560 معمولا یک بورد دوم بسیار مناسب برای کسانی است که با آردوینو کار میکنند. تفاوت عمده میکروکنترلرهای استفاده شده در این دو بورد آن است که میکروکنترلر استفاده شده در Mega 2560 تقریبا در همه جنبهها، قابلیت و تعداد بیشتری امکانات جانبی ارائه میدهد.
در نگاه کلی به مشخصات فنی این دو محصول میتوان اشتراکات و تفاوت آنها را مشاهده نمود. از نظر توان، ولتاژ کاری هر دو بورد 5 ولت است و کمابیش از مشخصات توانی یکسانی بهره میبرند. در مورد ورودیها و خروجیهای دیجیتال آردوینو Mega 2560 از 54 پایه ورودی و خروجی دیجیتال بهره میبرد که این تعداد برای آردوینو Uno، 14 عدد است از این میان تنها 6 پایه از قابلیت PWM پشتیبانی میکنند که در Mega 2560 به 15 پایه افزایش یافته اند. همچنین پایههای آنالوگ نیز از 6 پایه به 16 پایه ارتقا پیداکرده است. در بررسی حافظه در دسترس برای کاربر، Mega 2560 از حافظه فلش 256 کیلوبایتی برای ذخیره برنامه کاربر و دادههای تولید شده در زمان اجرا استفاده میکند که این مقدار 8 برابر حافظه 32 کیلوبایتی UNO است.
نکته قابل توجه در مورد Mega 2560 ساعت دستگاه یا سرعت پردازش آن است. ساعت هر دو برد روی سرعت 16مگاهرتز کار میکند. این بدان معنی است که برنامههای وابسته به زمان، مانند کنترل یک سروو موتور یا زمانبندی روشن و خاموش شدن یک چراغ LED، که برای کار با UNO طراحی شده، بدون هیچ تغییری برروی Mega 2560 قابل استفاده خواهد بود.
تعداد درگاههای سریال UART در آردوینو Mega 2560، 4 عدد است که برای برقرار کردن ارتباط بین منابع مختلف تعداد بسیار مناسبی است.
آردوینو Pro Mini
همانطور که از نام این برد مشخص است آردوینو پرو مینی یک برد حرفهای کوچک است! در این برد برای کمتر شدن اندازه و کاهش وزن آن ورودی آدابتور و پورت USB حذف شده اند. سایز کوچک و وزن اندک این برد آن را یک گزینه بسیار ایده ال برای استفاده در ربات های پرنده و یا هواپیماهای مدل می نماید، همچنین اگر می خواهید اندازه پروژه خود را کوچک نگاه دارید، باز هم ما استفاده از آردوینو پرو مینی را به شما توصیه می نماییم. بر خلاف اندازه کوچک و قیمت اندک آن با توجه به اینکه میکروکنترلر به کار رفته درون این برد atmega328 می باشد از نظر کارایی هیچ تفاوتی با سایر بردهای آردوینو که چیپ آنها atmega328 می باشد، ندارد. تنها تفاوت این برد در شکل فیزیکی آن می باشد ، حذف پورت USB باعث می شود که شما نتوانید به سادگی سایر برد های آردوینو کدهای خود را بر روی برد آپلود نمایید ، برای آپلود کدها می توانید از یک برد آردینو دیگر که دارای رابط USB می باشد به عنوان پروگرامر استفاده کنید و یا اینکه کد خود را از طریق یک کابل FTDI و یا مبدل USB به سریال درون میکروی برد آپلود نمایید.
این برد مشابه برد آردوینو نانو دارای 14 ورودی و خروجی دیجیتال (6 تای آنها می توانند به عنوان خروجی PWM استفاده شوند)، 8 ورودی آنالوگ و یک دکمه ریست می باشد. این برد برای افرادی طراحی شده است که با برنامه نویسی بردهای آردوینو آشنایی دارند و می خوهند یک نمونه دائمی از محصول خود را بسازند. با توجه به قیمت ارزان این برد ، به راحتی می توانید از آن در تولیدات نهایی و محصولات تجاری خود نیز از آن استفاده نمایید.
آردوینو Due
برد آردوینو Due بر اساس یک میکروکنترلر بر پایه SAM3X8E ARM Cortex-M3 CPU از شرکت Atmel می باشد. این برد، اولین برد آردوینویی است که بر اساس میکروکنترلر با هسته ARM 32 بیتی پایه ریزی شده است. دارای 54 پین دیجیتال ورودی/خروجی (که 12 تای آن می تواند به عنوان خروجی PWM استفاده شود)، 12 ورودی آنالوگ، 4 پورت UARTs (پورت های سریال سخت افزاری)، و یک ساعت 84 مگاهرتزی، an USB OTG capable connection ، یک DAC (دیجیتال به آنالوگ)، 2 عدد TWI، یک پاور جک، یک SPI header، یک JTACG header، یک دکمه ریست و یک دکمه پاک کردن می باشد.
هشدار: بر خلاف دیگر بردهای آردوینو، برد آردوینو Due با ولتاژ 3.3 ولت کار می کند. حداکثر ولتاژی که پین های ورودی/خروجی می توانند تحمل کنند همین 3.3 ولت است. اعمال ولتاژ های بالاتر همچون 5ولت به یک پین ورودی/خروجی، می تواند به برد آسیب بزند.
این برد، هرچیزی را که جهت پشتیبانی از میکروکنترلر مورد نیاز است، شامل می شود؛ برای آغاز کار، برد را با یک کابل micro-USB به سادگی به کامپیوتر متصل کنید و یا با یک آداپتور AC-to-DC یا باتری، به آن ولتاژ بدهید. برد Due با همه شیلدهای آردوینو که با 3.3 ولت کار می کنند، و همچنین با 1.0 Arduino pinout سازگار است.
برد Due از 1.0 pinout پیروی می کند:
TWI: پین های SDA و SCL که در نزدیکی پین AREF قرار دارند.
پین IOREF که اجازه می دهد یک شیلد را با پیکربندی مناسب جهت تطبیق با ولتاژی که توسط برد فراهم شده است، متصل کنید. این قابلیت، به شیلدها امکان می دهد تا با برد 3.3 ولتی همچون Due و بردهای AVR-based که با ولتاژ 5 ولت کار می کنند، خود را تطبیق دهند.
یک پین که متصل نیست و جهت کاربردهای آتی در نظر گرفته شده است.
مزایای هسته ARM
برد Due یک هسته ARM 32-bit دارد که می تواند بر بردهای میکروکنترلر 8بیتی غالب شود. برجسته ترین تفاوتهای آنها عبارتند از:
- یک هسته 32 بیتی، که عملیات را روی داده های 4 بایتی درون یک کلاک CPUی تکی فراهم می کند.
- کلاک CPU با فرکانس 84 مگاهرتز.
- 96 کیلوبایت حافظه SRAM.
- 512 کیلوبایت حافظه فلش برای کد.
- یک کنترلر DMA که می تواند جهت انجام وظایف فشرده، به CPU کمک کند.