آردوینو آموزش آردوینو

آموزش راه اندازی برد آردوینو Mega2560 Arduino و رفع مشکلات برنامه

Getting-started-with-arduino-mega2560-digispark-
نوشته شده توسط پریسا پوربلورچیان

بردهای آردوینو با توجه به ظاهر جذاب و راه اندازی ساده از میکروکنترلرهای امبدد پرطرفدار به حساب می‌آیند. هر یک از بردهای آردوینو دارای ویژگی های منحصر به فردی است که نیاز کاربر را در موارد مختلف برطرف خواهد کرد. در این بین برد آردونیو Arduino Mega2560 با در اختیار داشتن تعداد بیشتری از پایه های دیجیتال و آنالوگ بسیار پرکاربرد است. در ادامه آموزش به معرفی آردوینو Arduino Mega2560 و بررسی جزییات آن می‌پردازیم. با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


معرفی آردوینو Mega2560


برد آردوینو Arduino Mega2560 از میکروکنترلر Atmega2560 بهره می‌برد. ولتاژ ورودی مورد نیاز برای Arduino Mega2560 برابر با ۵ ولت DC است که از طریق کابل مبدل شیلد Type B تامین می‌گردد. ولتاژ ورودی پیشنهادی از طریق تغذیه جداگانه بین ۷ تا ۱۲ ولت DC است ولی با توجه به تست های انجام شده توسط تیم فنی ولتاژ بیش از ۹ ولت پیشنهاد نمی‌شود. با توجه به اطلاعات گفته شده در دیتاشیت کالا، برای ولتاژ ورودی مقدار مینیموم Min یا همان limit تعریف شده است که بین ۶ تا ۲۰ ولت DC است و نباید از این بازه خارج گردد، در غیر اینصورت به برد آسیب خواهد رسید. برد آردوینو Arduino Mega2560 به ترتیب دارای ۵۴ پایه دیجیتال و ۱۶ پایه آنالوگ است.جریان عبوری از هر یک از پایه های دیجیتال و آنالوگ در حدود ۲۰ میلی آمپر است که باید در هنگام اتصال ماژول به پایه ها به این نکته توجه کرد. همچنین جریان عبوری از پین ۳٫۳ ولت در حدود ۵۰ میلی آمپر است. حافظه فلش مموری Flash Memory برابر با ۲۵۶ کیلوبایت است که ۸ کیلو بایت آن توسط بوت لودر مصرف شده است. حافظه SRAM برابر با ۸KB و حافظه EEPROM برابر با ۴ KB می‌باشد. فرکانس پردازش در آردوینو Mega2560 برابر با ۱۶MHz است. پایه ۱۳ ال ای دی داخلی برد است که می‌توانید با کدنویسی به ال ای دی قرار گرفته شده بر روی برد فرمان دهید.

شناخت و راه اندازی برد آردوینو Arduino Mega2560 - دیجی اسپارک

 

روش پروگرام آردوینو Mega2560

همانند دیگر بردهای آردوینو، جهت پروگرام شدن Arduino Mega2560 از کامپایلر آردوینو Arduino استفاده می‌کنیم. میکروکنترلر Atmega2560 توسط بوت لودر Bootloader پیش برنامه ریزی شده و به شما امکان پروگرام کردن کد جدید بدون نیاز به پروگرامر جداگانه را می‌دهد. همچنین می‌توان بوت لودر را کنار گذاشت و از طریق پین ICSP میکروکنترلر را از طریق Arduino ISP پروگرام کرد.

هشدار

برد آردوینو دارای فیوز کنترل جریان است که از پورت USB کامپیوتر شما را در برابر اتصال کوتاه و با عبور جریان بیش از حد تعریف شده، محافظت می‌کند.

 


بررسی پایه‌های I/O آردوینو


تغذیه: تغذیه برد آردوینو Mega2560 از طریق کابل شیلد USB و تغذیه جداگانه تامین می‌گردد. منبع تغذیه به صورت اتوماتیک انتخاب می‌شود. تغذیه خارجی توسط یک آداپتور AC به DC و یا یک باتری تامین می‌گردد. یک جک ۲٫۱ میلی متری جهت اتصال آداپتور به آردوینو بر روی برد قرار داده شده است. اتصال باتری از طریق پایه های GND و VIN بر روی برد انجام می‌شود. پایه های تغذیه به ترتیب Vin، تغذیه ۵ ولت، تغذیه ۳٫۳ ولت ،تغذیه GND و IOREF می‌باشد.

پایه‌های I/O برد آردوینو مگا 2560 - دیجی اسپارک

  

Vin: تغذیه Vin به هنگام استفاده از تغذیه خارجی مورد استفاده قرار می‌گیرد و میتوانید ولتاژ ورودی را از طریق این پین تامین کنید. همچنین اگر ولتاژ از طریق پاور جک تامین شده است، از طریق Vin به ولتاژ دسترسی خواهید داشت.

 

