آردوینو

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

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

آردوینو می‌تواند جهت طراحی و ساخت سریع و آسان وسایل تعاملی مورد استفاده قرار گیرد. به عنوان مثال فرض کنید شما دوست دارید وسیله‌ای داشته باشید که با استفاده از گوشی موبایلتان بتوانید چراغ اتاقتان را خاموش و روشن کنید. یا دوست دارید زمانی که اتاق شما گرم می‌شود کولر اتاقتان روشن شود و شب‌ها که دمای اتاق پایین می‌آید کولر اتاق شما به صورت خودکار خاموش شود! این‌ها وسایل تعاملی هستند که آردوینو به ساخت سریع و بی درد سر آن‌ها کمک می‌کند. برد آردوینو می‌تواند مقادیر ورودی را از تعداد زیادی سنسور و کلید و… بخواند و بر اساس برنامه ای که درون آن بارگذاری شده‌است تصمیم بگیرد و خروجی خاصی که می‌تواند کنترل تعدادی لامپ، موتور و … را برای شما انجام دهد. آردوینو در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و ساده برای برنامه‌نویسی اشیایی تعاملی ایجاد شد. آردوینو به همراه یک محیط یکپارچه توسعه نرم‌افزار (IDE) ساده ارائه می‌شود که در رایانه‌های عادی قابل اجرا است که اجازهٔ برنامه‌نویسی به کمک سی یا سی++ را برای آردوینو می‌دهد.

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

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

تاریخچه 
ایدهٔ ساخت آردوینو در سال ۲۰۰۳ میلادی در انستیتو طراحی‌تعاملی ایورئا در کشور ایتالیا شکل گرفت. ایده عبارت بود از ساخت وسیله‌ای ساده و کم‌هزینه برای انجام پروژه‌های دیجیتال دانشجویان، به‌خصوص آن‌هایی که آشنایی چندانی با اصول مهندسی و برنامه‌نویسی ندارند. سه فرد کلیدی در به ثمر نشاندن این ایده نقش داشتند:

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

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

پس از اتمام پایان‌نامه، بانزی درصدد کاهش هزینه‌های سخت‌افزار وایرینگ برآمد و در سال ۲۰۰۵ میلادی با همکاری دیوید کوآرتلس و دیوید ملیس (که به‌ترتیب کارمند و دانشجوی انستیتو ایورئا بودند)، به توسعهٔ پروژهٔ وایرینگ پرداخت و نام آن را به آردوینو تغییر داد. این نام جدید برگرفته از نام کافه‌ای به نام آردوین در شهر ایورئا بود که اکثر جلسات گروه در آنجا تشکیل می‌شد. واژهٔ آردوین، نام یکی از شاهزادگان قدیم ایتالیا است که زمانی حکمران شهر ایورئا بود و در قرن یازدهم میلادی به پادشاهی ایتالیا رسید.

نرم‌افزار آردوینو 
آردوینو، یک نرم‌افزار متن باز اختصاصی برای برنامه‌نویسی بردهای خود تهیه کرده‌است که به نام نرم‌افزار آردوینو IDE (محیط توسعهٔ یکپارچه آردوینو) شناخته می‌شود. نرم‌افزار آردوینو بدون نیاز به پروگرامر می‌تواند مستقیماً میکرو کنترلر شما را برنامه‌ریزی نماید. امکاناتی مانند ترمینال سریال نیز در داخل نرم‌افزار آردوینو قرارداده شده تا بتوانید به وسیله ارتباط سریال و USB برنامه‌هایی را که برای میکرو کنترلر می‌نویسید عیب‌یابی نمایید. می‌توان مقادیر ADC و وضعیت پین‌ها یا هر اطلاعات دیگری را به ترمینال سریال آردوینو فرستاد و از طریق کامپیوتر اطلاعات را از میکرو کنترلر دریافت کرد. همان‌طور که پیش تر اشاره شد، شیوه نگارش دستورها در این نرم‌افزار، تا حدود زیادی مشابه برنامه‌نویسی به زبان C و ++C است. همان‌طور که در شکل می‌بینید، محیط این برنامه از چند بخش اصلی تشکیل می‌شود:
 منوی دستورها
 پنجره کدنویسی
 پنجره کامپایلر
 اطلاعات :باد (یکا) rate و port
 Serial monitor

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

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

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

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

امروزه ماژول‌های متفاوتی در بازار وجود دارد و هر فردی با توجه به نیازی که دارد می‌تواند از آنها استفاده کند

برخی از ماژول‌ها رو در زیر می‌توانید ببینید

ماژول بازر

ماژول دوربین

ماژول مادون قرمز

ماژول ژیروسکوپ

ماژول تشخیص دود

ماژول تشخیص آتش‌سوزی

ماژول بلوتوث

ماژول وای فای

ماژول رله

ماژول میکروفن

و…

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

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

بازنشسته‌ها 
بردهای این دسته بازنشسته شده‌اند؛ یعنی دیگر توسط شرکت سازنده اصلی آن تولید نمی‌شوند.
 آردوینو یونو (Arduino UNO)
 آردوینو دیو (Arduino DUE)
 آردوینو مگا ADK (Arduino MEGA ADK)
 آردوینو روبوت (Arduino ROBOT)
 آردوینو اترنت (Arduino ETHERNET)
 آردوینو لئوناردو (Arduino LEONARDO)
 آردوینو اسپلورا (Arduino ESPLORA)
 آردوینو مینی (Arduino MINI)
 آردوینو فیو (Arduino FIO)

 آردوینو GSM شیلد (Arduino GSM SHIELD)
 آردوینو اترنت شیلد (Arduino ETHERNET SHIELD)
 آردوینو وای‌فای شیلد (Arduino WIFI SHIELD)
 آردوینو USB هاست شیلد (Arduino USB HOST SHIELD)
 آردوینو موتور شیلد (Arduino MOTOR SHIELD)
 آردوینو وایرلس SD شیلد (Arduino WIRELESS SD SHIELD)
 آردوینو وایرلس پروتو شیلد (Arduino WIRELESS PROTO SHIELD)
 آردوینو LCD نمایشگر (Arduino LCD SCREEN)
 نگارخانه

منابع

پیوند به بیرون 
 وبسایت رسمی
 کلید آردوینو (کتاب آموزشی)

آردوینو
اختراع‌های ایتالیا
اینترنت چیزها
رایانه‌های یک‌بردی
ریزکنترل‌گرها
معرفی‌شده‌های ۲۰۰۵ (میلادی)
معرفی‌شده‌های مرتبط با رایانه در ۲۰۰۵ (میلادی)
مقالات نیازمند به پیوند
ویکی‌سازی رباتیک