آردوینو چیه ؟
(فیلم این مقاله به طور کامل در زیر این متن موجود است ، اگر حوصله مطالعه ندارید ، می توانید این کلیپ مستند را مشاهده کنید)
تاریخچه آردوینو
اگه یادتون باشه در گذشته وقتی تازه کامپیوترها پاشون به خونه های ما باز می شد ، هر خونواده ای می خواست کامپیوتر بخره پیش یک متخصص می رفت که معمولا بهشون سیستم جمع کن می گفتن .
این متخصص ها ۱۲ قطعه اصلی کامپیوتر مثل کارت صدا ، Main ، Cpu و … رو به خوبی می شناختن و می دونستن چی به چی می خوره .
مثلا باس یا سرعت انتقال داده CPU ، مادربرد و رم باید با هم سازگار می بود . اگر باس رم از Main کمتر بود و Main ، Multi-Channel-Memory رو پشتیبانی می کرد ، دو یا چند رم مشابه رو با هم موازی می کردند .
اما هر چه که رفتیم جلوتر خرید یک سیستم راحت تر شد تا اینکه خیلی خیلی ساده به بازار می رفتیم و یک دستگاه لپ تاپ با همه قابلیت ها می خریدیم بدون اینکه خودمون رو درگیر این بکنیم که چی به چی می خوره .
غیر از کامپیوترهای رومیزی در خانه ها انواع دیگری از کامپیوتر نیز وجود دارند . مثلا داخل لوازم مختلف جدید مثل پرینتر ، یخچال ، تلویزیون ها و دستگاه برش کاغذ و دیگر دستگاه های هوشمند امروزی کامپیوتر های کوچکی وجود دارند . گاهی به آنها کامپیوتر های درون سیستمی نیز گفته می شود . یا کامپیوترهای کوچکی که برای مصارف سبک یا آموزش استفاده می شوند که برای کاهش قیمت از بدنه و امکانات و انعطاف پذیری کمتری برخوردارند ، که به آنها میکرو کامپیوتر می گویند .
این حوزه ها نیز دستخوش تحولات کامپیوتر های رومیزی شده اند ، یعنی یکپارچکی و فشرده سازی و کاهش نیاز به متخصصین و دیگر تحولات در این کامپیوتر ها هم اتفاق افتاده .
مردم از این اتفاق خیلی استقبال کردند ، چون دیگه کارهایی که فقط خوره های الکترونیک و کامپیوتر انجام می دادند برای آنها آرزو نبود اونا می تونستن به سادگی یه کامپیوتر کوچیک تهیه کنند و اونو راه بیاندازند و پروژه بسازن و با این افزایش استقبال قیمت این محصولات به شدت کاهش پیدا کرد ، دلیلش هم تقریبا واضحه چون قیمت در صنایع نیمه هادی وابستگی شدیدی به حجم تولید داره .
این یکپارچگی نه فقط در مدارها و کامپیوترهای کوچک قابل برنامه نویسی بلکه حتی در نرم افزارهای تنظیم ، راه اندازی ، برنامه ریزی و …. نیز به وجود آمد . دیگر برای برنامه ریزی یک کامپیوتر کوچک نیاز به کسب اطلاعات پیچیده نیستید . کافی است با یک نرم افزار ساده کمی آشنا باشید .
یکی از محصولاتی که به دلیل قیمت پایین ، سادگی نرم افزار و فعالیت های غیرتجاری مورد استقبال قرار گرفت و در سال های اخیر جای خود را در صنایع اموزشی باز کرد خانواده آردوینو بود .
این محصولات به دلیل قیمت پایین و سادگی بیش از حد مورد استقبال جدی نوجوانان و حتی کودکان هم قرار گرفت به شکلی که یک دانش آموز می توانست با مبلغی حدود ۶۰ ۷۰ هزار تومان یک نسخه از آن را تهیه کند که این موضوع در کنار انتشار کتاب ها و فیلم های آموزشی این محصول محبوبیت این محصول را برای نوجوانان علاقه مند به الکترونیک دو چندان کرد .
به عبارت دیگر Arduino یک سخت افزار ساده قابل برنامه ریزی با کامپیوتر به زبان ساده و بدون نیاز به سخت افزارهای گران قیمت و پیچیده است که نیاز تازه کاران به متخصصین الکترونیک را برای انجام فعالیت های روزمره و ساده به شکل قابل ملاحظه ای کاهش داده . مثل حضور لپ تاپ که در گذشته جامعه را با حضور خود نیاز به سیستم جمع کن ها را کاهش داد .
آردوینو از یک مدار الکترونیکی شامل انواع قطعات محافظ ، تقویت کننده و … که معمولا مورد نیاز است و از یک هسته اصلی تشکیل شده که این هسته اصلی را میکروکنترلر می گویند . میکروکنترلر ها یک بسته از رم کوچک ، هارد کوچک ، سی پی یو ضعیف ، پورت سریال و خلاصه ای از بخش های دیگر از یک کامپیوتر هستند که به صورت خیلی کوچک در یک آی سی مثلا ۴۰ پایه فشرده شده اند .
بزرگ ترین تولید کننده های میکروکنترلرهای عمومی شرکت اتمل و میکروچیپ بودند . البته در سال ۲۰۱۶ میکروچیپ اتمل رو خرید .
آردوینو چه مشکلاتی را در جامعه حل کرد ؟
قبل از ظهور سخت افزار و نرم افزار آردوینو راه اندازی میکروکنترلرها به دانش بیشتری نیاز داشت . برای پروژه های ساده مثل یک چراغ چشمک زن یا راه اندازی یک موتور نمی توانستید به سادگی با دانش کم برنامه نویسی و الکترونیک و تجربه کم چیزی طراحی کنید و بسازید .
برای پروژه های کمی پیچیده تر باید کلی اطلاعات درباره قطعات الکترونیک کسب می کردید . مثلا باید اطلاعات فنی الکترونیک رو از دیتاشیت یا برگه اطلاعات فنی اون می خوندید و تا حدی متوجه می شدید که چطور کار می کنه ؟
مشکل اینجا بود که شما حتی برای ریختن برنامه خود به داخل میکروکنترلر نیاز به یک سخت افزار گران قیمت در حد چند صدهزار تومان داشتید و برای وصل کردن قطعات الکترونیک میکروکنترلر بدون سوزوندن اون نیاز به خوش شانسی قابل ستایشی داشتید . برنامه ریزی آن که هم در حد خود خارج از حوصله بود . از طرفی هر میکروکنترلر رفتار متفاوتی داشت . مثلا یکی خروجی آنالوگ داشت . یکی به نور حساس بود و …
تا اینکه پس از تلاش های فراوان تولید کنندگان مختلف در ساده کردن این فرآیند ، یک انجمن طراحی ایتالیایی به نام IDII یه مدار طراحی کردن (آردوینو ) که کار با میکرو رو آسون تر کنن . مثلا قبلا اگر می خواستی میکرو رو هم زمان تو پروژه ریست کنی ، درست مثل وقتی که کامپیوترت هنگ می کنه و ریستش می کنی ، باید یک مدار الکترونیکی درست می کردی ولی الان روی آردوینو یه کلید ریست آماده هست . نه تنها کلید ریست بلکه پورت usb برای انتقال فایل ، برنامه ، برق و … و کلی اتصالات برای دسترسی راحت به ورودی خروجی ها ، کریستال که قطعه ای برای تنظیم سرعت کاری میکروست و سایر قسمت های پر کاربرد که همه روی این برد از قبل آماده شده اند .
به نظر می رسه دیگه کار روی پروژه های کنترل ساده مثل گذشته خیلی سخت نیست . یا بهتره بگم فقط اختصاص به یک جامعه خاص یعنی طراحان الکترونیک با دانش فنی بالا نداره . برای داشتن یک چراغ چشمک زن کافیه یه آردوینو بخرید ، نرم افزارش رو تو کامپیوتر نصب کنید . آردینو رو با پورت usb به کامپیوتر بزنید . در قسمت نمونه برنامه های نرم افزار چراغ چشمک زن یا BLINK رو انتخاب کنید. در منوی نرم افزار مدل برد خودتون رو انتخاب کنید و کلید ارسال برنامه به آردوینو رو بزنید .
به جز مرحله خرید آردوینو دیگر مراحل کمتر از چند دقیقه طول می کشه و نیاز به دانش چندانی نداره .
به نظر من اتفاق خوبی که افتاده اینه که آموزش برای همگان ساده تر شده . لذت بردن از الکترونیک با بردهایی مثل آردوینو بدون اینکه کاربر درگیر اتفاقات پیچیده الکترونیک بشه امکانش فراهم شده . اما نمیشه انتظار داشت یک برد صنعتی ، پزشکی یا کار در جاهای حساس رو با یک برد آردوینو اجرا کرد . این مدار برای مصارف عادی طراحی شده و اگر می خواهید یک هواپیمای مسافربری رو با آردوینو هدایت کنید به شما پیشنهاد می کنیم در خصوص امنیت پرواز کتاب های بیشتری بخوانید .
سوال مهمی که در این باره مطرح میشه اینه که ضریب اطمینان Arduino برای انجام پروژه های مهم کافیه ؟
باید بگیم خوب میکروکنترلر روی آردوینو از نظر فرآیند تولید و تست ، ضریب اطمینان بالایی داره ولی وقتی روی یک برد با مصارف سرگرمی آموزشی همراه کلید ، دکمه ، کانکتور و … لحیم میشه دیگه نمیشه گفت همون ضریب اطمینان هنوزم وجود داره .
یکی از بردهای اصلی آردوینو اسمش Uno هست . معمولا وقتی میگن برای پروژتون یه آردوینو بگیرید منظورشون همین برد uno هست . با uno پروژه های مختلفی می تونید بسازید مثل کنترل موتورها نور ، دما ، رطوبت ، ارتباط با کامیپوتر ، یک ربات ساده و … میکروی uno از شرکت اتمل هست یکatmega328 است .
یک میکروی دیگه هم رویuno هست که کارش اینه که وقتی می خواید برنامتون رو از روی کامپیوتر روی میکروی اصلی بارگذاری کنید این کار رو براتون انجام میده و ارسال و دریافت پیام های بین کامپیوتر و برد آردوینو توسط اون انجام میشه . مثلا برای دیباگ کردن خیلی اهمیت داره .
نکته خیلی خوب درباره آردوینو کابل تغذیشه که usb ۵ ولت هست و برای وقتایی که نخواید به کامپیوتر وصلش کنید می تونید اونو به شارژر موبایل بزنید یا از فیش آداپتوری ۹ ولتش استفاده کنید .
اما برنامه های آردوینو رو کجای کامپیوتر می نویسن ؟
آردوینو یک نرم افزار یکپارچه تولید کرده که شما با نصب اون وارد یک محیط تایپ ساده می شید و می تونید برنامه تون رو اونجا بنویسید .
کد نویسی اردوینو یک زبان خیلی ساده داره . شرکت آردوینو برای آسون تر کردن اجرای پروژه های پیچیده تر مدارهای دیگه ای هم تولید و طراحی کرده که به اون ها اصطلاحا میگن شیلد . شیلد به چیزی میگن که قابلیت اتصال به چیزای دیگر رو داره . شیلد های آردوینو مدارهای کاربردی هستن که باهاش پروژه های بیشتری میشه ساخت . مثلا شیلد ال سی دی اردوینو یک مدار واسطه کامله که فقط کافیه اونو راحت به برد اصلی اردوینو وصل کنید و برنامه نویسیش رو انجام بدید . شیلد های آردوینو با کانکتورهای روبردی کاملا روی برد آردوینو می شینن .
ولی در گذشته باید ال سی دی و کلیه قطعات دیگه مدار رو جدا جدا تهیه می کردید ، مداری می ساختید که ال سی دی رو راه بندازه و بین میکرو و ال سی دی قرارش می دادید و …
به نظر می رسه همه چیز خیلی ساده تر شده ، نظر شما چیه ؟
اما تا اینجا بیشتر فهمیدیم که آردوینو اصلی چی هست و از کجا اومده اما نکته جالب تر بعدی که می خوام بهتون بگم اینه که آردوینو بیش از اینکه یک محصول مشخص و خاص باشه تبدیل به یک جریان شده ، شاید یک جریان فرهنگی در عرصه تکنولوژی مثل لینوکس .
آردوینو کاملا اپن سورس هست و برای همین میشه نرم افزار و سخت افزارش رو تغییر داد . خیلی از بردهای آردوینو که در بازار می بینید اصلا مربوط به شرکت اصلی اون در ایتالیا نیست و حتی اونها ممکنه روحشون هم از وجود این برد خبر نداشته باشه .
خیلی از نسخه های بردهای آردوینو توسط متخصصین کشورهای دیگه بومی سازی شده یا تغییراتی به مقاصد مختلف توش اتفاق افتاده که در نسخه اصلی اصلا وجود نداشته و مشابه های زیادی از روی ایده اصلی طراحی شده که خیلی هم کارآمد هست .
این اتفاق در سیستم ها و محصولات اپن سورس زیاد اتفاق می افته و قابلیت جهانی شدنش رو بالا می بره و برای همین هم آردوینو تبدیل به یک فرهنگ تکنولوژی جهانی شده