۵ ولت: این پین خروجی ۵ ولت رگولاتور قرار گرفته شده بر روی برد است و میتوانید جهت تامین ولتاژ مورد نیاز سنسورها در رنج ۵ ولت از آن استفاده نمایید.

 

۳٫۳ ولت: همانند خروجی ۵ ولت، از رگولاتور قرار گرفته شده بر روی برد تنظیم شده است و حداکثر جریان عبوری از آن در حدود ۵۰ میلی آمپر است.

 

GND: پایه های زمین یا همان GND

 

IOREF: توسط این پایه ولتاژ مرجع مشخص می‌شود. به عنوان مثال به هنگام استفاده از شیلدهای آردوینو، از طریق پایه IOREF ولتاژ مناسب بین ۳٫۳ و ۵ ولت را انتخاب کرده و ولتاژ شیلد را فراهم می‌کند.

 

حافظه: اتمگا Atmega2560، دارای ۲۵۶ کیلوبایت حافظه Flash است که ۸ کیلوبایت آن توسط بوت لودر مصرف شده است. همچنین ۸ کیلوبایت حافظه SRAM و ۴ کیلوبایت حافظه EEPROM دارد.

 

ورودی و خروجی‌ها: تمام ۵۴ پایه دیجیتال آردوینو Mega2560، به عنوان ورودی و خروجی استفاده می‌شود و میتوان توسط توابع PinMode، DigitalRead و DigitalWrite فراخوانی می‌شوند. ولتاژ مورد نیاز برای هر پایه ۵ ولت DC وجریانی در حدود ۲۰ میلی آمپر است. ۱۶ پایه آنالوگ هم به ترتیب با توابع PinMode، AnalogRead و AnalogWrite فراخوانی می‌شوند و به عنوان ورودی مورد استفاده قرار می‌گیرد.

 

پورت سریال: آردوینو Mega2560 دارای چهار ارتباط سریال جداگانه است که از جمله مزیت های ویژه این برد است. پورت های سریال به ترتیب زیر است:

  • سریال ۰: پایه ۰ برابر با RX، پایه ۱ برابر با TX
  • سریال ۱: پایه ۱۹ برابر با RX، پایه ۱۸ برابر با TX
  • سریال ۲: پایه ۱۷ برابر با RX، پایه ۱۶ برابر با TX
  • سریال ۳: پایه ۱۵ برابر با RX، پایه ۱۴ برابرر با TX

 

اینتراپت‌های خروجی: پایه های اینتراپت به ترتیب زیر است و توسط تابع attachInterrupt فراخوانی می‌شوند:

  • پایه ۲ برابر با  ۰ interrupt
  • پایه ۳ برابر با ۱ interrupt
  • پایه ۱۸ برابر با ۵ interrupt
  • پایه ۱۹ برابر با ۴ interrupt
  • پایه ۲۰ برابر با ۳ interrupt
  • پایه ۲۱ برابر با ۲ interrupt

 

پایه‌های PWM: پایه‌های PWM به ترتیب ۲ تا ۱۳ و ۴۴ تا ۴۶ است. ۱۵ پایه PWM برابر با ۸ بیت است که توسط تابع AnalogWrite فراخوانی می‌شوند.

 

پروتکل SPI: پایه‌های ارتباط SPI در برد آردوینو Arduino Mega2560 به شرح زیر است:

  • پایه ۵۰ برابر با MISO
  • پایه ۵۱ برابر با MOSI
  • پایه ۵۲ برابر با SCK
  • پایه ۵۳ برابر با SS

 

پروتکل I2C یا همان TWI: پایه‌های ارتباط I2c در برد آردوینو Arduino Mega2560 به شرح زیر است:

  • پایه ۲۰ برابر با SDA
  • پایه ۲۱ برابر با SCL

 

پایه AREF: از این پایه به عنوان ولتاژ مرجع ADC استفاده می‌شود.

 

پایه Reset: جهت ریست میکروکنترلر از این کلید استفاده می‌شود.

 

 


راه اندازی آردوینو Mega2560


جهت راه اندازی برد، پس از اتصال به لپتاپ، از منو نرم افزار آردوینو Arduino، برد Arduino Genuino Mega or Mega2560 را انتخاب کنید. سپس دقت کنید که پروسسور Processor بر روی Atmega2560 باشد. پس از آن پورت را انتخاب و برنامه مورد نظر را بر روی برد آپلود Upload کنید. دقت کنید این برد در دو مدل CH340 و R3 ارائه شده است که در نوع CH340 باید درایور مناسب قبل از آپلود برنامه نصب و تست گردد.

 


معرفی شیلدهای Arduino Mega


 

شیلد پروتوتایپ آردوینو:

این شیلد در واقع به عنوان پروتوتایپ بوده و امکانات بیشتری در اختیار کاربر قرار می‌دهد. بر روی شیلد برد بورد قرار گرفته شده و پین های بیشتری در دسترس خواهد بود. شیلد پروتو تایپ آردوینو Arduino Mega2560 Proto Shield

 

شیلد دما و رطوبت و وای فای IOT

