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

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

علاوه بر این، پلتفرم Arduinoیک نرم‌افزار Arduino IDE که به منظور برنامه‌نویسی برای بردهای آردوینو طراحی شده‌است و

یک بوت لودر نرم‌افزاری که بر روی میکروکنترلر بارگذاری می‌شود را در بر می‌گیرد.

 پلتفرم آردوینو به منظور تولید سریع و ساده پروژه‌های سخت‌افزاری تعاملی و ساخت وسایلی که با محیط تعامل داشته باشند طراحی شده‌است، 

البته بردهای آردوینو اهداف آموزشی را نیز دنبال می‌کنند.

اغلب بردهای Arduino که تمام آن‌ها سخت‌افزار متن‌باز هستند بر پایه میکرو کنترلر ای‌وی‌آر اتمل و تعداد کمی از بردهای Arduino بر پایه میکروکنترلرهای

 آرم اتمل طراحی شده‌اند. به عنوان مثال برد Arduino UNO که پرکاربردترین برد آردوینو و برد پایه آردوینو در اکثر دوره‌های آموزش آردوینو است

و بر پایه میکروکنترلر AVR ATmega328 ساخته شده‌است،

دارای رابط یواس‌بی جهت بارگذاری برنامه و ارتباط با کامپیوتر، ۶ پین ورودی آنالوگ و همچنین ۱۴ پین ورودی/خروجی دیجیتال است که شما

را قادر می‌سازند تا برد Arduino را به قطعات، سنسورها، بردها و ماژول‌های دیگری متصل کنید. تعداد ورودی خروجی‌های آنالوگ و

دیجیتال در مدل‌های مختلف بردهای Arduino با توجه به میکروکنترلر اصلی استفاده شده بر روی برد متفاوت است.

Arduino می‌تواند جهت طراحی و ساخت سریع و آسان وسایل تعاملی مورد استفاده قرار گیرد. به عنوان مثال فرض کنید شما دوست دارید وسیله‌ای داشته باشید

که با استفاده از گوشی موبایلتان بتوانید چراغ اتاقتان را خاموش و روشن کنید. یا دوست دارید زمانی که اتاق شما گرم می‌شود کولر اتاقتان روشن شود و

شب‌ها که دمای اتاق پایین می‌آید کولر اتاق شما به صورت خودکار خاموش شود! این‌ها وسایل تعاملی هستند که Arduino به ساخت سریع و بی درد سر آن‌ها کمک می‌کند.

برد آردوینو می‌تواند مقادیر ورودی را از تعداد زیادی سنسور و کلید و… بخواند و بر اساس برنامه ای که درون آن بارگذاری شده‌است تصمیم بگیرد

و خروجی خاصی که می‌تواند کنترل تعدادی لامپ، موتور و … را برای شما انجام دهد. Arduino در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و

ساده برای برنامه‌نویسی اشیایی تعاملی ایجاد شد. Arduino به همراه یک محیط یکپارچه توسعه نرم‌افزار (IDE) ساده ارائه می‌شود که

در رایانه‌های عادی قابل اجرا است که اجازهٔ برنامه‌نویسی به کمک سی یا سی++ را برای Arduino می‌دهد.

Arduino می‌تواند پارامترهایی مانند نور محیط، کلیدها یا حتی یک ایمیل را به عنوان ورودی دریافت نماید و بعد از پردازش،

خروجی‌هایی مانند روشن کردن یک وسیلهٔ برقی، تغییر رنگ LEDها یا ارسال یک ایمیل یا نظیر آن را ارائه دهد.

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

Arduino UNO است که از میکرو کنترلر Atmega328 استفاده می‌کند و در بسیاری از پروژه‌های دانشجویی، رباتیک و پروژه‌های تحقیقاتی کاربرد دارد.

تاریخچه

ایدهٔ ساخت Arduino در سال ۲۰۰۳ میلادی در انستیتو طراحی‌تعاملی ایورئا در کشور ایتالیا شکل گرفت. ایده عبارت بود از ساخت وسیله‌ای ساده و کم‌هزینه

برای انجام پروژه‌های دیجیتال دانشجویان، به‌خصوص آن‌هایی که آشنایی چندانی با اصول مهندسی و برنامه‌نویسی ندارند.

سه فرد کلیدی در به ثمر نشاندن این ایده نقش داشتند:

هرناندو باراگان، ماسیمو بانزی، و کیسی ریس.

باراگان یکی از دانشجویان انستیتو ایورئا بود که تصمیم گرفت پایان‌نامهٔ کارشناسی‌ارشد خود را در این زمینه اجراء نماید.

بانزی و ریس نیز استادان راهنمای پایان‌نامهٔ باراگان بودند. تا آن زمان هنوز اسمی از Arduino در میان نبود.

