آردوینو چیست

 

 

 

آردوینو چیست؟

 

آردوینو یک برد هوشمند می باشد که توسط آن می توانید کارهای مختلفی انجام بدهید. مثلا می توانید پیامی را از یک حسگر دریافت کرده و وسایلی مانند روشنایی ها و یا موتور ها را کنترل کنید. 

درون آردوینو یک میکرو کنترلر از خانواده AVR شرکت ATMEL قرار دارد که مغز این برد هوشمند می باشد. این میکروکنترلر به صورت متن باز (open source) می باشد. یعنی می توان به روش دلخواه آن را طوری برنامه نویسی کنید که کارهای مختلفی انجام دهد.

 

چرا آردوینو؟

آردینو طوری طراحی شده است که کار با آن بسیار ساده باشد. به طوری که همه افراد، از مبتدی گرفته تا حرفه ای، بتوانند با آن کار کنند. به همین دلیل آردوینو به یکی از محبوب ترین بردهای میکروکنترلر تبدیل شده است.

 

از جمله مزیت های آردوینو ارزان بودن ، اتصال مستقیم به کامپیوتر برای برنامه نویسی و نیاز نداشتن به پروگرمر ، ساده بودن آن در راه اندازی و استفاده می باشد.

 

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

 

موارد استفاده از آردوینو:

 

از آردینیو در پروژه های بسیاری استفاده می شود که در اینجا به بعضی از آن ها اشاره می کنیم:

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

 

 

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

 

 

استفاده از آردوینو مصارف بسیار گسترده ای دارد و به همین دلیل آموزشی کلی وجود ندارد که بتوان بر طبق آن تمام مواردی که آردوینو می تواند انجام دهد را به شما آموزش داد. پس ما در اینجا فقط می خواهیم شما را با مفاهیم پایه و اصول و سخت افزار آردوینو که برای راه اندازی اولیه آن به آنها نیاز دارید، آشنا کنیم.

 

 

انواع آردوینو:

 

 

 

انواع بسیار زیادی از آردوینو ها تولید شده است. از جمله Uno، Nano، Duemilanove،  MEGA2560 و Diecimila که از بین تمامی این محصولات، آردوینو UNO (به معنای یک در ایتالیایی) پرکاربرد ترین این محصولات بوده و در بسیاری از پروژه ها از آن استفاده می شود. این برد از چهار جزء بسیار مهم تشکیل شده است:

  • یک میکرو کنترلر “ATmega328P” از خانواده AVR شرکت Atmel  .
  • یک منبع تغذیه ساده 5 ولت
  • یک مبدل سریال به USB (USB-to-serial) که توسط آن می توان برنامه را بر روی آردوینو بارگذاری نمود.
  • پایه های ورودی خروجی (I/O) که از آنها برای اتصال آردوینو به حسگر ها ، فعال کننده ها , برد های افزایشی و غیره استفاده می نماییم.

 

آردوینو مگا دومین محصول پرکاربرد از خانواده آردوینو است. آردوینو مگا دارای ظرفیت و امکاناتی بیشتر از برادر کوچکتر خود، آردوینو UNO می باشد. از جمله ویژگی های آن می توان به موارد زیر اشاره کرد:

  • دارای 256 کیلوبایت حافظه (8 برابر بیشتر از UNO)
  • داراری 54 پایه ورودی و خروجی (16 عدد آنالوگ ، 14 عدد PWM و 24 عدد دیجیتال)

با این که آردوینو مگا با UNO اختلاف زیادی در امکانات با یکدیگر دارند ، اما از نظر اقتصادی اختلاف قیمت آنها کمتر می باشد.

 

