راهنمای کامل آردوینو – صفر تا صد

arduino

آردوینو (Arduino) مجموعه نرم افزاری سخت افزاری بر پایه میکروکنترلر های Atmel است که در کشور ایتالیا شروع به کار کرد و پس از آن نمونه های ارزان چینی آن وارد بازار شدند. راحتی کار با نرم افزار آردوینو و لایه باز بودن برد های این مجموعه این دو ویژگی مهم آردوینو هستند و علاوه بر دو مورد قبلی، کتابخانه های فراوان هماهنگ با قطعات و سنسور های الکترونیکی و نمونه های زیاد مرتبط با این قطعات و سنسور ها، آردوینو را طی چند سال اخیر به محبوبیت فراوانی رسانده است.

 

فهرست راهنمای کامل آردوینو

  1. معرفی و مقایسه برد های مهم آردوینو
  2. معرفی مفاهیم کلی مرتبط با آردوینو
  3. نحوه ارتباط با برد های آردوینو
  4. نحوه کار با نرم افزار آردوینو
  5. نحوه اتصال سنسور ها و قطعات الکترونیکی به آردوینو
  6. نکات مهم در مورد آردوینو
  7. آموزش ساخت برد های آردوینو

 

۱-معرفی و مقایسه برد های مهم آردوینو

آردوینو اونو یا Arduino Uno

arduino_uno

اولین برد آردوینو اونو یا یک نام دارد که همزمان با نسخه ۱٫۰ نرم افزار آردوینو منتشر شد.این برد از ATmega328 به عنوان چیپ اصلی استفاده می کند که دارای ۱۴ پین دیجیتال که شش تای آنها از نوع PWM هستند  و ۶ پین آنالوگ است. این برد از ورودی USB و آداپتوری برای ارتباط با کامپیوتر و تغذیه مورد نیاز برد استفاده می کند.

 

آردوینو دسیمال یا Arduino Decimal

arduino_decimal

آردوینو دسیمال دقیقا شبیه به برد Uno است با این تفاوت که برای ارتباط USB از آی سی FT232 یا CH340 استفاده می کند. همین امر سبب کاهش پیچیدگی مدار و قیمت برد شده است. این برد از کلیه شیلد های موجود برای برد آردوینو اونو پشتیبانی می کند و از نظر ابعاد، ظاهر و جای پین ها با اونو یکسان است.

 

آردوینو نانو یا Arduino Nano

arduino_nano

برد آردوینو نانو نسخه کوچک شده برد دسیمال است. این برد از ATmega328 یا ATmega168 به عنوان چیپ اصلی استفاده می کند که هر دو دارای ۱۴ پین دیجیتال که شش تای آنها از نوع PWM هستند  و ۶ پین آنالوگ است. این برد از ورودی USB و آداپتوری برای ارتباط با کامپیوتر و تغذیه مورد نیاز برد استفاده می کند. و ارتباط USB آن با استفاده از آی سی FT232 یا CH340 است.

 

آردوینو پرو مینی یا Arduino Pro Mini

arduino_pro_min

برد آردوینو پرو مینی در دو ورژن ۵ ولت و ۳٫۳ ولت ارائه شده است. این برد از ارتباط USB استفاده نمی کند و برای برنامه نویسی (ریختن اسکتچ ها) باید از مبدل USB به Uart استفاده کرد. این برد از ATmega328 به عنوان چیپ اصلی استفاده می کند که دارای ۱۴ پین دیجیتال که شش تای آنها از نوع PWM هستند  و ۶ پین آنالوگ است. فرکانس کاری این برد روی ورژن ۵ ولت ۱۶ مگاهرتز و روی ورژن ۳٫۳ ولت ۸ مگاهرتز است. از این برد برای مواردی که نیاز به برنامه نویسی مداوم ندارند استفاده می شود. این بسیار کوچک و فشرده است.

 

آردوینو مگا یا Arduino Mega

arduino_mega

برد آردوینو مگا از ATmega2560 به عنوان چیپ اصلی استفاده می کند که دارای ۵۴ پین دیجیتال که پانزده تای آنها از نوع PWM هستند  و ۱۶ پین آنالوگ و ۴ ارتباط Uart است. این برد از ورودی USB و آداپتوری برای ارتباط با کامپیوتر و تغذیه مورد نیاز برد استفاده می کند. از این برد برای مواردی که نیاز به پین های دیجیتال یا آنالوگ بیشتر، رم بیشتر، حافظه بیشتر و یا نیاز به ارتباط Uart بیشتر است استفاده می شود.

 

