آردوینو در مقابل رسپبریپای
در جامعه DIY (Do It Yourself), هیچ کمبودی برای طراحی کنترلکننده الکترونیکی شما بر روی پروژهتان، وجود ندارد. دو گزینه بسیار محبوب برای انجام این کار: یکی برد رسپبریپای و دیگری برد آردوینو است؛ که در این آموزش مقایسهای بین این دو برد صورت میگیرد.
برد رسپبریپای، یک سیستم روی یک چیپ (SoC) بوده و یک لینوکس فول ورژن برای آن طراحیشده است و برد آردوینو یک میکروکنترلر با پشتیبانی بسیار زیاد و چیپهای ارتقاء دهنده فراوان (شیلدها) میباشد.
هرچند، اطلاعیههای اولیه از ظهور برد رسپبریپای شاید خیلیها را به سمت اعلان منسوخ شدن آردوینو هدایت کرد، درواقع میتوان گفت که چنین اعلانی میتواند پیش از موعد باشد. حقیقت این است که هردو دستگاه استفادهها و مزیتهای متفاوتی دارند و به روشهای مختلفی به انجام میرسند. تفاوتهای بسیار خاص بین این دو برد وجود دارد که نمیتوان از آن چشمپوشی کرد. بهعنوان مثال برد آردوینو پردازنده 16MHz دارد درحالیکه پردازنده رسپبریپای 900MHz است که باعث تضعیف ویژگی بردهای آردوینو میشود.
رسپبریپای
رسپبریپای برای همه اهداف و مقاصد یک کامپیوتر تمام عملکردی مناسب است. رسپبریپای یک کامپیوتر با کارایی کامل است. این دستگاه همه ظاهر یک کامپیوتر را به همراه یک پردازنده مخصوص، حافظه و یک درایور گرافیک برای خروجی HDMI دارد. این دستگاه حتی یک ورژن مخصوص طراحیشده سیستمعامل لینوکس را اجرا میکند. این موجب میشود تا نصب بیشتر نرمافزارهای لینوکس راحت شود و به شما اجازه میدهد تا از پای بهعنوان یک دستگاه پخش رسانه یا با کمی تلاش یک نمونهساز بازی ویدیویی، استفاده کنید.
بااینکه پای حافظه داخلی ندارد، شما میتوانید از یک کارت حافظه SD بهعنوان یک حافظه فلش برای تمام سیستم استفاده کنید، این کار به شما اجازه میدهد تا بهسرعت ورژن های مختلف سیستمعامل لینوکس را برای آن استفاده کنید و یا نرمافزار را بهمنظور اشکالزدایی، بهروزرسانی کنید. همچنین، به دلیل اتصال به شبکه مستقل دستگاه، شما میتوانید آن را برای دسترسی از طریق SSH تنظیم کنید یا فایلهای آن را با استفاده از FTP انتقال دهید.
آردوینو
بردهای آردوینو میکرو کنترل هستند نه یک کامپیوتر کامل و در انواع مختلف موجود بوده که برای اطلاعات بیشتر میتوانید به "مقایسهای بر بردهای آردوینو" و "مقایسهای بر بردهای آردوینو (قسمت دوم)" مراجعه کنید. آنها سیستمعامل کاملی را اجرا نمیکنند، اما بهراحتی با نوشتن چند خط کد اجرائی بهعنوان چهارچوب، این بردها توجیه میشوند. شما دسترسی به ابزارهای پایهای که یک سیستمعامل فراهم میکند را از دست میدهید اما از طرف دیگر نوشتن کدهای ساده در این بردها راحت بوده و انجام شدن آنها دیگر نیاز به سیستمعامل ندارد.
هدف اصلی بردهای آردوینو واسط بین سنسورها و دستگاهها است؛ بنابراین، برای پروژههای سختافزاری که شما میخواهید وسیلهها بهراحتی به سنسورهای متفاوت پاسخ دهند و ورودیها بهصورت دستی وارد شوند، بسیار مناسب است. این شاید به نظر زیاد کارا نیاید اما درواقع برد آردوینو یک سیستم خیلی پیچیده است که به شما اجازه میدهد تا دستگاههای خود را بهتر مدیریت کنید. این بردها برای ارتباط با دستگاههای دیگر و با عملگرها بسیار مناسب است، درحالیکه یک سیستمعامل کامل برای مدیریت عمل ساده خواندن و دستوردادن زیادی و افراط است.
تغذیه
هر دو سیستم تغذیه کاملاً متفاوتی با یکدیگر دارند. رسپبریپای به تغذیه 5 ولت ثابت برای روشن ماندن نیاز دارد و همچنین باید از طریق نرمافزاری، مانند یک کامپیوتر قدیمی، خاموش شود. آردوینو از طرف بهمحض روشن شدن کد را اجرا میکند و برای توقف کد باید تغذیه آن را جدا کرد. برای ارتقاء عملکرد بردهای آردوینو، شما میتوانید سیم را بهطور مستقیم یا به پینهای روی برد آردوینو متصل کنید و یا به شیلدهایی که میتوانید رویهم سوار کنید وصل کنید. صدها نوع شیلد وجود دارد که برای اطلاعات بیشتر میتوانید به "فهرستی از محبوبترین شیلدهای آردوینو" و "آمادهسازی شیلدهای آردوینو و اتصال هدرها" مراجعه کنید و هرکدام از آنها برای اجرای یک فرمان متفاوت، واسط بین سنسورهای مختلف و کار با یکدیگر بهمنظور ساختن یک واحد کامل کنترلی طراحیشدهاند.
قابلیت حمل در پای یک مشکل است، تغذیه این بردها نیازمند چیزی بیشتر از اتصال آن به یک جفت باتری است. این برد نیازمند تنظیم یک منبع تغذیه و تعدادی سختافزار اضافی بهمنظور فراهم کردن توان ثابت موردنیاز آن است. این پروسه در آردوینو مقداری آسانتر است، به این صورت که شما صرفاً به مجموعهای از باتریها که ولتاژ را بالاتر از یک سطح مشخص نگه میدارند و یک شیلد پایه برای مدیریت تغذیه برد، نیاز دارید. حتی اگر توان روی آردوینو افت کند، شما با سیستمعامل معیوب یا دیگر خطاهای نرمافزاری روبرو نمیشوید. این دستگاه زمانی که مجدداً به تغذیه مناسب متصل شود دوباره شروع به کار میکند.
شبکه
پای یک پورت اترنت دارد که اجازه میدهد بهآسانی با کمی تنظیمات به هر شبکهای دسترسی داشته باشد. دستیابی به شبکه بیسیم اینترنت نیز روی پای سخت نیست، شما تنها باید یک دانگل USB بیسیم بخرید و درایور آن را نصب و راهاندازی کنید. بهمحض اینکه متصل شوید، شما میتوانید از OS برای اتصال به سرورهای شبکه، پردازش HTML و یا واردکردن اطلاعات در اینترنت استفاده کند. شما حتی میتوانید از این بهعنوان یک VPN و یا سرور پرینتر استفاده کنید.
متأسفانه آردوینو برای اتصال مستقیم به شبکه و بهطور مستقیم از خود برد آردوینو ساخته نشده است. این کار نیازمند مقداری سرهمبندی برای تنظیم کردن یک اتصال مناسب است، اما این کار امکانپذیر است. شما نیازمند یک چیپ اضافی مجهز به پورت اترنت یا شیلد اترنت هستید و به مقداری سیمکشی و کد نویسی بهمنظور سرهم کردن و راهاندازی نیاز دارید که این پروسه کافی است تا تعدادی از طراحان ورژن های سازگاری از آردوینو با یک پورت اترنت ساختهشده روی آن را ساختهاند.
سنسورها
مادامیکه هر دو برد رسپبریپای و آردوینو تعدادی از پورتهای واسط دارند، بسیار آسانتر است که سنسورها را به آردوینو متصل کرد. میکروکنترلر بهآسانی میتواند به محدوده وسیعی از دادههای سنسورها با استفاده از کدی که شما روی آن قراردادید، پاسخ دهد که این بسیار عالی است اگر شما بخواهید یک سری از فرمانها را تکرار کنید و یا به دادههای سنسور بهمنظور تنظیم کردن و فرمان دادن، پاسخ دهید.
از طرف دیگر پای نیازمند نرمافزار است تا بهطور مؤثر با این نوع از دستگاههای ارتباط برقرار کند که درواقع اگر شما تلاش کنید که تنها گیاهان را آبیاری کنید و یا نوشیدنی خودتان را در دمای مدنظرتان نگهدارید این پروسه نیاز به نرمافزار آن چیزی نیست که شما نیاز دارید. اشکالی ندارد که از هر دو برد در یک پروژه استفاده کنید، به این صورت که قبل از آنکه اطلاعات سنسور برای ضبط یا پاسخ دادن بازخورد داده شود، به کمک دستورات نرمافزارهای برد رسپبریپای، برد آردوینو بهعنوان برد کنترلی عمل کند.
انتخاب نهایی
بنابراین کدام دستگاه برای شما مناسبتر است؟ این سؤال پاسخ روشنی ندارد چراکه بهشدت به نوع پروژه شما بستگی دارد.
چه زمانی شما باید آردوینو انتخاب کنید؟ زمانی که وظیفه اصلی پروژه شما خواندن اطلاعات سنسور و تغییر مقادیر موتورها یا دیگر دستگاهها باشد. توان پایین آردوینو و هزینه تعمیر و نگهداری پایین آن باعث شده تا این برد یک انتخاب خوب برای زمانی باشد که دستگاه شما بهطور ثابت کار میکند و نیازمند مداخله خیلی کم و یا حتی بدون مداخله خارجی باشد.
چه زمانی شما باید به سمت رسپبریپای بروید؟ زمانی که شما برخلاف حالت قبل پروژه خود را با یک کامپیوتر شخصی کامل میکنید. اگر بخواهید به اینترنت متصل شوید و دادهها را بخوانید و بنویسید، هر نوع مدیایی ببینید و یا به یک نمایشگر خارجی متصل شوید، پای باعث میشود که تعداد عملیات بهراحتی مدیریت شود.
بهترین راه استفاده از هردو دستگاه این است که به هرکدام از دستگاهها وظیفههای متفاوتی برای انجام بدهیم. راههای زیادی برای اتصال هردو دستگاه وجود دارد که مثلاً میتوان توسط برد رسپبریپای به تنظیمات و کدها دسترسی داشت درحالیکه برد آردوینو برای جمعآوری اطلاعات از سنسورها و راهاندازی عملگرها و دستگاهها مورداستفاده قرار بگیرد.
بهاینترتیب با این آموزش امیدواریم تفاوت بین این دو برد برایتان تا حدی مشخصشده باشد و بتوانید متناسب با نیاز و پروژه در دسترستان برد موردنظر خور را انتخاب کنید.
نویسنده
عباس بطالبلو کارشناس ارشد رشته مهندسی مکاترونیک از دانشگاه صنعتی خواجه نصیرالدین طوسی و عضو گروه رباتیک جراح آزمایشگاه ارس (ARAS) هستند. موضوع پایان نامه کارشناسی ارشد ایشان در زمینه ی «طراحی و پیاده سازی ربات ۲RT برای جراحی از دور چشم» بوده است. ایشان سابقه پیاده سازی و ساخت ربات هایی چون ربات موازی جراحی چشم، ربات سری SCARA، ربات Palletizer و … را دارند.