آردوینو (Arduino) چیست ؟ ( معرفی آردوینو )
آردوینو نام مجموعه بوردهایی است که اکثر آن ها بر اساس برخی از میکروکنترلرهای AVR و ARM شرکت Atmel ساخته می شود. بر روی هر یک از این بوردها یک میکروکنترلر به عنوان هسته مرکزی قرار گرفته است و در کنار آن دیگر المان های مورد نیاز برای راه اندازی و استفاده ایده آل از میکروکنترلر مورد نظر قرار دارد. به همراه این بورد ها یک نرم افزار ساده و کارآمد نیز ارائه شده است که توسط کامپیوتر میتوان این بردها را برنامه ریزی نمود. آردوینو در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و ساده برای برنامهنویسی شی گرا میکروکنترلرها توسط Massimo Banzi بوجود آمد. در شکل زیر تصویر نسبتا کاملی از تمامی بردهای آردوینو را مشاهده می کنید.
بررسی سخت افزاری آردوینو
طراحی سخت افزار هر یک از این بوردها بر اساس یک میکروکنترلر به خصوص صورت گرفته است. میکروکنترلرهای به کار رفته اغلب میکروکنترلرهای 8 بیتی AVR نظیر Atmega128 ، Atmega323 ، Atmega2560 ، Atmega8 می باشند. البته میکروکنترلرهای 32 بیتی ARM نظیر ATSAMD21G18 و AT91SAM3X8E از شرکت Atmel و میکروکنترلر 32 بیتی Curie شرکت اینتل نیز در برخی از آنها دیده می شود. در کنار میکروکنترلر تمامی المان های مورد نیاز ، پورت های مختلف ورودی خروجی تعبیه شده است. این بوردها دارای سخت افزاری متن باز هستند بدین معنی که شماتیک ( نقشه مدار ) و همچنین Pcb ( فیبر مدار چاپی ) برای هر یک از آنها قابل دانلود و ساخت توسط همگان است ! این بورد ها از نظر سخت افزاری بسیار دقیق طراحی شده اند و تمامی المان های مورد نیاز برای استفاده ایده آل از میکروکنترلر در آن ها تعبیه شده است. در شکل زیر یکی اولین و معروف ترین بردهای آردوینو یعنی Arduino UNO را مشاهده می کنید.
ویژگی های سخت افزاری آردوینو :
- بدون نیاز به پروگرامر جداگانه ( پروگرامر روی بورد تعبیه شده است )
- دارای تمامی قطعات مورد نیاز برای استفاده ایده آل
- قابلیت استفاده از USB به عنوان منبع تغذیه
- دسترسی به تمامی پایه ها ( پورت ها )
بررسی نرم افزاری آردوینو
آردوینو به همراه یک محیط نرم افزاری یکپارچه (Arduino IDE) متن باز ارائه میشود که در رایانه های عادی قابل اجرا است. این نرم افزار اجازهٔ برنامهنویسی به کمک زبان C یا ++C را برای همه بردهای آردوینو فراهم می کند. بدیهی است این نرم افزار فقط از بردهای آردوینو پشتیبانی می کند. در شکل زیر نسخه 1.0 این نرم افزار را مشاهده می کنید.
ویژگی های نرم افزاری آردوینو :
- ساده بودن محیط کاربری نرم افزار
- پشتیبانی از کلیه سیستم عامل ها
- برنامه نویسی بسیار آسان توسط کتابخانه های طراحی شده
- کتابخانه های آماده برای کار با ماژول GSM ، Ethernet ، WiFi و انواع موتورها
- قابلیت ارتباط آنلاین با پورت سریال و مشاهده عملکرد برنامه
- دارای مثال های فراوان و پشتیبانی قوی
چند شفاف سازی در مورد بوردهای آردوینو
- این بورد ها فقط بخش کوچکی از میکروکنترلرهای AVR هستند.
- زبان برنامه نویسی این بوردها ساده ، متفاوت و منحصر به فرد است.
- آردوینو از نظر سخت افزاری و نرم افزاری کاملا متن باز و در اختیار همه است.
معرفی برخی از بوردهای آردوینو
-
Arduino UNO
این بورد که بر اساس میکروکنترلر Atmega328p ساخته شده است ، دارای 14 ورودی/خروجی دیجیتال است که 6 تا از آنها میتواند به عنوان PWM باشد. همچنین دارای 6 ورودی آنالوگ ، کریستال 16 مگاهرتز ، ولتاژ عملکرد 5 ولت ، پورت USB ، ورودی آداپتور و دکمه ریست می باشد. در کنار میکرو کنترلر اصلی یک پروگرامر Stk500 قرار دارد که میتوان آن را فعال یا غیر فعال کرد.
لینک خرید انواع آردوینو UNO از فروشگاه الکترو ولت
-
Arduino Pro
هسته اصلی این بورد میتواند میکروکنترلرهای ATmega168 یا ATmega328 باشد. تعداد ورودی/خروجی ها دقیقا شبیه بورد قبلی است. این بورد می تواند علاوه بر 16 مگاهرتز و ولتاژ 5 ولت در حالت 8 مگاهرتز و ولتاژ 3.3 ولت نیز کار کند. همچنین یک هدر مخصوص نصب آی سی FTDI تعبیه شده است. پروتکل stk500 برای پروگرام کردن این بورد به کار گرفته شده است. ویژگی این بورد طراحی کم حجم آن است.
-
Arduino 101
یک بورد کاملا متفاوت و حرفه ای مخصوص آموزش ، بر اساس میکروکنترلر 32 بیتی Curie شرکت Intel به همراه ماژول های Bluetooth و شتاب سنج 6 محوره در کنار آن می باشد. دارای 14 ورودی/خروجی دیجیتال که 4 تا از آنها میتواند به عنوان PWM عمل کند. 6 ورودی آنالوگ ، پورت USB ، ورودی آداپتور ، کریستال 32 مگاهرتز و ولتاژ کاری 3.3 ولت می باشد.
-
Arduino Mega2560
این بورد که بر اساس میکروکنترلر Atmega2560 طراحی و ساخته شده است ، دارای قابلیت های بیشتری می باشد. تعداد ورودی/خروجی های دیجیتال آن 54 عدد ( 15 تا از آن میتواند PWM باشد ) ، 16 ورودی آنالوگ ، 4 پورتUART ، پورت USB ، ورودی آداپتور و کریستال 16 مگاهرتز برای آن تعبیه شده است.
لینک خرید مستقیم آردوینو Mega2560 از فروشگاه الکترو ولت
-
Arduino Zero
این برد همانند UNO است اما در ساخت آن از میکروکنترلر 32 بیتی Cortex M0+ به نام ARMSAMD21 شرکت اتمل استفاده شده است. این بورد فقط از ولتاژ 3.3 ولت و فرکانس 48Mhz استفاده می کند. این بورد امکانات بسیار زیادتری به علت ARM بودن آن دارد که برای مشاهده آن میتوانید به سایت شرکت سازنده مراجعه کنید.
با یادگیری آردوینو شروع کنم یا با یادگیری 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
منابع :
ویکی پدیا
سایت رسمی آردوینو ( Arduino.cc )
در صورتی که این مطلب مورد پسندتان بود ، لایک و اشتراک گذاری فراموش نشود.
دیدگاه (19)
با سلام
تازه با سایتتان اشنا شدم واقعا تبریک خدمتتان عرض می کنم درود برشما
اگر مقدور است در رابطه با برد اردینو روش برنامه نویسی و مدارات کاربردی ان
هم مطلب بیشتری در سایتتان قرار بدهید.
ممنون و سپاس گذارم
سلام دوست عزیز خیلی ممنونم چشم حتما
سلام خیلی کامل و مفید بود متشکرم موفق باشید
سپاس
با سپاس جوابی رو که دنبالش بودم بدست اوردم
سلام. متن مطالبتونو باذکرمنبع میخوام تو \ایان نامم بیارم اما متاسفانه نمیشه کپی کرد.خیلی بده که نمیشه کپی کرد.به من بگیدچیکار کنم وقت زیادی ندارم بشینم بنویسموتایپ کنم.
عضو سایت هم هستم.
ممنون
سلام شما به هیچ وجه نمیتوانید از سایت کپی کنید اما میتوانید نسخه pdf آن را با وارد کردن ایمیل خود دانلود نمایید
سلام میشه با اینا ماینینگ هم کرد؟؟
سلام دوست عزیز منظورتون دیتا ماینینگ هست یا کریپتو ماینینگ اگه اولی منظورتون هست به صورت جزئی بله میشه اما دومی نیاز به قدرت پردازشی بسیار بیشتر از آردوینو داره و عملا شدنی نیست
ممنون از مطالب خیلی خوبتون
من avr کار میکنم و همیشه برام سوال بود که Arduino چیه و اصلا به چه درد میخوره خیلی جستجو کردم و اصلا متوجه نمیشدم چرا این همه استقبال ازش شده چون اگر هر کس برنامه نویسی avr رو بلد باشه اصلا نیازی به این کیت نداره تا اینکه بالاخره بهترین مطلب رو داخل سایت شما خوندم و کاملا شیرفهم شدم به دوستان توصیه میکنم از ابتدا بصورت مستقیم کار با میکرو را یاد بگیرن و وقت خودشونو با Arduino تلف نکنن
سلام دوست عزیز ممنون از لطفتون البته که کار کردن مستقیم با میکرو حرفه ای تر هستش اما کار کردن با آردوینو به هیچ وجه وقت تلف کردن نیست چرا که پیاده سازی برخی از پروژه ها بسته به نوع پروژه با آردوینو هم راحت تر و ساده تر هست و هم صرفه اقتصادی بهتری دارد.
سلام خسته نباشید
من برای document پروژه ام معرفی آردوینو رو با ریفیرینس کار دارم میشه یگان کتاب فارسی یا یک مقاله فارسی برم بفرستید؟
ممنون میشم
سلام. ممنون از شما بابت سایت خوبتون
من یه سوال داشتم. میکروکنترل های بدون سیستم عامل اسمشون چیه وباچه زبان برنامه نویسی موازی نوشته میشن؟
سلام وخسته نباشید به استادبزرگوارواقعا خداقوت بهتون بده که باراهنمایی های جامع وکامل خیلی ازمشکلات ماراحل میکنید
سلام و خسته نباشید م ممنون بابت توضیحات کاملتون
میشه لطف کنید اموزش اماده سازی بردآردوینو برای کنترل موتور ها (برای ساخت cnc ) اماده کنید
سلام خسته نباشید.
من تصمیم به یادگیری کار با میکروکنترلر های avr گرفته ام.
و میان این همه زبان برنامه نویسی گیج شده ام ک با کدوم یکی موفق تر میشوم تا به یک حرفه ای تبدیل شوم. اول avr بعد هم اردوینو ..
بنظر شما چه زبانی بهتره ؟؟
با تشکر از مدیریت محترم الکترو وات
سلام دوست عزیز بهترین زبان برای شروع کار با میکروکنترلرها زبان برنامه نویسی C می باشد
سلام ممنون از مطالب خوبتون
لطفا نحوه ی ذخیره خروجی به صورت فایل (.csv یا اکسل)رو هم آموزش بدید.