آردوینو لیلی پد یا Arduino Lilypad

arduino_lilypad

برد آردوینو لیلی پد از ATmega328V و ATmega168V به عنوان چیپ اصلی استفاده می کند که هر دو دارای ۱۴ پین دیجیتال که شش تای آنها از نوع PWM هستند  و ۶ پین آنالوگ هستند. ویژگی اصلی لیلی پد استفاده از چیپ اصلی ورژن V است که مصرف جریان پایینی دارد. این برد از ارتباط USB استفاده نمی کند و برای برنامه نویسی (ریختن اسکتچ ها) باید مبدل USB به Uart استفاده کرد. فرکانس کاری این برد ۸ مگاهرتز است. از این برد بیشتر برای موارد طراحی لباس و مد استفاده میشود و به صورت گرد طراحی شده تا بتوان آن را با استفاده از نخ های رسانا روی پارچه دوخت. این برد توسط لیا بلوچی از مجموعه دیجی اسپارک طراحی شده است.

۲-معرفی مفاهیم کلی مرتبط با آردوینو

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

-میکروکنترلر یا Microcontroller : میکروکنترلر یک واحد پردازنده کوچک دارای حافظه رم و رام است که با کدنویسی صحیح می تواند عملکرد های مختلفی داشته باشد.

-پروگرمر یا Programmer : بسته به نوع و مدل از پروگرمر برای برنامه ریزی آی سی های مختلف استفاده می شود. معروف ترین مدل ها میتوان به MKII و STK500 اشاره کرد.

-بوت لودر یا Bootloader : بوت لودر آردوینو کدی است که بر روی آی سی قرار میگیرد و امکان برنامه ریزی(آپلود اسکتچ) با استفاده پورت کام را بجای استفاده از پروگرمر برای کاربر فراهم می سازد.

-اسکچ یا Sketch : برنامه های نوشته شده داخل نرم افزار آردوینو اسکچ نام دارند.

-کامپایل یا Compile : بررسی اسکچ ها درون برنامه آردوینو به منظور پیدا کردن مشکل و یا اطمینان از صحیح بودن کد های نوشته شده کامپایل نام دارد.

-آپلود اسکتچ یا Upload Sketch : عمل ریختن کد های نوشته توسط برنامه آردوینو آپلود اسکتچ نام دارد.

-پورت کام یا Com Port : پورت کام یکی از پورت های ارتباطی استفاده شده در رایانه های شخصی است.

-مبدل USB به TTL یا RS232 : به صورت کلی از این مورد برای تبدیل پورت USB به سریال استفاده میشود. تفاوت TTL و RS232 یا Uart و Serial در نوع سیگنال آن هاست و معمولا با استفاده از آی سی MAX232 ارتباط سریال را به Uart تبدیل میکنند. از این مبدل برای برقراری ارتباط بین برد و رایانه شخصی با استفاده از پورت USB استفاده می شود.

-شیلد یا Sheild : شیلد ها، برد هایی هستند که روی یک ورژن از برد های آردوینو به عنوان مثال آردوینو اونو قرار میگیرند و یک ویژگی را به آن ها اضافه می کنند. مثلا شیلد شبکه قابلیت اتصال به شبکه را اضافه می کند. شیلد ها به صورت انحصاری برای برد خاصی ساخته می شوند تا در صورت استفاده نیاز به سیم کشی نداشته باشند.

-لایبرری، کتابخانه یا Library : کتابخانه ها وسیله یا راهی برای گسترش میدان کاری نرم افزار و برد آردوینو هستند. برای مثال برای هماهنگ سازی آردوینو با یک آی سی یا شیلد خاص یا حتی یک سنسور و ماژول خاص باید کتابخانه ی مربوطه را نصب کنید.

-مانیتور یا مشاهده مقادیر پورت سریال یا Serial Monitor : بعضی اوقات به منظور دریافت اطلاعات از یک سنسور یا دریافت هر نوع اطلاعاتی بدون استفاده از نمایشگر باید از مانیتور کردن پورت سریال استفاده کنیم. با این کار مقادیر ارسالی از برد به رایانه شخصی و برعکس آن را می توان مشاهده و مانتیور کرد و حتی مقداری را به برد ارسال کرد.

 

