آردوینو (Arduino) چیست؟

آردوینو (Arduino) یک پلتفرم متن‌باز است که شامل دو قسمت سخت افزاری و نرم افزاری است.

سخت‌افزار آردوینو

سخت افزار آردوینو شامل یک میکروکنترلر تک‌بردی متن‌باز است. مدل‌های مختلفی از بردهای سخت‌افزاری آردوینو وجود دارد که اغلب بر پایه میکروکنترلرهای ATMEL AVR و تعداد کمی بر پایه میکروکنترلرهای ATMEL ARM طراحی شده‌اند.

یکی پرکاربردترین مدل ها‌ ، بنام آردوینو اونو (Arduino UNO) است که در آن از میکروکنترلر ATmega328P به عنوان پردازشگر و حافظه استفاده می‌شود و از چهار بخش کلی زیر تشکیل می‌شود:

  1. میکروکنترلر
  2. بخش تغذیه
  3. بخش ارتباط با رایانه
  4. درگاه‌های گروهی

برد آردوینو UNO دارای رابط USB جهت اتصال با کامپیوتر و بارگذاری برنامه، ۶ پین ورودی آنالوگ و ۱۴ پین ورودی/خروجی دیجیتال است و از طریق آن، برد آردوینو به قطعات، سنسورها، بردها و ماژول‌های دیگری متصل می شود. تعداد ورودی خروجی‌های آنالوگ و دیجیتال در مدل‌های مختلف بردهای آردوینو با توجه به میکروکنترلر اصلی استفاده شده بر روی برد متفاوت است.

ماژول برد آردوینو UNO مدل DIP

ماژول برد آردوینو UNO مدل DIP

نرم ‌افزار آردوینو

آردوینو، یک نرم‌ افزار متن باز اختصاصی برای برنامه‌نویسی بردهای خود به نام نرم ‌افزار آردوینو IDE تهیه کرده‌ است. نرم‌ افزار آردوینو بدون نیاز به پروگرامر می‌تواند مستقیما میکرو کنترلر را برنامه‌ریزی نماید. امکاناتی مانند ترمینال سریال نیز در داخل نرم‌ افزار آردوینو قرارداده شده تا بتوان به وسیله ارتباط سریال و USB برنامه‌هایی را که برای میکرو کنترلر نوشته می شود عیب‌یابی کرد.

زبان برنامه نویسی دستورها در این نرم‌افزار، تا حدود زیادی مشابه برنامه‌نویسی به زبان C و ++C است.

ماژول‌ها و شیلدهای آردوینو

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

  • ماژول

معمولاً به مجموعه ای یکپارچه از یک برد مدارچاپی، تعدادی قطعه الکترونیک و یک حسگر یا عملگر، ماژول گفته می‌شود. ماژول با استفاده از سیم رابط به پین‌های برد آردوینو وصل می‌شود.

  • شیلد

 به برد الکترونیکی که مستقیما از طریق پین‌های آن بر روی برد آردوینو سوار می‌شود شیلد گفته می‌شود و قابلیت‌های آن را افزایش می‌دهد. راه‌اندازی شیلدها معمولاً آسان است ولی ممکن است نیاز به نصب کتابخانه آنها در نرم‌افزار آردوینو IDE باشد.

از مهم ترین کاربرد شیلد این است که استفاده از سیم را به حداقل ممکن می رساند. تنوع و گستردگی شیلد های مخصوص برد آردوینو بسیار زیاد است و انواع و اقسام شیلد برای ماژول های مختلف وجود دارد.

لیست بعضی از شیلدهای آردوینو در زیر آمده‌ است:

  • شیلد XBeeبرای ارتباط بی‌سیم
  • شیلد شبکه اترنت
  • شیلد WiFi
  • شیلد سیم‌کارت
  • شیلد GPS
  • شیلد کنترل موتور
  • شیلد CNC
  • شیلد اهرمک(جوی استیک)
  • شیلد کارت حافظه
  • شیلد MP3 Player
  • شیلد دوربین
  • شیلد صفحه نمایش
  • شیلد RFID و NFC
  • شیلد باتری
  • شیلد برد بورد و نمونه سازی

بوت لودر آردوینو

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

چرا آردوینو؟

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

آردوینو  کلیه ابزارها و جزئیاتی برنامه نویسی میکروکنترلر را در یک پکیج easy-to-use جمع بندی کرده است. برد آردوینو فرایند کار با میکروکنترلرها را آسان می کند.

مزیت های مهم آردوینو

  • در مقایسه با سایر پلت فرم های میکروکنترلرها ارزان تر هستند.
  • مستقل از سیستم عامل هستند و نرم افزار آردوینو روی سیستم های عامل ویندوز، مکینتاش OSX و لینوکس اجرا می شود. اکثر سیستم های میکروکنترلر منحصر به ویندوز شده اند.
  • محیط برنامه نویسی شفاف و ساده ای دارند.
  • نرم افزار قابل توسعه و open-source آن برای توسعه توسط برنامه نویسان با تجربه موجود می باشد. این زبان می تواند از طریق کتابخانه های ++C گسترش یابد.