در اینجا به برخی از مزیت های آردوینو Uno  اشاره می کنیم:

  • طراحی متن باز آن به شما این امکان را می دهد که در صورت ایجاد مشکل در پروژه خود، بتوانید به راحتی از دیگران کمک گرفته و مشکل خود را حل نمایید.
  • از جمله مزیت های کد باز بودن آردوینو این است که شما میتوانید برنامه های خود را با دیگران به اشتراک گزاشته و یا بلعکس از برنامه دیگران کمک بگیرید، همچنین کد باز بودن آردوینو نحوه کپی کردن دستورات و کد های آن را بسیار ساده نموده و شما به راحتی میتوانید به برنامه دلخواه خود رسیده و یا نزدیک ترین آن را که با برنامه شما همخوانی بیشتری دارد کپی و با کمترین تغییرات و صرف کمترین زمان آن را به برنامه ایده آل خود برسانید
  • داشتن رابط USB : با وجود این رابط ، آردوینو شما به طور مستقیم از طریق پورت USB   به کامپیوتر شما متصل می گردد. پورت USB  یکی از انواع رابط های سریال می باشد که از جمله مزیت آن راحتی کار با آن است که در حال حاضر نمونه آن را در تمام کامپیوتر ها مشاهده می کنیم.
  • البته شما میتوانید در مواقعی که به پورت usb دسترسی ندارید و یا به هر دلیلی دچار بروز مشکل از استفاده این قابلیت شدید میتوانید از طریق پورت 6عددی آردوینو استفاده کنید که نام آن ISP بوده که در مطالب آموزشی آینده به نحوه استفاده از این قابلیت میپردازیم
  • مدیریت مصرف انرژی و داشتن یک رگولاتور(کاهنده ولتاژ) ولتاژ داخلی. آردوینو UNO برق مورد نیاز خود را از طریق پورت USB و یا منبع تغذیه خارجی تامین می کند. در صورت استفاده از منبع تغذیه خارجی ، برد آردوینو دارای یک رگولاتور است که می تواند ولتاژهایی با حداکثر 12 ولت را به ولتاژهای 5 ولت و 3 ولت برساند.
  • ارزان بودن و مقرون به صرفه بودن آن در مقایسه با برد های مشابه.
  • دارای کلاک پالس (فرکانس پردازش) 16 مگا هرتز که نشان دهنده سرعت مناسب میکروکنترلر آن برای اجرای بسیاری از پروژه ها می باشد.

دارای 32 کیلو بایت حافظه فلش برای ذخیره کد هایتان میباشد.

  • دارای 14 پایه دیجیتال و 6 پایه آنالوگ . این پایه ها به شما این امکان را می دهند که وسایل خروجی خود را مانند حسگر ها ، LED ها و غیره، به این پایه ها متصل نمایید. از این پایه ها برای ارتقا برد های آردوینو هم استفاده می شود که در صورت ارتقا، آن ها می توانند در مصارف سنگین تری نیز به کار روند.
  • در نهایت داشتن یک دکمه ریست برنامه بر روی برد .

 

 

برنامه آردوینو :

 

 

برای انتقال دستورات به برد آردوینو شما باید از نرم افزار مخصوص آن استفاده نمایید. این نرم افزار برای برنامه نویسی  ترکیبی از زبان های برنامه نویسی C و C++ استفاده می کند.

برای آشنایی بیشتر با نرم افزار به اینجا بروید.

 

اتصال به کامپیوتر:

 

 

 

 برای اتصال برد به کامپیوتر از یک کابل USB که به همراه خود آردوینو عرضه می شود استفاده می کنیم.

 

 

اسکچ:

 

 

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

برای دسترسی به این برنامه ها به آدرس زیر می رویم:

Files --> Examples --> Basics --> Blink

در اینجا به طور مثال یک برنامه به نام Blink را انتخاب کردیم که مربوط به LED چشمک زن می باشد.

برای توضیح کامل این برنامه به اینجا مراجعه نمایید.

زمانی که این برنامه باز شد، با فشردن دکمه بارگذاری (upload) به آردوینو انتقال می یابد.

 

نمایشگر سریال (serial monitor)

 

 

 

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

برای آشنایی بیشتر با سریال مانیتور به اینجا بروید.

 