۳-نحوه ارتباط با برد های آردوینو

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

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

arduino-usbtottl

 

۴-نحوه کار با نرم افزار آردوینو

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

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

2016-09-21-16_40_23-blink-_-arduino-1-6-11

همچنین از طریق منوی File گزینه ی Examples می توانید نمونه های آماده از پیش نوشته شده را انتخاب نمایید.

2016-09-21-18_00_05-blink-_-arduino-1-6-11

حال از منوی Tools گزینه Board برد مورد استفاده خود را انتخاب نمایید.

2016-09-21-16_41_24-blink-_-arduino-1-6-11

از گزینه ی Prossecor میکروکنترلر بکار رفته در بردتان را انتخاب نمایید. این گزینه تنها برای بعضی برد ها فعال است.

2016-09-21-16_41_38-blink-_-arduino-1-6-11

بعد از آن با استفاده از گزینه Port پورت مبدل USB به TTL یا برد خود را انتخاب نمایید.

2016-09-21-16_42_08-blink-_-arduino-1-6-11

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

2016-09-21-18_04_53-blink-_-arduino-1-6-11

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

2016-09-21-16_49_09-blink-_-arduino-1-6-11

بعد از تکمیل فرایند  چنانچه همه چیز درست باشد مانند تصویر زیر با پیغام Done Compling مواجه می شوید.

2016-09-21-16_49_10-blink-_-arduino-1-6-11

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

2016-09-21-16_52_33-blink-_-arduino-1-6-11

اگر در کدنویسی مشکلی وجود نداشت گزینه Upload را انتخاب نمایید.

2016-09-21-16_49_20-blink-_-arduino-1-6-11

بعد از تکمیل فرایند  چنانچه همه چیز درست باشد مانند تصویر زیر با پیغام Done Uploading مواجه می شوید.

2016-09-21-16_52_07-blink-_-arduino-1-6-11

چنانچه در آپلود دچار مشکل شوید، پیغام خطای مربوطه را مانند تصویر زیر دریافت می کنید.

2016-09-21-16_53_56-blink-_-arduino-1-6-11

 

۵-نحوه اتصال سنسور ها و قطعات الکترونیکی به آردوینو

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

در مورد قطعات الکترونیکی مثل دماسنج های دیجیتالی و … که دارای برد نیستند و نیاز به لحیم کاری دارند قضیه کمی متفاوت است. در برخورد با این موارد حتما باید ابتدا دیتاشیت قطعه مورد را نظر را به دقت مطالعه کرد و بخش شماتیک استفاده ی قطعه در شرایط مختلف را بررسی نمود. معمولا این قطعات بجز ارتباط بین پایه ها قطعه ای مانند مقاومت یا خارن نیز لازم دارند که باید به صورت مشخصی بین پایه ها لحیم شود که این موارد داخل دیتاشیت قطعه ذکر شده اند.

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

 

۶-نکات مهم در مورد آردوینو

-اولین و مهم ترین مورد ولتاژ ورودی برد است، به هیچ عنوان از محدوده ذکر شده در سایت اصلی تجاوز نکنید.

-سیم کشی غیر صحیح و اتصال کوتاه ممکن است به میکروکنترلر آسیب غیر قابل تعمیر اعمال کند.

-با مطالعه و مشورت برد مورد نظر خود را متناسب با نیاز های خودتان انتخاب کنید.

-برای برد هایی که فاقد پورت USB هستند باید از ارتباط USB به TTL استفاده نمایید.

-اگر تازه وارد هستید و تا کنون با برد آردوینو کار نکرده اید. ابتدا با برد های اماده شروع کنید و سپس به دنبال ساخت برد های آردوینو بروید.

-برد های SMD قیمت پایین تری دارند ولی بعد از سوختن میکروکنترلر به هر دلیلی، تعویض میکروکنترلر به این راحتی ها نخواهد بود.

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

 

۷-آموزش ساخت برد های آردوینو

در این سایت آموزش ساخت برد آردوینو Uno وجود دارد. برای اطلاعات بیشتر اینجا کلیک کنید. همچنین آموزش ریختن Bootloader روی میکروکنترلر در این پست وجود دارد. در آینده آموزش ساخت برد آردوینو دسیمال با قابلیت ارتباط از طریق پورت USB اضافه خواهد شد.