تاریخچه آردوینو
آردوینو در سال ۲۰۰۳ در کشور ایتالیا، با هدف ایجاد ابزار هایی ارزان و ساده برای ساخت آسان پروژه های دیجیتال توسط افراد غیر متخصص طراحی شد .
آردوینو در ابتدا ابزاری برای کمک به آموزش برنامهنویسی و توسعه الکترونیک دیجیتال بود. اما با توجه به سادگی و انعطاف پذیری ویژه ای که داشت توانست به سرعت جای خود را در میان علاقه مندان پیدا کند.
با توجه به اینکه امکان پشتیبانی از میکروکنترلر ارزان تر ATMEGA8 برای آردوینو یک برتری نسبت به وایرینگ به شمار می رفت، آردوینو به سرعت وایرینگ را پشت سر گذاشت و در تمام جهان به محبوبیت رسید. هم اکنون میلیون ها نفر در سراسر جهان از آردوینو برای ساختن وسایل دیجیتال در زمینه های مختلف از یادگیری الکترونیک، آب دادن به گلدان ها، ساخت کوادکوپتر، ساخت پرینتر سه بعدی، ساخت دستگاه های IoT و ساخت وسایل دلخواه گرفته تا دستگاه های خاص در آزمایشگاه ها و دستگاه های تحقیقاتی و صنعتی استفاده می کنند.
آردوینو دقیقا چیست ؟
با اینکه گفته شد آردوینو ( Arduino ) یک پلتفرم متن باز الکترونیک برای ساختن آسان وسایل دیجیتال است اما با این حال ممکن است همچنان تصویر درستی از اینکه آردوینو چیست نداشته باشید. در این قسمت کمی مفصل تر در مورد پلتفرم آردوینو صحبت خواهیم کرد.
پیش از شروع بهتر است بدانید پلتفرم آردوینو شامل ۳ رکن اساسی زیر است:
-
بوت لودر آردوینو (Arduino BootLoader)
-
رابط برنامه نویسی آردوینو (Arduino IDE)
-
سخت افزار آردوینو یا برد آردوینو (Arduino Board)
بوت لودر آردوینو چیست ؟
اگر قبل از این تجربه ی کار با میکروکنترلر های AVR را داشته باشید حتما می دانید برای اینکه بتوانید برنامه های کامپایل (Compile) شده را از کامپیوتر به میکروکنترلر انتقال دهید باید از دستگاهی به نام پروگرمر (Programmer) برای برنامه ریزی میکروکنترلر استفاده نمایید. اما هدف اصلی پروژه وایرینگ که در حقیقت پروژه ی مادر آردوینو است فراهم کردن ابزار هایی ارزان و آسان برای توسعه پروژه های الکترونیکی بوده است. امروزه به لطف کشور چین تهیه پروگرامر های کپی و غیر اصل چیزی در حدود ۱۰ تا ۳۰ دلار هزینه خواهد داشت این رقم در سال های گذشته برای پروگرامر های اصلی چیزی در حدود ۱۰۰ دلار بوده است.
از سوی دیگر استفاده از پروگرامر ها همواره به سادگی امکان پذیر نیست و ممکن است پیچیدگی کار را برای استفاده کنندگان بیشتر کند. بنابراین توسعه دهندگان آردوینو از برنامه ای به نام بوت لودر ( BootLoader ) برای حل این مشکل استفاده می کنند. بوت لودر آردوینو یک برنامه ی بسیار کم حجم است که بر روی میکروکنترلر قرار می گیرد و این امکان را فراهم می کند تا نرم افزار آردوینو بتواند از طریق یک کابل USB میکروکنترلر را برنامه ریزی کند.
زمانی که یک برد آردوینو خریداری می کنید، در حقیقت بوت لودر آردوینو قبلا در کارخانه سازنده بر روی میکروکنترلر موجود روی برد قرار داده شده است تا شما بتوانید با استفاده از کابل USB برد آردوینو را به کامپیوتر متصل کنید. اگر به هر دلیلی بخواهید میکروکنترلر موجود روی برد را با یک میکروکنترلر جدید تعویض کنید باید بوت لودر آردوینو را از طریق یک پروگرامر بر روی Microcontroller بارگذاری کنید. البته بارگذاری بوت لودر کاری است که بیشتر توسط تولید کنندگان برد های آردوینو انجام می شود و کاربران به ندرت سراغ چنین کاری می روند. ممکن است شما سالها با آردوینو کار کنید اما هیچ وقت سر و کارتان به بوت لودر نیفتد حتی از حضور چنین چیزی مطلع نباشید!
محیط برنامه نویسی آردوینو یا Arduino IDE
همانطور که گفته شد یکی از اهداف اساسی آردوینو آسان کردن فرآیند توسعه پروژه های دیجیتال به گونه ای است که افرادی که هیچ تخصصی در زمینه الکترونیک ندارند از کودکان دبستانی که به الکترونیک و رباتیک علاقه مند هستند تا افرادی که قصد دارند یک دستگاه کوچک برای زندگی روزمره خود بسازند بتوانند به سادگی از این پلتفرم استفاده کنند. اگر با کامپایلر هایی مانند Codevision یا Bascom برای برنامه ریزی میکروکنترلر ها استفاده کرده باشید حتما می دانید که محیطی بسیار پیچیده و فنی دارند و برنامه نویسی در IDE نرم افزار های یاد شده نیازمند دانش تخصصی است.
اما آردوینو برخلاف نرم افزار های IDE پیشین با استفاده از IDE Processing نرم افزاری بسیار کاربر پسند را برای کاربران ایجاد کرده است که محیطی بسیار دوستانه را پیش روی شما قرار می دهد. در نرم افزار آردوینو خبری از پیچیدگی های فنی نیست و همه چیز به سادگی و به طرز قابل فهمی در کنار هم قرار گرفته اند تا به سادگی برای کاربرانی که حتی برای اولین بار قصد دارند یک مدار الکترونیکی درست کنند قابل فهم باشد.
علاوه بر ظاهر بسیار کاربر پسند و ساده، زبان برنامه نویسی و دستورات مورد نیاز برای نوشتن یک برنامه به طرز شگفت انگیزی ساده سازی شده است. برنامه نویسی در آردینو به قدری ساده است که اگر شما تاکنون برنامه نویسی نکرده باشید می توانید در مسیر یادگیری آردوینو به سادگی برنامه نویسی را یادبگیرید. در این محیط خبری از کارهای عجیب و غریبی که برنامه نویس ها انجام می دهند و دستورات پیچیده ای که برای انجام کارهای ساده باید نوشته شوند نیست! شما می توانید با تایپ کمتر از ۵۰ کلمه برنامه ای بنویسید که هر روز گیاهان شما را آبیاری کند. یا با همین تعداد کلمه برنامه ای بنویسید که کولر یا چراغ های خانه را به صورت اتوماتیک بر اساس اطلاعات محیطی مانند دما و میزان نور یا ساعت خاموش و روشن کند.
ساخت ربات کوچک با استفاده از آردوینو نانو
ویژگی دیگری که به شدت محبوبیت IDE و پلتفرم آردوینو را افزایش داده است، هزاران کتابخانه رایگان و آماده برای راه اندازی قطعات و وسایل جانبی متفاوت است که همگی در IDE آردوینو با یک کلیک قابل جستجو و استفاده هستند و هر روز به این کتابخانه ها افزوده می شود. فرض کنید می خواهید یک LCD را راه اندازی کنید و یک جمله را روی LCD نمایش دهید برای این کار باید هزاران خط برنامه بنویسید و به طور کامل طرز کار LCD را بدانید و کاملا بر مباحث فنی مسلط باشید. اما همه ی این کار ها قبلا انجام شده است. شما کافیست مدل LCD مورد نظرتان را در قسمت کتابخانه ها جستجو کنید و کتابخانه مربوطه را به پروژه خود اضافه کنید. حالا تنها کاری که باقی مانده است این است که به آردوینو بگویید می خواهید چه چیزی بر روی ال سی دی نمایش داده شود! و هیچ نیازی نیست که شما اطلاعات فنی و الکترونیکی از نحوه کار LCD یا … داشته باشید. آردوینو ساخته شده است تا شما به سادگی و بدون نیاز به دانش فنی بتوانید از قطعات، سنسور ها و ماژول های الکترونیکی ساخته شده استفاده کنید.
سخت افزار آردوینو
وقتی صحبت از آردوینو می شود احتمالا اولین تصویری که در ذهنمان مجسم می شود تصویری شبیه تصویر بالاست. سخت افزار آردوینو آخرین قسمت پازلی است که توسعه آن در سال ۲۰۰۳ شروع شد. سخت افزار آردوینو که به عنوان برد آردوینو شناخته می شود در واقع یک Single-Board Microcontroller است. این برد شامل یک میکروکنترلر است که بوت لودر آردوینو بر روی آن قرار داده شده است. علاوه بر این تمام قطعات مورد نیاز برای راه اندازی میکروکنترلر بر روی برد وجود دارد و شما برای استفاده از امکانات میکروکنترلر نیازی به متصل کردن قطعات الکترونیکی نخواهید داشت.
برد آردوینو UNO (اونو در لاتین به معنی یک است) یکی از پرطرفدارترین و پر استفاده ترین برد های آردوینو است که معمولا برای یادگیری آردوینو و طیف گسترده از پروژه ها مورد استفاده قرار می گیرد و در مقایسه با امکاناتی که در اختیار کاربر قرار می دهد. قیمت بسیار مناسبی دارد.
با این وجود تنوع برد های آردوینو بسیار زیاد است و در سال های اخیر نیز بر این تنوع افزوده شده است. علاوه بر این به علت متن باز بودن پلتفرم آردوینو شرکت های زیادی مانند آدافروت، اسپارک فان و … برد های متنوعی برپایه آردوینو طراحی و به بازار عرضه نموده اند.
علاوه بر برد های مبتنی بر آردوینو، تعداد بسیار زیادی شیلد آردوینو توسط طراحان و شرکت های مختلف برای اتصال سنسور ها، دستگاه ها و قطعات مختلف به برد های مختلف آردوینو توسعه داده شده است. شیلد ها برد هایی هستند که تمام قطعات لازم برای راه اندازی یک قطعه الکترونیکی خاص مانند سنسور ها، نمایشگر ها، کارت های حافظه و … را بر روی خود جای داده اند و می توانند به صورت مستقیم یا با استفاده از جامپر وایر ها به برد های آردوینو متصل شوند تا کاربر نیازی به لحیم کردن و استفاده از قطعات متفاوت نداشته باشد.
مکعب سه بعدی RGB با استفاده از Arduino
چه کسانی می توانند از آردوینو استفاده کنند؟
شاید فکر کنید آردوینو برای دانشجویان و مهندسین برق و الکترونیک یا مهندسین کامپیوتر طراحی شده است! اما اصلا این طور نیست. آردوینو اصلا برای مهندسین طراحی نشده است. آردوینو برای همه افراد علاقه مند به خلاقیت و ساختن ساخته شده است!! هر کسی با هر شغلی، ممکن است رویای ساختن یک وسیله تعاملی را در سر داشته باشد یا برای کارش به یک وسیله خاص نیاز داشته باشد که در دسترس نباشد. آردوینو اینجاست تا رویاهای شما در مورد ساخت وسایل جذاب را به واقعیت نزدیک کند. ممکن است دانش آموزی دوست داشته باشد برای خودش یک کوادکوپتر یا یک روبات بسازد، یک عکاس دوست داشته باشد یک وسیله برای تهیه عکس های تایم لپس درست کند یا شما دوست داشته باشید یک پرینتر سه بعدی روی میزکارتان داشته باشید! آردوینو اینجاست تا به شما در رسیدن به هدفتان کمک کند.
چرا آردوینو؟
حالا که متوجه شدیم آردوینو چیست ، احتمالا از خودتان می پرسید. چه چیزی باعث شده است تا آردوینو به صورت فراگیر در جهان مورد استفاده قرار بگیرد؟ سادگی و در دسترس بودن و همچنین تجربهی کاربری (User Experience) خارقالعادهی آردوینو در میلیونها پروژه و اپلیکیشن، باعث شده است تا استفاده از این پلتفرم در میان کاربران از اقشار مختلف در سراسر زمین فراگیر شود.
برخی ابزارهای تحقیقاتی که در صورت ساخت ممکن است هزینههای زیادی را روی دست دانشجویان و اساتید بگذارد با استفاده از آردوینو به راحتی قابل نمونه سازی هستند. موزیسینها از این تجهیزات برای تولید دستگاههای موسیقی جدید استفاده میکنند و موسیقی الکترونیک با تغییر و تنظیم این میکروکنترلرها سازهای تازهای را به وجود میآورد. آردوینو یک ابزار کلیدی برای یادگیری چیزهای تازه به دانشآموزان، کودکان و دانشجویان است.
پلتفرمهای دیگری نیز وجود دارند که عملکردی مشابه آردوینو دارند. Parallax Basic Stamps، Netmedia BX 24، MIT Handyboard، Micro Bit مواردی از این دست هستند. اما هیچکدام به اندازه پلتفرم آردوینو به موفقیت دست نیافته اند.
مزایای آردوینو نسبت به سایر پلتفرم ها
-
ارزان قیمت بودن و سادگی: ارزان بودن و سادگی از روز های اول دو هدف اصلی پروژه آردوینو بوده اند و همین دو ویژگی یکی از دلایل اصلی محبوبیت فوق العاده پلتفرم آردوینو به شمار می رود.
-
Cross-Platform: نرمافزار آردوینو بر روی سیستم عاملهای لینوکس، ویندوز و مک قابل دسترسی است. علاوه بر این اخیرا آردوینو اقدام به ارائه یک نرم افزار کامپایلر آنلاین نموده است که کاربران را قادر می سازد با هر وسیله و هر سیستم عاملی به راحتی و بدون نیاز به نصب نرم افزار برنامه نویسی آردوینو، بتوانند برای برد های آردوینو برنامه نویسی می کنند.
-
محیط برنامهنویسی ساده و واضح: این پلتفرم برای افراد مبتدی بسیار راحت است و انعطاف زیادی از خود نشان میدهد. محیط برنامهنویسی آن بسیار راحت است و به زبان انسان نیز نزدیکتر است. IDE این نرم افزار بر اساس IDE طراحی شده برای پلتفرم Wiring است. یادگیری و استفاده از محیط برنامه نویسی آردوینو بسیار ساده است. همچنین دستورات بسیار ساده و ویژه ای برای این پلتفرم طراحی شده است که این امکان را در اختیار کاربر قرار می دهد تا برنامه های پیچیده را با چند دستور ساده بر روی برد آردوینو اجرا کند.
-
متن باز و نرمافزار قابل توسعه: مزیت عمدهی پلتفرمهای متنباز این است که به راحتی قابل توسعه هستند و برنامهنویسان میتوانند موارد مختلف جدیدی را به آن اضافه کنند. هم اکنون هزاران کتابخانه رایگان برای راه اندازی هزاران قطعه الکترونیکی توسط آردوینو توسط کاربرات توسعه یافته است که همگی به صورت رایگان در اختیار کاربران قرار داده شده است.
-
سختافزار قابل توسعه: این مورد شاید یکی از اصلیترین مزیتهای آردوینو نسبت به بقیه است که میتوان قابلیتهای سختافزاری بردها را توسعه داد و ویژگیهای جدیدی به آن اضافه کرد. این کار توسط متخصصین حوزهی الکترونیک و به منظور استفادههای خاص و طراحی بردهای جدید انجام میشود.
-
پشتیبانی قوی: افراد و موسسات زیادی وجود دارند که مشغول تدریس و پشتیبانی از برد های آردوینو هستند. گروههای مجازی و انجمن های آنلاین، صفحات پرسش و پاسخ در سایت آردوینو و مواردی از این دست میتواند سوالات و مشکلات به وجودآمده در این حوزه را به طور کامل برطرف کنند.
موارد استفاده از آردوینو

