ویژگی های برد های آردوینو 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) متن باز ارائه می‌شود که در رایانه‌ های عادی قابل اجرا است. این نرم افزار اجازهٔ برنامه‌نویسی به کمک زبان C یا ++C را برای همه بردهای آردوینو فراهم می کند. بدیهی است این نرم افزار فقط از بردهای آردوینو پشتیبانی می کند. در شکل زیر نسخه 1.0 این نرم افزار را مشاهده می کنید.

Arduino_1.0_IDEویژگی های نرم افزاری آردوینو :

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

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

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

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

  • Arduino UNO

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

Arduino_UNO2

لینک خرید انواع آردوینو UNO از فروشگاه الکترو ولت

  • 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

لینک خرید مستقیم آردوینو Mega2560 از فروشگاه الکترو ولت

  • Arduino Zero

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

Arduino_zero


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

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

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


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

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

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

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

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

AmazingAVR


منابع :

ویکی پدیا

سایت رسمی آردوینو ( Arduino.cc )


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

دیدگاه (19)

  • علی پاسخ

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

    1395-06-13 در 08:05
    • ادمین الکترو ولت پاسخ

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

      1395-06-13 در 19:59
  • احسانه پاسخ

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

    1395-12-18 در 06:22
  • مهدی ربانی پاسخ

    سپاس

    1396-02-11 در 09:36
  • jamalmusic پاسخ

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

    1396-05-02 در 02:14
  • fereshte_k1 پاسخ

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

    1396-06-13 در 13:51
    • ادمین الکترو ولت پاسخ

      سلام شما به هیچ وجه نمیتوانید از سایت کپی کنید اما میتوانید نسخه pdf آن را با وارد کردن ایمیل خود دانلود نمایید

      1396-07-07 در 11:24
  • رضا پاسخ

    سلام میشه با اینا ماینینگ هم کرد؟؟

    1396-07-12 در 00:01
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز منظورتون دیتا ماینینگ هست یا کریپتو ماینینگ اگه اولی منظورتون هست به صورت جزئی بله میشه اما دومی نیاز به قدرت پردازشی بسیار بیشتر از آردوینو داره و عملا شدنی نیست

      1397-08-26 در 10:51
  • مینا پاسخ

    ممنون از مطالب خیلی خوبتون

    1397-01-26 در 20:48
  • شروین پاسخ

    من avr کار میکنم و همیشه برام سوال بود که Arduino چیه و اصلا به چه درد میخوره خیلی جستجو کردم و اصلا متوجه نمیشدم چرا این همه استقبال ازش شده چون اگر هر کس برنامه نویسی avr رو بلد باشه اصلا نیازی به این کیت نداره تا اینکه بالاخره بهترین مطلب رو داخل سایت شما خوندم و کاملا شیرفهم شدم به دوستان توصیه میکنم از ابتدا بصورت مستقیم کار با میکرو را یاد بگیرن و وقت خودشونو با Arduino تلف نکنن

    1397-08-26 در 03:58
    • ادمین الکترو ولت پاسخ

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

      1397-08-26 در 10:54
  • حسن صداقت پاسخ

    سلام خسته نباشید
    من برای document پروژه ام معرفی آردوینو رو با ریفیرینس کار دارم میشه یگان کتاب فارسی یا یک مقاله فارسی برم بفرستید؟
    ممنون میشم

    1397-09-22 در 10:47
  • حمیدرضا پاسخ

    سلام. ممنون از شما بابت سایت خوبتون
    من یه سوال داشتم. میکروکنترل های بدون سیستم عامل اسمشون چیه وباچه زبان برنامه نویسی موازی نوشته میشن؟

    1397-09-24 در 20:40
  • علیرضا پاسخ

    سلام وخسته نباشید به استادبزرگوارواقعا خداقوت بهتون بده که باراهنمایی های جامع وکامل خیلی ازمشکلات ماراحل میکنید

    1397-11-11 در 03:58
  • علی اکبر ورزشی پاسخ

    سلام و خسته نباشید م ممنون بابت توضیحات کاملتون
    میشه لطف کنید اموزش اماده سازی بردآردوینو برای کنترل موتور ها (برای ساخت cnc ) اماده کنید

    1397-12-09 در 14:23
  • علی پاسخ

    سلام خسته نباشید.
    من تصمیم به یادگیری کار با میکروکنترلر های avr گرفته ام.
    و میان این همه زبان برنامه نویسی گیج شده ام ک با کدوم یکی موفق تر میشوم تا به یک حرفه ای تبدیل شوم. اول avr بعد هم اردوینو ..
    بنظر شما چه زبانی بهتره ؟؟
    با تشکر از مدیریت محترم الکترو وات

    1398-03-27 در 22:00
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز بهترین زبان برای شروع کار با میکروکنترلرها زبان برنامه نویسی C می باشد

      1398-03-31 در 10:14
  • زهرا پاسخ

    سلام ممنون از مطالب خوبتون
    لطفا نحوه ی ذخیره خروجی به صورت فایل (.csv یا اکسل)رو هم آموزش بدید.

    1398-07-14 در 17:00

دیدگاهتان را بنویسید

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

بازگشت به آموزشگاه