اجزای برد آردوینو mega2560
· میکروکنترلر ATmega2560 AVR
· 52 پین ورودی/ خروجی دیجیتال (پایههای PWM در آنها 15 عدد است.)
· 16ورودی آنالوگ
· 4 پورت UART (پورتهای سریال سخت افزاری)(پورتهای Rx و Tx)
· یک نوسانساز کریستال 16MHz
· یک پورت USB
· یک پاورجک تغذیه
· یک ICSP Header برای ارتباط SPI
· یک دکمه ریست
پایههای تغذیه
آردوینو mega2560 دارای چهار پایه 5 ولت، 5 پایه GND، یک پایه 3.3 ولت و یک پایه به عنوان ولتاژ ورودی Vin است. حداکثر جریان خروجی از پایههای 5 ولت برابر با 50 میلیآمپر است. تمامی GNDها از درون سختافزار به یکدیگر وصل شدهاند. Vin در آردوینو برای زمانی استفاده میشود که بخواهیم آردوینو را از سیستم خود جدا کرده و با استفاده از باطری آن را راهاندازی کنیم. برای این کار ابتدا پایه مثبت باطری را به Vin وصلکرده و سپس پایه منفی باطری را به یکی از GNDهای آردوینو وصل خواهیمکرد و مشاهده میکنیم که برد ما روشن شدهاست.
دقت داشتهباشید که ولتاژ ورودی به پایه Vin آردوینو باید در محدوده 7 تا 12 ولت باشد.
در تصویر زیر ما سطوح ولتاژ بخشهای مختلف آردوینو را بررسی خواهیم کرد.
ولتاژ ورودی از طریق جک تغذیه یا ولتاژ Vin وارد رگولاتور موجود بر روی برد میشود و تبدیل به 5 ولت با حدود 800 میلیآمپر میشود. اما اگر تغذیه برد را از طریق کابل USB آن تأمین کنیم دیگر نیاز به وجود رگولاتور نیست، زیرا کامپیوتر یا لپتاپ شما خود ولتاژ کنترل شده 5 ولت را از پایههای USB انتقال میدهند. وقتی از طریق USB برد آردوینو را روشن میکنیم مقدار حداکثر جریان ورودی به آردوینو 500 میلیآمپر خواهد بود.
این جریان و ولتاژ ورودی که از طریق رگولاتور یا USB وارد برد اصلی میشوند خود به 3 بخش تقسیم میشوند:
· قسمتی بر روی پایههای 5 ولت تغذیه قرار میگیرد که دارای حداکثر جریان 500mA است.
· قسمتی وارد رگولاتور LP2985 میشوند و ولتاژ 5 ولت را به 3.3 ولت تبدیل میکند در حالی که حداکثر جریان خروجی 150 میلیآمپر دارد.
· قسمتی دیگر به میکروی ATmega2560 خواهد رسید که باعث ایجاد حداکثر جریانی حدود 20 میلیآمپر بر روی پینهای میکرو خواهد شد.
در واقع این میکروی ATmega2560 که بر روی برد آردوینو mega2560 قرار دارد اصلیترین بخش برد آردوینو mega2560 است که بررسی ولتاژ آن در جدول زیر بیان شدهاست.
بیشترین ولتاژ |
ولتاژ معمولی |
کمترین ولتاژ |
میکروکنترلر |
5.5V |
5V |
2.7V |
ATmega |
رگولاتورهای آردوینو mega2560
در آردوینو mega2560 از دو رگولاتور smd بسیار مهم برای تبدیل ولتاژ استفاده میشود.
· رگولاتور LD1117S50CTR: که دارای ولتاژ خروجی 5 ولت است و با حداکثر مقدار ولتاژ ورودی 15 ولت و ماکسیمم جریان خروجی 800 میلیآمپر است. دقت کنید بهتر است از یک منبع تغذیه خارجی بین 7 تا 12 ولت برای استفاده طولانی مدت از آردوینو استفاده کنیم. اگر ولتاژ ورودی بیشاز 12 ولت باشد ممکن است فشار زیادی به رگولاتور وارد شود و از خود گرمای بیشتری تولید کند و این باعث آسیب به مدار میشود.
· رگولاتور LP2985-33DBVR: که دارای ولتاژ خروجی 3.3 ولت است و با بیشترین مقدار ولتاژ 16 ولت و ماکسیمم جریان 150 میلیآمپر است. این رگولاتور به این دلیل قرار داده شدهاست که برخی از قطعات دارای ولتاژ 3.3 ولت را بتوان بهوسیله آن راهاندازی کرد.
پس ما در اینجا با سه روش برای راه اندازی آردوینو آشنا شدیم:
· روش اول: از طریق پاور جک و یک منبع خارجی
· روش دوم: از طریق یک باطری 7 تا 12 ولت و پایه Vin
· روش سوم: از طریق کابل USB متصل به رایانه خود
دقت کنید که نمیتوان همزمان با جک تغذیه و با پین Vin آردوینو خود را راهاندازی کنید زیرا یک دیود محافظت از قطبیت بین پایه مثبت جک و پین Vin قرار داده شدهاست که امکان استفاده از این دو را بهطور همزمان نخواهدداد.
پایههای ورودی/خروجی دیجیتال
آردوینو mega2560 دارای 54 عدد پین دیجیتال ورودی/خروجی است که این پینها با دستوراتی همانند pinMode(); و digitalWrite(); و digitalRead(); کار میکنند و میتوانند به عنوان ورودی/خروجی قرار بگیرند.
هر کدام از این پینهای دیجیتال دارای یک مقاومت داخلی PULL_UP (20 تا 50 کیلو اهم) است که در کدنویسی میتوانیم آنها را فعال کنیم. این مقاومت داخلی بهصورت پیشفرض غیرفعال است.
نحوه فعالسازی PULL_UP داخلی با استفاده از دستور pinMode(pin,INPUT_PULLUP); در تابع void setup() انجام میشود.
در بین این 54 عدد پین ورودی/خروجی دیجیتال برخی از پینها قابلیت PWM را دارند که این پینها از شماره 2 تا 13 و همچنین از 44 تا 46 در برد آروینو mega قرار گرفتهاند.
پینهای PWM در واقع امکان دسترسی به یک خروجی 8 بیتی PWM را با استفاده از تابع analogWrite(pin,value); محیا میسازند که مقدار value آن در محدوده 0 تا 255 تغییر میکند.
پایههای ورودی آنالوگ
در برد آردوینو mega2560، 16 پین برای ورودی آنالوگ تعبیه شدهاست که این 16 پین با یک مبدل 10 بیتی ADC (analog digital converter) به برد آردوینو mega2560 متصل شدهاند. مقدار این پینها را میتوانیم با دستور analogRead(pin); بخوانیم. به دلیل 10 بیتی بودن این پینها، اعدادی در محدوده 0 تا 1023 به ما نشان خواهندداد که براساس ولتاژ مرجع آردوینو یعنی ولتاژ 5 ولت تغییر میکنند. اگر بخواهیم ولتاژ مرجع را برای این پینها بیشتر کنیم باید یک منبع تغذیه خارجی را به پین AREF وصل کنیم و سپس با استفاده از تابع analogRefrence(); مقدار حد بالای تفکیکپذیری آن را تغییر دهیم.
پایههای ورودی آنالوگ بهصورت پیشفرض در حالت ورودی قرار دارند. اگر در پروژهای به پایههای بیشتری نیاز داشتیم کافیست که با استفاده از دستور digitalWrite(Ax,mode); پایههای آنالوگ ورودی را به خروجی دیجیتال تغییر دهیم.(البته دقت داشتهباشید که برای انجام این عملیات باید ابتدا در تابع void setup() حالت پین آنالوگ را با استفاده از دستور pinMode(pin,OUTPUT/INPUT) در حالت خروجی قرار دهید.
پایههای Serial
آردوینو mega2560 دارای چندین پایه برای ارتباط Serial است. این پایهها هر کدام برای ارتباط یک Serial مشخص قرار دارند که در زیر به معرفی آنها خواهیم پرداخت:
· Serial که پایه Rx آن متناظر با پین 0 و پایه Tx آن متناظر با پین 1 است.
· Serial1 که پایه Rx آن متناظر با پین 19 و پایه Tx آن متناظر با پین 18 است.
· Serial2 که پایه Rx آن متناظر با پین 17 و پایه Tx آن متناظر با پین 16 است.
· Serial3 که پایه Rx آن متناظر با پین 15 و پایه Tx آن متناظر با پین 16 است.
پایه Rx برای دریافت و پایه Tx برای ارسال داده به صورت سریال و با پروتکل TTL استفاده میشوند. در آردوینو mega2560 این پینها به پینهای مرتبط USB-to-TTL در میکروی ATmega16U2 متصل هستند. از این نوع ارتباط برای دستگاهها و قطعاتی که با پروتکل سریال راهاندازی میشوند(همانند ماژول بلوتوث) استفاده میشود.
پایههای I2C
برد آردوینو mega2560 دارای دو پایه برای ارتباط I2C/TWI است که این دو پایه به پینهای 20 (SDA) و 21 (SCL) متصل شدهاند. این ارتباط برای دستگاهها و قطعاتی است که از این نوع ارتباط پشتیبانی میکنند. به عنوان مثال در برخی از نمایشگرها یا ژیروسکوپها و فشارسنجها از این پروتکل استفاده شده است.
I2C یک پروتکل ارتباط سریال است که با استفاده از یک سیم دیتا را منتقل میکند(SDA) و این دادهها با استفاده از یک پایه به نام SCL بین master و slave همزمان خواهندشد. SCL به سیگنال کلاک نیز شهرت دارد که این سیگنال توسط master ایجاد میشود. در این پروتکل میتوان بین چندین master با چندین slave به راحتی ارتباط برقرار کرد. این پروتکل را با استفاده از کتابخانه wire میتوان راهاندازی کرد.
پایههای ICSP
پایههای ICSP توانایی برقراری یک ارتباط سریال SPI با سرعت بالا را به ما میدهند. این پایهها عبارتاند از MISO در پین 50، MOSI در پین 51، SCK در پین 52 و SS در پین 53. این پینها با استفاده از توابع کتابخانهای SPI میتوانند یک ارتباط SPI را ایجاد کنند.
پایههای Exteral interrupts (وقفههای خارجی)
یک سری وقفه خارجی برای برخی از پینهای آردوینو mega2560 تهیه شدهاست که میتوان با استفاده از آنها وقفه خارجی تولید کرد. این پینها عبارتاند از :
· پین 2 برای وقفه 0
· پین 3 برای وقفه 1
· پین 18 برای وقفه 5
· پین 19 برای وقفه 4
· پین 20 برای وقفه 3
· پین 21 برای وقفه 2
در واقع این پینها میتوانند یک وقفه در عملیات را بر اساس اندکی تغییر در لبه ایجاد کنند که با استفاده از دستورات وقفه در بخش attachInterrupt() میتوانید آنها را مشاهده کنید.
Warning
Arduino mega2560 دارای یک فیوز با قابلیت تنظیم مجدد است که از درگاه USB رایانه شما در برابر اتصال کوتاه یا جریان کشی اضافی جلوگیری میکند. اگرچه که رایانهها به خودی خود دارای حفاظت داخلی است اما این فیوز یک لایه محافظتی جانبی برای ماست. به اینصورت که اگر یک جریان بیش از 0.5 آمپر به پورت USB وارد شود، فیوز به طور خودکار اتصال را قطع میکند تا زمانیكه مدار به حالت درست برگردد.
ارتباط با شیلدها
برد آردوینوmega2560 با اکثر شیلدهایی که برای بردهای آردوینو Duemilanove یا Dieccimila طراحی شده است همخوانی دارد.
تراشه سخت افزاری
برد آردوینو mega2560 نوع تغییریافته برد آردوینو mega اصلی بودهاست که در این برد اصلی با تغییر تراشه FTDI USB-to-Serial به ATmega16U2 این آردوینو شکل گرفتهاست.
البته دقت داشتهباشید که فقط در مدل R3 از برد آردوینو mega2560 از میکروی ATmega16U2 و در مدلهای R1 و R2 از میکروی ATmega8U2 به عنوان مبدل USB به Serial استفاده میشود که این خود یک تفاوت عمده در بردهای R1 و R2 نسبت به R3 به حساب میآید.
· پایههای I2C (SDA و SCL) در نزدیک پین AREF و پین IOREF در نزدیکی دکمه ریست برای زمانی است که بخواهیم شیلدها را با ولتاژ خروجی برد تطبیق دهند اضافه شدهاند.
· مدار ریست قویتری دارد
· از میکروی ATmega16U2 به جای ATmega8U2 استفاده شدهاست.
برای مشاهده نقشه پین آردوینو mega2560 اینجا کلیک کنید.
جهت كسب اطلاعات بیشتر میتوانید به سایت رسمی آردوینو مراجعه کنید.