نتیجهٔ پایان‌نامهٔ باراگان بسیار موفقیت‌آمیز بود و منجر به ایجاد سخت‌افزار و نرم‌افزاری شد که وایرینگ نام گرفت.

سخت‌افزار وایرینگ ویژگی‌های مورد نظر را نسبت به سایر نمونه‌های موجود در بازار آن زمان داشت یعنی ساده و کم‌هزینه بود.

نرم‌افزار وایرینگ نیز بر مبنای یکی از زبان‌های برنامه‌نویسی موجود به نام پراسسینگ تهیه شده بود.

پس از اتمام پایان‌نامه، بانزی درصدد کاهش هزینه‌های سخت‌افزار وایرینگ برآمد و در سال ۲۰۰۵ میلادی با همکاری دیوید کوآرتلس

و دیوید ملیس (که به‌ترتیب کارمند و دانشجوی انستیتو ایورئا بودند)، به توسعهٔ پروژهٔ وایرینگ پرداخت و نام آن را به آردوینو تغییر داد.

این نام جدید برگرفته از نام کافه‌ای به نام آردوین در شهر ایورئا بود که اکثر جلسات گروه در آنجا تشکیل می‌شد.

واژهٔ آردوین، نام یکی از شاهزادگان قدیم ایتالیا است که زمانی حکمران شهر ایورئا بود و در قرن یازدهم میلادی به پادشاهی ایتالیا رسید.

در سریال تلویزیونی گاتهام فصل4 قسمت18 آردینو به عنوان یک قسمت از یک بمب کنترل از راه دور استفاده شد.

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

Arduino-IDE

آردوینو، یک نرم‌افزار متن باز اختصاصی برای برنامه‌نویسی بردهای خود تهیه کرده‌است که به نام نرم‌افزار آردوینو IDE (محیط توسعهٔ یکپارچه آردوینو) شناخته می‌شود.

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

آردوینو قرارداده شده تا بتوانید به وسیله ارتباط سریال و USB برنامه‌هایی را که برای میکرو کنترلر می‌نویسید عیب‌یابی نمایید.

می‌توان مقادیر ADC و وضعیت پین‌ها یا هر اطلاعات دیگری را به ترمینال سریال آردوینو فرستاد و از طریق کامپیوتر اطلاعات را از میکرو کنترلر دریافت کرد.

همان‌طور که پیش تر اشاره شد، شیوه نگارش دستورها در این نرم‌افزار، تا حدود زیادی مشابه برنامه‌نویسی به زبان

 C و ++C است. همان‌طور که در شکل می‌بینید، محیط این برنامه از چند بخش اصلی تشکیل می‌شود:

  • منوی دستورها
  • پنجره کدنویسی
  • پنجره کامپایلر
  • اطلاعات Baud rate و port
  • Serial monitor

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

همان‌طور که در بالا گفته شد، آردوینو از دو بخش سخت‌افزاری و نرم‌افزاری تشکیل می‌شود. مدل‌های مختلفی از بردهای سخت‌افزاری آردوینو وجود دارد

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

در این برد، از یک میکروکنترلر ATmega328P به عنوان پردازشگر و حافظه استفاده می‌شود. آردوینو مدل اونو، یکی از متداول‌ترین نمونه‌ها

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

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

بخش‌های اصلی برد آردوینو (اونو)

در شکل و جدول زیر، قطعات تشکیل دهنده برد آردوینو (مدل اونو-نسخه ۳) معرفی شده‌اند.قطعات برد آردوینو (مدل اونو-نسخه ۳)