ورودی دیجیتال:

آردوینو دارای دو نوع ورودی می باشد. ورودی آنالوگ و ورودی دیجیتال.

ابتدا با معرفی ورودی های دیجیتال شروع میکنیم.

ورودی های دیجیتال دارای دو مقدار ممکن هستند. یعنی یا خاموش هستند و یا روشن. این مقادیر را به طور فنی به یکی از سه شکل زیر نمایش می دهند:

 

  • LOW یا High
  • 0 یا 1
  • 0 یا 5 ولت

از این ورودی ها می توان برای فهمیدن روشن یا خاموش بودن یک پارامتر (مانند کلید) و یا دریافت اطلاعات باینری وقتی به صورت مجموعه ای از این ورودی ها آن ها را دریافت می کنیم (دریافت دیتای دیجیتال)، استفاده شود. شما با روشن (1) و خاموش (0) کردن پایه های می توانید یک سیگنال دیجیتال بسازید.

 

 

ورودی آنالوگ :

آردوینو همچنین دارای تعدادی ورودی آنالوگ می باشد. هر پایه ورودی آنالوگ که یک سیگنال آنالوگ را که ولتاژی بین 0 تا 5 ولت را دارد دریافت می کند، آن را توسط مبدل آنالوگ به دیجیتال (ADC)  به مقادیری بین 0 تا 1023 در واحد دیجیتال تبدیل می کند. یعنی فاصله هر عدد با عدد بعدی در واحد دیجیتال، مقداری برابر 4.9mV در واحد آنالوگ دارد.

این ورودی ها برای ورودی های مقاومتی که در اکثر حسگر های آنالوگ وجود دارد و همچنین دریافت مقادیری که بین 0 تا 5 ولت هستند ، به کار می روند.

خروجی دیجیتال :

پایه های خروجی دیجیتال نیز مانند ورودی های دیجیتال هستند. آنها تنها دارای دو مقدار LOW(0) و HIGH(5 ولت) می باشند.

از پایه های خروجی دیجیتال جهت خاموش و یا روشن کردن یک وسیله (مانند ال ای دی) و یا ارسال دستورات به صورت دیجیتال با یک وسیله خارجی که دارای ارتباطات دیجیتال است ، استفاده می کنند.

 

خروجی آنالوگ:

 

تولید یک سیگنال آنالوگ توسط یک دستگاه دیجیتال، به طور مستقیم قابل انجام نیست. یکی از قابلیت های آردوینو تولید سیگنالی مانند یک سیگنال آنالوگ می باشد. این سیگنال به روش pulse width modulation تولید شده و آن را به اختصار سیگنال PWM می نامند. به همین روش آردوینو می تواند وسایلی را که به صورت آنالوگ هدایت می شوند (مانند موتور های DC ،سروو موتورها و نورLEDها ) را کنترل کند.

 

سیگنال PWM  با تغییر مقادیر سیگنال از 0 به 1 و بالعکس، پالس های مربعی ایجاد می نماید. مقدار این سیگنال را زمان HIGH بودن سیگنال مشخص می کند. به طور مثال اگر یک دوره زمانی پالس را 20 میلی ثانیه در نظر بگیریم و پالس را به  مدت 2 میلی ثانیه در مقدار HIGH و مابقی دوره را برابر LOW قرار دهیم ، آنگاه سیگنالی به میزان 10 درصد ولتاژ بیشینه دیجیتال، یعنی 10 درصد از 5 ولت که می شود 0.5 ولت را در خروجی PWM خواهیم داشت. به طور عملی اگر شما یک LED را به خروجی PWM وصل نمایید و آن را  در هر 20 میلی ثانیه به مدت 2 میلی ثانیه روشن نگه دارید ، آنگاه به نظر می رسد که میزان روشنایی LED به مقدار 10 درصد روشنایی بیشینه اش رسیده است.

 

برنامه نویسی آردوینو: