آردوینو (Arduino) یک پلتفرم سختافزاری و نرمافزاری اوپن سورس است. پلتفرم آردوینو شامل یک میکروکنترلر تکبردی اوپن سورس است که قسمت سختافزار آردوینو را تشکیل میدهد. علاوه بر این، پلتفرم آردوینو یک نرمافزار آردوینو IDE که به منظور برنامهنویسی برای بردهای آردوینو طراحی شدهاست و یک بوت لودر نرمافزاری که بر روی میکروکنترلر بارگذاری میشود را در بر میگیرد. پلتفرم آردوینو به منظور تولید سریع و ساده پروژههای سختافزاری تعاملی و ساخت وسایلی که با محیط تعامل داشته باشند طراحی شدهاست، البته بردهای آردوینو اهداف آموزشی را نیز دنبال میکنند.
اغلب بردهای آردوینو که تمام آنها سختافزار متنباز هستند بر پایه میکرو کنترلر ایویآر اتمل و تعداد کمی از بردهای آردوینو بر پایه میکروکنترلرهای آرم اتمل طراحی شدهاند. به عنوان مثال برد آردوینو UNO که پرکاربردترین برد آردوینو و برد پایه آردوینو در اکثر دورههای آموزش آردوینو است و بر پایه میکروکنترلر AVR ATmega328 ساخته شدهاست، دارای رابط یواسبی جهت بارگذاری برنامه و ارتباط با کامپیوتر، ۶ پین ورودی آنالوگ و همچنین ۱۴ پین ورودی/خروجی دیجیتال است که شما را قادر میسازند تا برد آردوینو را به قطعات، سنسورها، بردها و ماژولهای دیگری متصل کنید. تعداد ورودی خروجیهای آنالوگ و دیجیتال در مدلهای مختلف بردهای آردوینو با توجه به میکروکنترلر اصلی استفاده شده بر روی برد متفاوت است.
آردوینو میتواند جهت طراحی و ساخت سریع و آسان وسایل تعاملی مورد استفاده قرار گیرد. به عنوان مثال فرض کنید شما دوست دارید وسیلهای داشته باشید که با استفاده از گوشی موبایلتان بتوانید چراغ اتاقتان را خاموش و روشن کنید. یا دوست دارید زمانی که اتاق شما گرم میشود کولر اتاقتان روشن شود و شبها که دمای اتاق پایین میآید کولر اتاق شما به صورت خودکار خاموش شود! اینها وسایل تعاملی هستند که آردوینو به ساخت سریع و بی درد سر آنها کمک میکند. برد آردوینو میتواند مقادیر ورودی را از تعداد زیادی سنسور و کلید و… بخواند و بر اساس برنامه ای که درون آن بارگذاری شدهاست تصمیم بگیرد و خروجی خاصی که میتواند کنترل تعدادی لامپ، موتور و … را برای شما انجام دهد. آردوینو در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و ساده برای برنامهنویسی اشیایی تعاملی ایجاد شد. آردوینو به همراه یک محیط یکپارچه توسعه نرمافزار (IDE) ساده ارائه میشود که در رایانههای عادی قابل اجرا است که اجازه برنامهنویسی به کمک C یا C++ را برای آردوینو میدهد.
آردوینو میتواند پارامترهایی مانند نور محیط، کلیدها یا حتی یک ایمیل را به عنوان ورودی دریافت نماید و بعد از پردازش، خروجیهایی مانند روشن کردن یک وسیله برقی، تغییر رنگ LED ها یا ارسال یک ایمیل یا نظیر آن را ارائه دهد.
پلتفرم آردوینو شامل نرمافزار و سختافزار اوپن سورس میشود. سختافزار آردوینو متشکل از بردهای مختلفی بر پایه میکرو کنترلرهای مختلف است که پر مصرفترین سختافزار آردوینو، Arduino UNO است که از میکرو کنترلر Atmega328 استفاده میکند و در بسیاری از پروژههای دانشجویی، رباتیک و پروژههای تحقیقاتی کاربرد دارد.
تاریخچه
ایده ساخت آردوینو در سال ۲۰۰۳ میلادی در انستیتو طراحیتعاملی ایورئا در کشور ایتالیا شکل گرفت. ایده عبارت بود از ساخت وسیلهای ساده و کمهزینه برای انجام پروژههای دیجیتال دانشجویان، بهخصوص آنهایی که آشنایی چندانی با اصول مهندسی و برنامهنویسی ندارند. سه فرد کلیدی در به ثمر نشاندن این ایده نقش داشتند:
هرناندو باراگان، ماسیمو بانزی، و کیسی ریس.
باراگان یکی از دانشجویان انستیتو ایورئا بود که تصمیم گرفت پایاننامه کارشناسی ارشد خود را در این زمینه اجراء نماید. بانزی و ریس نیز استادان راهنمای پایاننامه باراگان بودند. تا آن زمان هنوز اسمی از آردوینو در میان نبود. نتیجه پایاننامه باراگان بسیار موفقیتآمیز بود و منجر به ایجاد سختافزار و نرمافزاری شد که وایرینگ نام گرفت. سختافزار وایرینگ ویژگیهای مورد نظر را نسبت به سایر نمونههای موجود در بازار آن زمان داشت یعنی ساده و کمهزینه بود. نرمافزار وایرینگ نیز بر مبنای یکی از زبانهای برنامهنویسی موجود به نام پراسسینگ تهیه شده بود.
پس از اتمام پایاننامه، بانزی درصدد کاهش هزینههای سختافزار وایرینگ برآمد و در سال ۲۰۰۵ میلادی با همکاری دیوید کوآرتلس و دیوید ملیس (که بهترتیب کارمند و دانشجوی انستیتو ایورئا بودند)، به توسعه پروژه وایرینگ پرداخت و نام آن را به آردوینو تغییر داد. این نام جدید برگرفته از نام کافهای به نام آردوین در شهر ایورئا بود که اکثر جلسات گروه در آنجا تشکیل میشد. واژه آردوین، نام یکی از شاهزادگان قدیم ایتالیا است که زمانی حکمران شهر ایورئا بود و در قرن یازدهم میلادی به پادشاهی ایتالیا رسید.
نرمافزار آردوینو
آردوینو، یک نرمافزار اوپن سورس اختصاصی برای برنامهنویسی بردهای خود تهیه کردهاست که به نام نرمافزار آردوینو IDE (محیط توسعه یکپارچه آردوینو) شناخته میشود. نرمافزار آردوینو بدون نیاز به پروگرامر میتواند مستقیماً میکرو کنترلر شما را برنامهریزی نماید. امکاناتی مانند ترمینال سریال نیز در داخل نرمافزار آردوینو قرارداده شده تا بتوانید به وسیله ارتباط سریال و USB برنامههایی را که برای میکرو کنترلر مینویسید عیبیابی نمایید. میتوان مقادیر ADC و وضعیت پینها یا هر اطلاعات دیگری را به ترمینال سریال آردوینو فرستاد و از طریق کامپیوتر اطلاعات را از میکرو کنترلر دریافت کرد. همانطور که پیش تر اشاره شد، شیوه نگارش دستورها در این نرمافزار، تا حدود زیادی مشابه برنامهنویسی به زبان C و ++C است.
سختافزار آردوینو
همانطور که در بالا گفته شد، آردوینو از دو بخش سختافزاری و نرمافزاری تشکیل میشود. مدلهای مختلفی از بردهای سختافزاری آردوینو وجود دارد که یکی از آنها، مدل اونو است. آردوینو اونو (Arduino UNO) یکی از پرکاربردترین مدلهای سختافزار آردوینو است. در این برد، از یک میکروکنترلر ATmega328P به عنوان پردازشگر و حافظه استفاده میشود. آردوینو مدل اونو، یکی از متداولترین نمونهها برای آموزش آردوینو است. سختافزار آردوینو اونو از چهار بخش کلی زیر تشکیل میشود (شکل رو به رو):
- میکروکنترلر
- بخش تغذیه
- بخش ارتباط با رایانه
- درگاههای گروهی
منبع : ویکی پدیا