شماره قطعهنامقطعهمشخصه قطعهتوضیح
۱میکروکنترلرATmega328پردازش و حافظه
۲سوکت۲۸پایهسهولت تعویض میکروکنترلر
۳درگاه‌های ارتباطیپین‌هدر مادگیارتباط با پایه‌های میکروکنترلر
۴درگاه‌های ارتباطیپین‌هدر نریارتباط سریال (بدون یواس‌بی) با میکروکنترلر
۵درگاه یواس‌بیUSB port type Bارتباط یواس‌بی رایانه با میکروکنترلر
۶درگاه تغذیه۵/۵ میلی‌متراتصال فیش باتری یا آداپتور برای تغذیهٔ بورد
۷کلید فشاریتک‌سوییچریست بورد و راه‌اندازی مجدد برنامه
۸میکرو پردازشگرATmega16U2مبدّل ارتباط سریال به یواس‌بی
۹نوسان‌ساز کریستالی۱۶ مگاهرتزایجاد سیگنال زمان برای میکرو پردازشگر یواس‌بی
۱۰نوسان‌ساز سرامیکی۱۶ مگاهرتزایجاد سیگنال زمان برای میکروکنترلر آردوینو(یک خازن ۱۰ پیکوفاراد نیز داخل قطعه تعبیه شده‌است)
۱۱مقاومت۱ مگااهمحفظ تعادل نوسان در نوسان‌ساز سرامیکی
۱۲خازن۰/۱ میکروفارادحذف نویز از جریان تغذیهٔ میکروکنترلر
۱۳خازن۴۷ میکروفارادفیلتر جریان تغذیهٔ خروجی
۱۴خازن۴۷ میکروفارادفیلتر جریان تغذیهٔ ورودی
۱۵دیودMRA4007T3Gمحافظت از مدار در مقابل ولتاژ معکوس‌ تغذیه
۱۶تنظیم‌کنندهٔ ولتاژLD1117S50TRتنظیم ولتاژ ورودی به آردوینو
۱۷فیوزMF-MSMF050-2فیوز درگاه یواس‌بی، ۵۰۰ میلی‌آمپر
۱۸ترانزیستورFDN340Pسوییچ بین درگاه‌تغذیه و یواس‌بی (برای تغذیهٔ بورد)
۱۹آی‌سیLMV358کنترل‌کنندهٔ ترانزیستور ۱۸
۲۰خازن۱ میکروفارادفیلتر برای آی‌سی ۱۹
۲۱تنظیم‌کنندهٔ ولتاژLP2985تنظیم‌کنندهٔ ولتاژ ۳/۳ ولت

۲۲خازن۲/۲ میکروفارادفیلتر ولتاژ خروجی از LP2985
۲۳نویزگیر فریتBLM21فیلتر حذف‌کنندهٔ نویزهای محیطی فرکانس‌بالا
۲۴دیود1N4148W-7-Fکنترل نوسانات ولتاژ در زمان ریست
۲۵خازن۱ میکروفارادرابط پایه‌های Ucap و GND پردازشگر یواس‌بی
۲۶واریستورCG0603MLCجلوگیری از ورود الکتریستهٔ ساکن
۲۷مقاومت آرایه‌ای۲۲ اهمحفاظت از درگاه‌های تبادل اطلاعات یواس‌بی
۲۸واریستورCG0603MLCجلوگیری از ورود الکتریستهٔ ساکن
۲۹درگاه دسترسیامکان دسترسی به پایه‌های PB4 تا PB7 ازآی‌سی ATmega16U2 را فراهم می‌سازد
۳۰خازن۰/۱ میکروفارادحذف نویز از جریان تغذیهٔ میکرو پردازشگر
۳۱خازن۲۲ پیکوفارادخازن نوسان‌ساز کریستالی
۳۲مقاومت۱ مگااهمحفظ تعادل نوسان در نوسان‌ساز کریستالی
۳۳خازن۲۲ پیکوفارادخازن نوسان‌ساز کریستالی
۳۴خازن۰/۱ میکروفارادحذف نویز از ولتاژ ورودی مبنا
۳۵ال‌ای‌دیزردال‌ای‌دی چشمک‌زن قابل برنامه‌ریزی
۳۶مقاومت آرایه‌ای۱ کیلواهممحافظت از ال‌ای‌دی‌های ۳۵، ۳۷ و ۳۸
۳۷ال‌ای‌دیزردنشان‌گر تبادل داده‌های سریال (خروج)
۳۸ال‌ای‌دیزردنشان‌گر تبادل داده‌های سریال (ورود)
۳۹خازن۰/۱ میکروفارادحذف نویز برای میکرو پردازشگر
۴۰خازن۰/۱ میکروفارادارسال پالس ریست از ATmega16U2 به ATmega328
۴۱اتصاللحیماگر قطع شود، آردوینو ریست خودکار نمی‌شود
۴۲مقاومت آرایه‌ای۱۰ کیلواهممقاومت ریست میکروکنترلر
۴۳ال‌ای‌دیسبزنشان‌گر روشن/خاموش آردوینو
۴۴مقاومت آرایه‌ای۱ کیلواهمتبادل داده‌های سریال
۴۵دیودcd1206کنترل نوسانات ولتاژ در زمان ریست

بازنشسته‌ها

بردهای این دسته بازنشسته شده‌اند؛ یعنی دیگر توسط شرکت سازنده اصلی آن تولید نمی‌شوند.

  • آردوینو یون (Arduino YUN)
  • آردوینو دیو (Arduino DUE)
  • آردوینو مگا ADK (Arduino MEGA ADK)
  • آردوینو روبوت (Arduino ROBOT)
  • آردوینو اترنت (Arduino ETHERNET)
  • آردوینو لئوناردو (Arduino LEONARDO)
  • آردوینو اسپلورا (Arduino ESPLORA)
  • آردوینو مینی (Arduino MINI)
  • آردوینو فیو (Arduino FIO)

یک پیام بگذارید