heart--digispark

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

این ماژول یک ماژول شتاب سنج ۹ محوره بسیار دقیق می باشد که دارای دقت بسیار بالا و سیستم پیشرفته پردازش حرکت دیجیتال داخلی (DMP) می باشد. این ماژول دارای دو چیپ مجزا است و با توجه به رابط I2C این ماژول به راحتی می توانید آن را به کمک آردوینو یا هر میکروکنترل دیگری راه اندازی نمایید. سنسور gyro سه محوره با دقت ۱۶ بیت و رنج اندازه گیری ۲۰۰۰ درجه بر ثانیه، سنسور شتاب سه محوره با دقت ۱۶ بیت و رنج اندازه گیری تا ۱۶g. سنسور قطب نمای ۳ محوره با دقت ۱۳ بیت همچنین دارای بافر FIFO با ظرفیت ۱۰۲۴ بایت و سنسور دما با رنج اندازه گیری ۴۰- تا ۸۵+ درجه سانتیگراد از قابلیتهای این ماژول می باشد. تعداد زیادی از این نوع سنسور ها در کارخانه های تلفن های هوشمند و تبلت ها استفاده میشود. در گوشی های هوشمند در ساخت اپلیکیشن ها، بازی ها و راهنما های مسیر(navigation) و … بکاربرده میشود. با این قابلیت میتوان حرکات یک شخص را دقیقا بررسی کرد و در برنامه های سه بعدی مانند برنامه های سلامت سنجی و تناسب اندام گرفته تا سرویس های مکان نما و … به کار برد.

 

سخت افزار مورد نیاز

آردوینو UNO

ماژول MPU-9150

 

اتصالات

زمین(GND) به زمین (GND) آردوینو
اتصال vcc به ۳٫۳ آردوینو
اتصال SDA به A4 آردوینو
اتصال SCL به A5 آردوینو
اتصال INT به پین ۲ آردوینو

 

arduino-to-9150

arduino-to-9150

 

کد نویسی:

جهت کامپایل برنامه نیاز به کتابخانه ی I2Cdev.hو MPU6050.h داریم این فایلها را دانلود کنید. دانلود

پس از دانلود فایل زیپ را در مسیر دلخواه قرار دهید و توسط مسیر زیر کتابخانه را به آردوینو اضافه کنید.

Import Library–> add Library

یکبار محیط آردوینو را ببندید و دوباره باز کنید.

 

کد نویسی:

شرح برنامه:

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

متغییر های شتاب سنج
داده ها به صورت ۱۶ بیتی است.
خروجی دیجیتال برای سه محور x, y و z در رنج قابل برنامه ریزی   ±۲، ±۴، ±۸ و ۱۶± درجه بر ثانیه
به صورت پیش فرض در مد ۱۶± است.
متغییر az,ay,ax به ترتیب مقدار شتاب در محور های z,y,x را در خود نگه میدارد.

ژایرو:
داده ها به صورت ۱۶ بیتی است.
خروجی دیجیتال برای سه محور y,x و z در رنج قابل برنامه ریزی   ±۲۵۰، ±۵۰۰، ±۱۰۰۰ و ۲۰۰۰± درجه بر ثانیه

به صورت پیش فرض در مد ±۲۵۰ است.
متغییر gz,gy,gx به ترتیب مقدار حرکت در محور های z,y,x را در خود نگه میدارد.

قطب نما:
خروجی دیجیتال برای سه محور x, y و z در رنج ±۱۲۰۰µT

متغییر mz,my,mx به ترتیب مقدار قطب نما در محور های z,y,x را در خود نگه میدارد.

جهت نمایش خروجی آن از  tab استفاده کردیم.

output-arduino

output-arduino

5 دیدگاه ها

  1. علی می‌گه:

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

    • شهاب کمالی می‌گه:

      سلام دوست عزیز ما قبلا آموزش ال سی دی کاراکتری و لمسی تی اف تی رو گذاشتیم انشالاه در آینده نمایشگر های گرافیکی بیشتری آموزش میدیم

  2. momo114 می‌گه:

    سلام
    خیلی ممنونم بابت آموزشتون، من برای ربات جنگجو میخواستم سنسور ضربه بزارم که با ضربات و جابجایی ناگهانی شتاب، دور موتورها را برعکس کنه، بعد یهو رسیدم به آموزش شما، به نظرم این سنسور مناسب باشه چون باهاش میتونم موقعیت در زمین را هم شناسایی کنم.

  3. hamid می‌گه:

    سلام
    مرسی از اموزشتون
    اگر پایه اینتراپت رو هم وصل نکنیم مشکلی پیش نمیاد؟؟؟
    چون تو بعضی جاها من دیدم بدون پایه اینتراپت وصل کردن 😐

  4. میثم می‌گه:

    اگه MPU6050.h رو نداشته باشیم یا نخوایم استفاده کنیم چه جوری باید عمل کرد؟

پاسخ دهید

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