Arduino یک برد منبع باز(Open-Source) مناسب برای نمونه سازی میباشد و بر اساس سختافزار و نرمافزار منعطف و ساده پایه ریزی و طراحی شده است. اگر شما دانشجو، هنرمند، طراح و یا علاقهمند به سرگرمی و یا ایجاد سیستمهای تعاملی هستید حتی با تجربه و دانش بسیار اندک در حوزه الکترونیک میتوانید از آردوینو برای ایجاد پروژه خود استفاده نمایید! آردوینو میتواند محیط اطرف را با استفاده از سنسورهای مختلف احساس کند! میتواند بر محیط اطراف خود با استفاده از لامپها، موتورها و سایر محرکها تاثیر گزاری کند. میکروکنترل بکار رفته بر روی برد آردوینو بر اساس زبان برنامه نویسی آردوینو و محیط ویژه کدنویسی آن برنامه ریزی شده است و شما برای کد نویسی به هیچ نرمافزار جانبی و یا کامپایلر دیگری نیاز ندارید. پروژهای آردوینو میتوانند به صورت stand-alone و یا مرتبط با سایر نرمافزارهای کامپیوتر شخصی شما باشد. برای مثال شما میتوانید فرمانهای خود را برای کنترل موتورها از طریق پورت USB ارسال نموده و یا دادههای سنسورها را نیز از همین پورت دریافت نمایید. طرحهای مرجع سختافزار برد نیز تحت لایسنس open-source قابل دسترس میباشد و شما آزادانه میتوانید آن را مطابق با نیازهای خود تغییر دهید.
برد Arduino را می توانید به انواع مختلف سنسورها، درایورها، نمایشکرها و... متصل کنید و با استفاده از یک نرم افزار بیسار ساده و توابع کاملا آماده، به سرعت پروژه نهایی خود را بدون نگرانی از دسترس بودن توابع ارتباطی با ماژولها به انجام برسانید.
برای کار با این بردها کافیست کمی از الکترونیک سر درآورید و کمی هم از برنامه نویسی.
تاریخچه
در سال 2005 پروژه ای در راستای ساخت یک وسیله برای کنترل پروژه های الکترونیکی و تعاملی طراحی شده توسط دانشجویان که دارای قیمت بمراتب پایین تری نسبت به نمونه های مشابه باشد توسط دو دانشجوی ایتالیایی پایه گذاری شد. طراحان این پروژه (همان دو دانشجو) نام پروژه را آردوئینو قرار دادند و تولید بردها در یک کارخانه کوچک آغاز شد.
سخت افزار

یک برد ساده Arduino شامل یک میکروکنترلر 8 بیتی avr با تعدادی قطعات جانبی برای ارتباط با مدارات دیگر می باشد. مهمترین شاخصه ای که بردهای Arduino دارند دارا بودن روشهای استاندارد برای اتصال آسان لوازم جانبی به آن است که cpu را قادر می سازد تا با انواع ماژولهای جانبی که شیلد (Shield) نامیده می شود ارتباط برقرار کند. بعضی از انواع شیلدها مستقیما با پینهای I/O برد در اتصال هستند و بعضی دیگر از طریق واسطهایی مانند I2C. در بردهای Arduino از میکروکنترلرهای سری Mega مانندAtmega8, Atmega168, Atmega328, Atmega1280 و Atmega2560 استفاده شده است. اما بردهایی با پردازنده هایی مانند ARM و Xmega و میکروهای دیگری از خانواده Mega نیز وجود دارند. بیشتر بردها دارای ولتاژ کاری 5 ولت و کریستال 16 MHz هستند همچنین بردهای Arduino همراه با یک برنامه Boot Loader بر روی میکروکنترلر برد اصلی ارائه شده اند که می توان بر خلاف سایر بردهای موجود بدون نیاز به پروگرامر و تنها از طریق یک کابل USB و در بعضی از بردها پورت سریال، برنامه اصلی را روی میکرو بارگذاری نمود.
Shield ها
ماژولهای جانبی که به Arduino متصل می شوند، شیلد (Shield)
نامیده می شود
Arduino
و بردهای مبتنی بر آن قابلیت کار با انواع شیلدها را دارا
هستند و این شیلدها براحتی قابل نصب بر روی پین هدرهای برد اصلی می باشند. کنترلر
انواع استپ موتور،سرو موتور،GPS ، EtherNet، نمایشگرهای LCD و...
نمونه هایی از شیلدهای Arduino می باشند که این Shield ها
همراه با کتابخانه های بسیار کامل و با روش استفاده آسان ارائه شده اند.
برنامه نویسی
محیط برنامه نویسی
آردوئینو (IDE) یک کامپایلر چندگانه(cross-compiler) که با زبان برنامه نویسی جاوا نوشته شده است. این کامپایلر
برای آشنایی مبتدیان و علاقه مندانی که با برنامه نویسی در محیط نرم افزار های
توسعه پیشرفته نا اشنا هستند بسیار مناسب است. این نرم افزار قابلیت کامپایل کردن
و بارگذاری برنامه روی برد اصلی را تنها با یک کلیک میسر می کند. به طور معمول
هنگام استفاده از این کامپایلر احتیاجی به ویرایش makefile و یا اجرای برنامه ها از طریق Commond برای تنظیم فیوز بیتها و غیره نمی
باشد. برنامه
ها و کدها در اردوئینو Sketch نامیده می شوند.
برنامه های Arduino تحت زبان C یا C++ نوشته می شوند. کتابخانه هایی که همراه نرم افزار نصب می شوند اکثر
عملیاتهای ورودی و خروجی مانند خواندن و نوشتن روی پورتها، خواندن از ADC
، استفاده از PWM و... را بسیار آسان می کنند. کاربر تنها به تعریف دو تابع
برای ساخت یک برنامه تکرار شونده احتیاج دارد:
تابع setup() : تابعی که در ابتدای برنامه یکبار
برای تنطیمات اولیه احضار می شود
تابع loop() : تابعی که
تا زمانی که تغذیه برد برقرار است مرتبا تکرار می شود
در زیر یک نمونه از
یک برنامه ابتدایی که چشمک زن ساده می باشد را مشاهده می فرمایید:
#define LED_PIN 13
void setup ()
{
pinMode (LED_PIN, OUTPUT); // enable pin 13 for
digital output
}
void loop () {
digitalWrite (LED_PIN, HIGH); // turn on the LED
delay (1000);
// wait one second (1000
milliseconds)
digitalWrite (LED_PIN, LOW); // turn off the LED
delay (1000);
// wait one second
}

جهت اطلاعات بیشتر: www.arduino.ir
منبع: www.maxelectronic.ir