-
تایمرهای چراغ راهنمایی رانندگی
-
شمارندههای به کار رفته در پیشخوانهای بانکی و شمارندههای کارت پارکینگ
-
وسایل پزشکی (گسترهی زیادی از استفادهی آردوینو، در علم پزشکی و علیالخصوص مهندسی پزشکی است که امکان ایجاد انواع شرایط و دریافت دادههای مختلف و امکان آنالیز لحظهای را برای مهندسین فراهم میکند.)
-
دستگاههای تهویه هوا (در این دستگاهها سنسورهایی دما و میزان رطوبت محیط را میخوانند و آن را به قسمت پردازشگر میفرستند و خروجی آن نیز دور موتور متغیر است تا بتواند دما و میزان رطوبت لازم را برای محیط فراهم کند.)
-
سیستمهای امنیتی
-
رباتیک (به طور کلی دنیای رباتیک دنیای استفاده از میکروکنترلرهاست و برنامهای که به آن داده میشود تعیینکنندهی عملکرد رباتها است. سیستمهای کنترلی نیز توسط آردوینو به راحتی برنامهنویسی میشوند.)
-
هک
-
بیوتکنولوژی و کشاورزی (تغییرات میزان رطوبت و دما و نور محیط گلخانهها و مواردی از این دست به راحتی توسط سیستمهای میکروکنترلر پیادهسازی میشوند.)
-
ساعتهای هوشمند و گوشیها
-
اینترنت اشیاء
سنسور ضربان قلب با استفاده از آردوینو
استفادههای آردوینو بسیار وسیع هستند و نمیتوان به همهی آنها اشاره کرد و روز به روز نیز به این استفادهها افزوده میشود.
بررسی ویژگی ها و قابلیت های برد های آردوینو
به جنبهی الکترونیکی آردوینو برگردیم و ببینیم بر روی بردهای آردوینو چه المانهایی وجود دارند:
پاور: هر میکروکنترلری به نیروی برق احتیاج دارد تا بتواند کار کند. این نیرو عموما توسط رابط یواسبی به دستگاه و برد متصل میشود و عموما برق مورداستفاده در آن توسط آداپتور به برق مستقیم تبدیل میشود یا از باتری برای این کار استفاده میشود.
پینهای ورودی خروجی: این پینها بر روی برد قرار داده شده اند تا بتوانید به راحتی برد آردوینو را به دنیای بیرون ارتباط دهید. شما می توانید قطعات الکترونیکی، سنسور ها، ماژول ها و شیلد های آردوینو را به این پین ها متصل کنید. از پین های ورودی آنالوگ می توانید برای خواندن مقدار ولتاژ های آنالوگ استفاده کنید که خروجی بسیاری از سنسورها و قطعاتی مانند میکروفن است.
دکمهها: عموما دکمهی ریست برد بر روی آن تعبیه میشود تا بتوان به راحتی آن را خاموش و روشن کرد. این دکمه عملکردی مشابه دکمهی ریاستارت در کامپیوتر را دارد.
LEDها: بر روی برد های Arduino معمولا به صورت پیشفرض چندین LED قرار داده شده است که تعدادی از آنها وضعیت روشن و خاموش بودن و ارتباط سریال میکروکنترلر را نمایش می دهند و تعدادی قابل برنامه ریزی هستند و می توانید برای مصارف دلخواهتان از آنها استفاده کنید.
کریستال اسیلاتور: یک قطعه کوچک الکترونیکی معمولا با بدنه فلزی براق و کشیده بر روی اغلب برد های آردوینو قرار دارد. این قطعه پالس کلاک میکروکنترلر روی برد را روی مقدار خاصی مانند ۱۶Mhz / 8Mhz یا … تنظیم میکند. هرچه فرکانس کریستال روی برد بالاتر باشد میکروکنترلر با سرعت بیشتری کار میکند. البته دقت داشته باشید صرفا با تعویض کریستال اسیلاتور میکروکنترلر نمی توان سرعت میکروکنترلر را بالا برد. همچنین اکثر میکروکنترلر های استفاده شده در برد های AVR دارای کریستال داخلی نیز هستند. برخی از کریستال های روی برد های AVR مربوط به قسمت های دیگر از حمله ارتباط سریال هستند و ممکن است ارتباطی به فرکانس میکروکنترلر نداشته باشند
میکروکنترلر (مغز متفکر ): معمولا بزرگترین تراشه سیاه رنگی که روی برد قرار داده شده میکروکنترلر (Microcontroller) آن برد است و به نحوی مغز مدار محسوب میشود. انواع مختلف میکروکنترلر در بردهای مختلف آردوینو وجود دارند و هر کدام برای مقاصد خاصی مورد استفاده قرار میگیرند. معمولا برنامهها و دادهها در این قسمت قرار میگیرند و اجرای برنامه و انجام پردازش بر روی ورودی ها و خروجی های برد آردوینو توسط میکروکنترلر انجام می شود. اغلب برد های آردوینو که مصرف گسترده ای دارند از میکروکنترلر های AVR استفاده می کنند اما برخی نیز دارای میکروکنترلر ARM هستند.
تنظیمکننده ولتاژ: رگولاتور یا تنظیم کننده ولتاژی که باید به میکروکنترلر و قسمت های مختلف برد آردوینو برسد را کنترل می کند و اجازه نمی دهند ولتاژ بیش از اندازه به قطعات روی برد آسیب وارد کند. البته این محافظت و تثبیت ولتاژ در محدوده ی خاصی که برای هر برد مشخص شده است کارآیی دارد و اگر ولتاژ از محدوده مشخص شده تجاوز کند احتمال آسیب دیدن تمام قسمت های برد وجود دارد.
شروع کار با آردوینو
اما چگونه میتوان با آردوینو کار کرد؟ مسلما نرمافزار آردوینو به شما امکاناتی میدهد تا برنامهی خود را بنویسید و روی برد آپلود کنید. اگر به اینترنت متصل هستید بهتر است از IDE آنلاین استفاده کنید تا کدها و دادههای شما در فضای ابری ذخیره شوند و اگر میخواهید آفلاین کار کنید باید از نسخهی آفلاین آن استفاده کنید و دادهها را روی حافظه کامپیوتر خود ذخیره کنید.
بعد از نصب این برنامهها و شروع به کار آن، باید یادگیری کدها و کتابخانهها را شروع کنید و پروژههای کوچک که در سرتاسر اینترنت وجود دارند را انجام دهید و خوب یاد بگیرید تادر این زمینه به مهارت برسید. اگر دورههای آموزشی و یا مدرسین این حوزه را نیز میشناسید میتوانید در زمانی کمتر این مهارتها را یاد بگیرید. دیجیـ نیکــ آموزش آردوینو را به طور گسترده و در سطوح مختلف از مقدماتی تا پیشرفته برای افراد مختلف (دانش آموزان، دانشجویان، علاقه مندان، متخصصان و مدرسان) به صورت رایگان در اختیار شما قرار می دهد. همچنین می توانید صد ها پروژه آردوینو را به صورت کاملا رایگان از دیجی نیک دریافت کنید و با تمرین و تکرار در زمینه کاری خودتان از آردوینو استفاده کنید.
امکان اتصال آردوینو به متلب و سایر نرمافزارهای مهندسی نیز وجود دارد .
آیندهی آردوینو
آیا آردوینو آیندهای دارد؟ Arduino روز به روز در حال پیشرفت است و در حال حاضر تمرکز ویژهای بر روی اینترنت اشیاء دارد تا بتواند از دادههای تعاملی استفاده کند و روشهای سادهتری برای بهرهوری از امکانات آن به وجود بیاورد. Arduino در حال حاضر بردهای متصل به وایفای و بردهای تعاملی را در دستور کار خود قرار داده است و هر روز شاهد خبرها و مقالات جذابی هستیم که در این باره منتشر میشوند.

دسته: برنامه نویسی مقدماتی, دوره های آموزشی, کانون وآموزش