ویژگی های برد های آردوینو Arduino و مقایسه آن با AVR

Arduino_Logo

آردوینو (Arduino) چیست ؟ ( معرفی آردوینو )

آردوینو نام مجموعه بوردهایی است که اکثر آن ها بر اساس برخی از میکروکنترلرهای AVR و ARM شرکت Atmel ساخته می شود. بر روی هر یک از این بوردها یک میکروکنترلر به عنوان هسته مرکزی قرار گرفته است و در کنار آن دیگر المان های مورد نیاز برای راه اندازی و استفاده ایده آل از میکروکنترلر مورد نظر قرار دارد. به همراه این بورد ها یک نرم افزار ساده و کارآمد نیز ارائه شده است که توسط کامپیوتر میتوان این بردها را برنامه ریزی نمود. آردوینو در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و ساده برای برنامه‌نویسی شی گرا میکروکنترلرها توسط Massimo Banzi بوجود آمد. در شکل زیر تصویر نسبتا کاملی از تمامی بردهای آردوینو را مشاهده می کنید.

arduino-microcontrollers


بررسی سخت افزاری آردوینو

طراحی سخت افزار هر یک از این بوردها بر اساس یک میکروکنترلر به خصوص صورت گرفته است. میکروکنترلرهای به کار رفته اغلب میکروکنترلرهای 8 بیتی AVR نظیر Atmega128 ، Atmega323 ، Atmega2560 ، Atmega8 می باشند. البته میکروکنترلرهای 32 بیتی ARM نظیر ATSAMD21G18 و AT91SAM3X8E از شرکت Atmel و میکروکنترلر 32 بیتی Curie شرکت اینتل نیز در برخی از آنها دیده می شود. در کنار میکروکنترلر تمامی المان های مورد نیاز ، پورت های مختلف ورودی خروجی تعبیه شده است. این بوردها دارای سخت افزاری متن باز هستند بدین معنی که شماتیک ( نقشه مدار ) و همچنین Pcb ( فیبر مدار چاپی ) برای هر یک از آنها قابل دانلود و ساخت توسط همگان است ! این بورد ها از نظر سخت افزاری بسیار دقیق طراحی شده اند و تمامی المان های مورد نیاز برای استفاده ایده آل از میکروکنترلر در آن ها تعبیه شده است. در شکل زیر یکی اولین و معروف ترین بردهای آردوینو یعنی Arduino UNO را مشاهده می کنید.

Arduino_UNOویژگی های سخت افزاری آردوینو :

  • بدون نیاز به پروگرامر جداگانه ( پروگرامر روی بورد تعبیه شده است )
  • دارای تمامی قطعات مورد نیاز برای استفاده ایده آل
  • قابلیت استفاده از USB به عنوان منبع تغذیه
  • دسترسی به تمامی پایه ها ( پورت ها )

بررسی نرم افزاری آردوینو

آردوینو به همراه یک محیط نرم افزاری یکپارچه (Arduino IDE) متن باز ارائه می‌شود که در رایانه‌ های عادی قابل اجرا است. این نرم افزار اجازهٔ برنامه‌نویسی به کمک سی یا سی++ را برای همه بردهای آردوینو فراهم می کند. بدیهی است این نرم افزار فقط از بردهای آردوینو پشتیبانی می کند.

Arduino_1.0_IDE

ویژگی های نرم افزاری آردوینو :

  • ساده بودن محیط کاربری نرم افزار
  • پشتیبانی از کلیه سیستم عامل ها
  • برنامه نویسی بسیار آسان توسط کتابخانه های طراحی شده
  • کتابخانه های آماده برای کار با ماژول GSM ، Ethernet ، WiFi و انواع موتورها
  • قابلیت ارتباط آنلاین با پورت سریال و مشاهده عملکرد برنامه
  • دارای مثال های فراوان و پشتیبانی قوی

چند شفاف سازی در مورد بوردهای آردوینو

  1. این بورد ها فقط بخش کوچکی از میکروکنترلرهای AVR هستند.
  2. زبان برنامه نویسی این بوردها ساده ، متفاوت و منحصر به فرد است.
  3. آردوینو از نظر سخت افزاری و نرم افزاری کاملا متن باز و در اختیار همه است.

معرفی برخی از بوردهای آردوینو

  • Arduino UNO 

این بورد که بر اساس میکروکنترلر Atmega328p ساخته شده است ، دارای 14 ورودی/خروجی دیجیتال است که 6 تا از آنها میتواند به عنوان PWM باشد. همچنین دارای 6 ورودی آنالوگ ، کریستال 16 مگاهرتز ، ولتاژ عملکرد 5 ولت ، پورت USB ، ورودی آداپتور و دکمه ریست می باشد. در کنار میکرو کنترلر اصلی یک پروگرامر Stk500 قرار دارد که میتوان آن را فعال یا غیر فعال کرد.

Arduino_UNO2

  • Arduino Pro

هسته اصلی این بورد میتواند میکروکنترلرهای ATmega168 یا ATmega328 باشد. تعداد ورودی/خروجی ها دقیقا شبیه بورد قبلی است. این بورد می تواند علاوه بر 16 مگاهرتز و ولتاژ 5 ولت در حالت 8 مگاهرتز و ولتاژ 3.3 ولت نیز کار کند. همچنین یک هدر مخصوص نصب آی سی FTDI تعبیه شده است. پروتکل stk500 برای پروگرام کردن این بورد به کار گرفته شده است. ویژگی این بورد طراحی کم حجم آن است.

