آموزش آردوینو پروژه های آردوینو

کنترل لابیرنت با سنسور MPU6050 و برد Arduino آردوینو

نوشته شده توسط حسین فهیمی

به نام خدا

در این پست قصد دارم آموزش کنترل لابیرنت Labyrinth که یک بازی حساس و تمرکز حواس میباشد؛ با ژیروسکوپ MPU6050 رو براتون بزارم. این بازی بسیار مهیج هست مخصوصا زمانی که با سنسور ژیروسکوپ ترکیب میشه… لذت بخش ترین قسمتش همین جاست که شما میتونید ژیروسکوپ MPU6050 رو به یک دستکش متصل کنید و بعد دستکش رو دستتون کنید. با کج کردن دستتون در دو محور X و Y لابیرنت هم مطابق با دست شما کج میشه… لابیرنت(Labyrinth) یک بازی بسیارجذاب میباشد که تمرکز حواس و تعادل شما را به چالش می کشد. شما باید یک گوی فلزی را از موانع متعدد عبور دهید و به خط پایان برسانید. موانعی که سر راه شما هستند عبارتند از دیوارها و حفره هایی که با کوچکترین خطا، شما را مجبور میکنند بازی را از ابتدا شروع کنید. در ادامه با مرجع تخصصی آردوینو، دیجی اسپارک همراه باشید.

 

 

سنسور شتاب و ژایرو MPU6050

ماژول شتاب و ژایرو MPU6050 از یک چیپ سیلیکونی با قابلیت پردازش دیجیتال بهره میبرد. این ماژول توانایی ترسیم الگوریتم های پیچیده ۹ محوری را دارد. در استفاده از سنسورهای مختلف در انواع مدارها به هنگام تنظیمات محور افقی، کاربر با تنظیمات و مشکلات زیادی روبرو خواهد بود. اما با استفاده از ماژول شتاب و ژایرو MPU6050 بسیار کوچک و سبک تمامی این مشکل ها حل خواهند شد. همانطور که در بخش مشخصات فنی مشاهده نمودید، کاربر امکان مشخص کردن بازه کاری را در ۴ حالت مختلف برای هر دو قسمت شتاب سنج و ژیروسکوپ را دارد. ماژول GY521 با تجمیع و ترکیب یک ژیروسکوپ ۳ محور با یک شتاب سنج ۳ محور روی یک چیپ سیلیکونی و بهره گیری از یک پردازشگر دیجیتال حرکت، قادر است الگوریتم پیچیده ۹ محوری را اجرا کند. این ویژگی بسیاری از مشکلاتی را که در تنظیم محور افقی در سنسورهای مجزا ایجاد می گردد را بر طرف خواهد ساخت. برای دستیابی به دقت بالای اندازه گیری در حرکت های کند و حرکتهای سریع در سنسور MPU6050 امکانی فراهم شده تا کاربر بتواند بازه اندازه گیری را متناسب با شتاب یا سرعت زاویه ای تغییر دهد.

 

 

مشخصات ژیروسکوپ MPU6050:

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

۲- نمونه گیری داده ها به صورت ۱۶ بیتی

۳- دارای فیلتر قابل برنامه ریزی دیجیتال

۴- جریان مصرفی بسیار ناچیز در محدوده ۵ میکروآمپر تا ۳٫۶ میلی آمپر

 

 

مشخصات شتاب سنج:

۱- خروجی دیجیتال برای سه محور x, y و z در رنج قابل برنامه ریزی   ±۲، ±۴، ±۸ و ۱۶± درجه بر ثانیه

۲- نمونه گیری داده ها به صورت ۱۶ بیتی

۳- جریان مصرفی در حدود ۵۰۰ میکروآمپر

۴- تشخیص ضربه و وقفه های در حال برنامه ریزی

۵- تحمل شوک های مکانیکی تا ۱۰ KG

 

 

سروو موتور Servo Motor

سروو نوعی از موتورهای الکتریکی است که با هدف بکارگیری در سیستم‌های کنترل فیدبک طراحی می‌شود. لختی (اینرسی) در این موتورها پایین بوده و در نتیجه تغییر سرعت در این موتورها بسیار سریع است. برای مشاهده ی آموزش کامل راه اندازی سروو موتور و تولید PWM با آردوینو کلیک کنید.

 

 

اتصالات :

  • SCL ژیروسکوپ به پین A5 آردوینو
  • SDA ژیروسکوپ به پین A4 آردوینو
  • Vcc ماژول و سیم قرمز سروو ها به ۵v آردوینو
  • Gnd ماژول و سیم قهوه ای سروو ها به Gnd آردوینو
  • سیم زرد سروو ها به پین ۹ و ۱۰ آردوینو

 

 

کد نویسی :

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

جهت انجام این آزمایش به چهار کالا نیاز دارید که من در زیر لینک خرید آن ها را برای شما قرار داده ام که میتوانید از فروشگاه دانشجو کیت تهیه کنید:

لابیرنت Labyrinth

برد آردوینو Arduino UNO

ماژول MPU6050

سرو موتور Servo Motor

امیدوارم از این آموزش لذت ببرید 🙂

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

حسین فهیمی

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