توسط این شیلد می‌توان پروژه های اینترنت اشیا را به راحتی بدون نیاز به سیم کشی اضافه پیاده سازی کرد. بر روی این شیلد تراشه وای فای ESP8266 به همراه سنسور دما و رطوبت DHT11 قرار گرفته شده است. شیلد دما و رطوبت و وای فای آردوینو Arduino mega 2560 مخصوص اینترنت اشیاء IOT با رله Relay

 

جعبه پلکسی شفاف کیس برد آردوینو Arduino Mega2560 Box

جهت جلوگیری از ضربه خوردن برد از جعبه پلکسی استفاده می‌شود. جعبه پلکسی شفاف کیس برد آردوینو Arduino Mega2560 Box

 

شیلد کنترلر پرینتر ۳ بعدی Ramps آردوینو RepRap Arduino MEGA Shield

شیلد کنترلر پرینتر ۳ بعدی Ramps آردوینو RepRap Arduino MEGA Shield یک برد کنترل پرینتر سه بعدی جدید ۱٫۴ REPRAP PRUSA است که با توجه به نیاز الکترونیک به یک محصول با بسته بندی کوچک و قیمت مناسب طراحی شده است. طراحی ماژولار شیلد کنترلر پرینتر ۳ بعدی Ramps آردوینو RepRap Arduino MEGA Shield به صورتی است که در کنار اتصال استپر موتور قابلیت مدیریت اکسترودر پرینتر را دارد. شیلد کنترلر پرینتر ۳ بعدی Ramps آردوینو RepRap Arduino MEGA Shield

 

 

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

 


پروژه و دریافت بن ارسال رایگان 


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۴ دیدگاه

  • سلام اردوینو مگا دارم ولی دچار مشکل شده برنامه رو اپلود میکنم اما از eepromتوی برنامه استفاده نمیکنم!وقتی یواس بی قطغ و سپس وصل میشه برنامه بازم اجرا میشه!
    یعنی توی حافظه میمونه در صورتی که باید پاک شه!چکار کنم بنظرتون؟

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

        • سلام
          پس از Verify بایستی برنامه را Upload کنید. در صورتیکه خطایی در برنامه وجود ندارد، دو حالت وجود دارد، کدها سالم نباشد و یا اتصالات به درستی انجام نشده است.
          بررسی و نتیجه را از همین طریق اعلام نمایید.

  • سلام ضمن خسته نباشید یک سئوالی دارم اینکه می توانم از طریق پروگرامر هایی که میکروکترلرهای Atmega را پروگرام می کنیم آردینو۲۵۶۰ را پروگرام نمود و کلیه پایه ها مخصوصا پورت usb را از طریق برنامه هایی که با نرم افزار Atmel Studio می نویسیم در اختیار بگیریم

  • سلام …ببخشید من اردوینو یونو دارم .. اما میکرو ش سوخت مث اینکه ..وسط کار یهو دیگه کار نکرد…. و وقتی اومدم دوباره برناممو آپلود کنم اپلود نشد و دکمه ریست هم میزدم ..ریست نمیشد …دلیل سوختنش چی میتونه باشه ؟؟

    • با سلام
      در این خصوص بایستی توضیحات کامل ارائه دهید تا بررسی گردد. مانند نحوه ی استفاده و ولتاژ اعمالی به آن

  • سلام
    من میخوام از رابط spi یه ماژولrc522و ماژول sd به اردوینو مگا وصل کنم ولی rfid وقتی که sd وصل باشه کار نمیکنه پایهcs هم صفر و یک میکنم ولی جواب نمیگیرم

      • ممنونم از پاسخگوییتون
        از کتابخانه ی rc522 , sdخود سایت اردوینو استفاده میکنم
        پروژه اینه است که یه سری اطلاعات روی sd ذخیره شده که باید متناسب با هر کارت rfid یه اطلاعاتی روی ال سی دی نمایش بده

        • سلام مجدد
          در صورت استفاده از ماژول SD CARD و RFID مشکلی در اجرای RFID وجود ندارد. همچنین در پروتکل SPI امکان اتصال چند Slave در باس SPI وجود دارد. اتصالات پروژه را اعلام نمایید تا بررسی گردد.

          • mosi و miso و sck هر دو ماژول به همان پورت های اردوینو و پین های ss به پایه های۴۸ و ۵۳ وصل شده است
            اتصالات در لحاظ وصل بودن قطعا درست هستند چون در صورتی که ماژول sd برق نداشته باشد rfid کار میکند حتی اردوینو رو عوض کردم ولی فرق نکرد

            • با سلام
              با توجه به اینکه این مشکل برای اکثر کاربران به وجود آمده است، روش های مختلفی برای حل مشکل ارائه شده است. میتوانید با استفاده از یک مقاومت نزدیک به رنج ۳۰۰ اهم تا ۳۳۰ اهم بین پایه MISO ماژول RFID و SD قرار دهید و مجدد تست کنید. بررسی و نتیجه را اعلام فرمایید.