ArduinoPro

  • Arduino 101

یک بورد کاملا متفاوت و حرفه ای مخصوص آموزش ، بر اساس میکروکنترلر 32 بیتی Curie شرکت Intel به همراه ماژول های Bluetooth و شتاب سنج 6 محوره در کنار آن می باشد. دارای 14 ورودی/خروجی دیجیتال که 4 تا از آنها میتواند به عنوان PWM عمل کند. 6 ورودی آنالوگ  ، پورت USB ، ورودی آداپتور ، کریستال 32 مگاهرتز و ولتاژ کاری 3.3 ولت می باشد.

Compare-Arduino-101

  • Arduino Mega2560

این بورد که بر اساس میکروکنترلر Atmega2560 طراحی و ساخته شده است ، دارای قابلیت های بیشتری می باشد. تعداد ورودی/خروجی های دیجیتال آن 54 عدد ( 15 تا از آن میتواند PWM باشد ) ، 16 ورودی آنالوگ ، 4 پورتUART ، پورت USB ، ورودی آداپتور و کریستال 16 مگاهرتز برای آن تعبیه شده است.

arduino_mega_2560

  • Arduino Zero

این برد همانند UNO است اما در ساخت آن از میکروکنترلر 32 بیتی Cortex M0+ به نام ARMSAMD21 شرکت اتمل استفاده شده است. این بورد فقط از ولتاژ 3.3 ولت و فرکانس 48Mhz استفاده می کند. این بورد امکانات بسیار زیادتری به علت ARM بودن آن دارد که برای مشاهده آن میتوانید به سایت شرکت سازنده مراجعه کنید.

Arduino_zero

 

این مطلب را از دست ندهید :  بخش اول آموزش AVR : مدارهای الکتریکی و الکترونیکی

با یادگیری آردوینو شروع کنم یا با یادگیری AVR ؟

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

اما در صورتی که می خواهید یک برنامه نویس حرفه ای باشید طوری که خودتان بتوانید انواع مختلف بوردها را طراحی و پیاده سازی کنید باید ابتدا با انواع قطعات الکترونیکی آشنا شوید ، سپس اصول الکترونیک دیجیتال را یاد بگیرید و بعد از آن اصول کار با کلیه میکروکنترلرهای AVR را از 0 تا 100 یاد خواهید گرفت. بعد از آن قادر خواهید بود پروژه های مختلف و حرفه ای تری بسازید. ضمن اینکه به علت یادگرفتن پایه ای ، میتوانید بعدا به سراغ میکروکنترلرهای قوی تر همانند AtXmega و ARM های شرکت NXP و STmicro بروید و با آن ها برنامه های سی و سی++ بنویسید.


مقایسه سخت افزاری یادگیری Arduino با یادگیری AVR

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

مقایسه تفاوت های برنامه نویسی Arduino با AVR

  • آردوینو بر اساس برنامه نویسی سی++ است و به علت وجود کتابخانه های منحصر به فرد ، توابع و ساختار خود را دارد.
  • AVR بر اساس برنامه نویسی اسمبلی ، بیسیک ، سی و سی ++ است ( در کامپایلر کدویژن فقط سی و در کامپایلر Atmel Studio همه زبان ها پشتیبانی می شود)
  • بعد از یادگیری برنامه نویسی آردوینو ، برنامه نویسی AVR دشوار به نظر می رسد.
  • بعد از یادگیری برنامه نویسی AVR ، برنامه نویسی آردوینو بسیار راحت به نظر می رسد.

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

AmazingAVR


برخی منابع :

ویکی پدیا

سایت Arduino.cc


در صورتی که این مطلب مورد پسندتان بود ، لایک و اشتراک گذاری فراموش نشود.

44+
این مطلب را با دوستانتان به اشتراگ بگذارید

دیدگاه (5)

  • علی پاسخ

    با سلام
    تازه با سایتتان اشنا شدم واقعا تبریک خدمتتان عرض می کنم درود برشما
    اگر مقدور است در رابطه با برد اردینو روش برنامه نویسی و مدارات کاربردی ان
    هم مطلب بیشتری در سایتتان قرار بدهید.
    ممنون و سپاس گذارم

    ۱۳/۰۶/۱۳۹۵ در ۰۸:۰۵
    • شجاع داودی پاسخ

      سلام دوست عزیز خیلی ممنونم چشم حتما

      ۱۳/۰۶/۱۳۹۵ در ۱۹:۵۹
  • احسانه پاسخ

    سلام خیلی کامل و مفید بود متشکرم موفق باشید

    ۱۸/۱۲/۱۳۹۵ در ۰۶:۲۲
  • مهدی ربانی پاسخ

    سپاس

    ۱۱/۰۲/۱۳۹۶ در ۰۹:۳۶
  • jamalmusic پاسخ

    با سپاس جوابی رو که دنبالش بودم بدست اوردم

    ۰۲/۰۵/۱۳۹۶ در ۰۲:۱۴

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

4 + 4 =