آموزش آردوینو برد Nodemcu رباتیک شتاب و ژایرو نمایشگر OLED

راه اندازی ماژول MPU6050 و نمایش مقادیر محور x, y, z در ماژول Oled

نوشته شده توسط CiferTech

در این آموزش به کمک ماژول ژایرو MPU6050 مقادیر x, y و z را در محیط ۳D بدست آورده و سپس به کمک نمایشگر Oled و برد ESP8266 مقادیر نمایش خواهیم داد. بدست آوردن چنین مقادیری برای پروژه هایی که نیاز به چنین مقادیری برای راه‌اندازی دارند بسیار مفید است، برای مثال PID کنترلر ها، پهباد ها و در مجموع در مواردی که نیاز داریم با تغییر موقعیت ماژول تغییراتی را در خروجی مشاهده کنیم. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

راه اندازی ماژول mpu6050 شتاب و ژایرو با آردوینو - دیجی اسپارک

 


ماژول شتاب سنج MPU6050


حالا زمان این رسیده با سخت افزار اصلی این آموزش، یعنی MPU6050 بیشتر آشنا بشیم. Mpu6050 دارای یک شتاب سنج سه محوره و یک ژیروسکوپ سه محوره MEMS می‌باشد. دقت ماژول مبدل آنالوگ به دیجیتال ۱۲ بیت بوده و می‌تواند مقادیر X ، Y ، Z را در یک زمان اندازه گیری کند. بافر این ماژول از نوع FIFO با ظرفیت ۱۰۲۴ بایت می‌باشد. این ماژول به عنوان Slave به آردوینو توسط پایه‌های SCL و SDA متصل می‌شود. با استفاده از پردازشگر دیجیتال، ۴ خروجی برای دستیابی به دقت قابل توجه، در حرکت‌های کند و سریع در سنسور فراهم کرده است. با این روش کاربر می‌تواند بازه اندازه گیری را متناسب با شتاب یا سرعت تغییر دهد. به همین منظور در قسمت ژیروسکوپ سنسور چهار بازه ۲۵۰±، ۵۰۰±، ۱۰۰۰± و ۲۰۰۰± درجه بر ثانیه و در قسمت شتاب سنج سنسور چهار بازه ۲g، ±۴g، ±۸g، ±۱۶g± برای کاربر قابل انتخاب خواهد بود. توجه داشته باشید که ولتاژ کاری این ماژول ۳ الی ۵ ولت می‌باشد.

 

ماژول mpu6050 و راه اندازی با آردوینو - دیجی اسپارک

 


برد ESP8266


تراشه های ESP8266 از موارد محبوب در زمینه اینترنت اشیا هستند که نسبت به دیگر نمونه ها کیفیت بهتر و همچنین قیمت پایین تری نیز دارند، هسته مرکزی این ماژول ESP8266 EX می باشد که در واقع زیر این شیلد فلزی قرار گرفته است، در ضمن این شیلد فلزی به منظور کاهش نویز و همچنین محافظت از قطعات SMD حساس این ماژول قرار داده شده است. این ماژول ها در سری های مختلفی تولید می‌شوند از جمله esp01 و esp12، در واقع تفاوتی که مدل ها با یکدیگر دارند تعداد GPIO ها و همچنین حافظه آن ها است البته معمولا از نظر ظاهری نیز تفاوت هایی که با یکدیگر دارند که قابل تشخیص است. این ماژول ها از شبکه WIFI داخلی پشتیبانی می‌کنند، این میکرو کنترلر ها اولین بار در سال ۲۰۱۴ به بازار عرضه شدند. ESP8266 دارای ۱۳ GPIO و همچنین یک ورودی آنالوگ (A0) است.

 


ماژول نمایشگر Oled 1306


معمولا در پروژه های اینترنت اشیا و دیگر پروژه های امبدد از برای نمایش متن و مقادیر مختلف از نمایشگر های Oled استفاده می شود، این ماژول ها بدر انواع مختلق بسته به نوع ذرایور  اندازه یافت می شوند که یکی از پرطرفدار ترین آن ها SSD1306 می باشد، این نوع از Oled ها معمولا در اندازه های ۰٫۹۶ و ۱٫۳ اینچ ساخته می شوند همچنین پروتکل ارتباطی Oled ها I2C می باشد.

 


توضیح تکمیلی


در این پروژه با راه‌اندازی ماژول MPU6050، بدست آوردن مقادیر X, Y, Z و در نهایت چاپ آن‌ها در نمایشگر Oled می‌توانیم مقادیر ذکر شده را در لحظه مشاهده کنیم، از آنجایی که پروژه با برد ESP8266 را‌ه‌اندازی می‌شود در آموزش های قادر خواهیم بود با استفاده از قابلیت wifi برد مقادیر را به مقصد مشخص ارسال و یا برای نمونه در صفحه وب نمایش دهیم.

 


وسایل موردنیاز


ماژول MPU6050

برد ESP8266

نمایشگر Oled 0.96

 


نصب کتابخانه مورد نیاز


ابتدا در نرم افزار Arduino IDE اقدام به نصب کتابخانه مورد نیاز خواهیم‌کرد. مراحل زیر را دنبال کنید:

  1. این مسیر را دنبال کنید Sketch Include Library > Manage Libraries
  2. کلمه Adafruit SSD1306  را جستجو کنید.
  3. کتابخانه را نصب کنید.
  • سپس کلمه “GFX” را جستجو کنید و آن را نصب کنید.

 

 


تست و راه‌اندازی


در اولین مرحله، اقدام به راه‌اندازی ماژول و چاپ مقادیر X, Y, Z در سریال مانیتور نرم افزار Arduino IDE خواهیم‌کرد و در ادامه با اضافه کردن نمایشگر Oled به مدار، قادر خواهیم بود مقادیر را در نمایشگر Oled نیز مشاهده کنیم. اتصالات را مطابق جداول زیر برقرار کنید، همچنین کد را با تنظیمات پیش‌فرض در برد ESP8266 خود کامپایل کنید.

اتصالات ماژول mpu6050 به برد Nodemcu آردوینو - دیجی اسپارک

اتصالات ماژول Oled به برد Nodemcu - دیجی اسپارک

راه اندازی ماژول mpu6050 با Nodemcu و OLED - دیجی اسپارک

 

ابتدا کد های این بخش از پروژه را بررسی خواهیم کرد، در این قسمت کتابخانه های موردنیاز را فراخوانی خواهیم کرد.

 

در این قسمت طول و عرض نمایشگر Oled را وارد می‌کنیم.

 

در این قسمت متغیر های مربوز به مقادیر X, Y, Z را معرفی می‌کنیم.

 

در بخش void loop توابع مربوط به راه اندازی نمایشگر Oled را فراخوانی می‌کنیم، برای مثال اندازه فونت و رنگ متون را مشخص خواهیم‌کرد.

 

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

 

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

 

همچنین کد های زیر برای چاپ مقادیر در نمایشگر Oled هستند.

 

کد کامل، آماده برای آپلود.

 

نمایش مقادیر ماژول mpu6050 شتاب و ژایرو روی ماژول OLED - دیجی اسپارک

 


جمع بندی


در این آموزش با استفاده از ماژول MPU6050 و همچنین برد ESP8266  و نمایشگر Oled توانستیم مقادیر بدست آمده از ماژول ژایرو را در سریال مانیتور نرم‌افزار Arduino IDE و نمایشگر Oled چاپ کنیم، در آموزش های آینده بدلیل استفاده از برد ESP8266، می‌توانیم مقادیر را در صفحه وب نمایش دهیم.

  • تنظیمات منوی tools در نرم افزار آردوینو نیز مانند تصویر زیر است.

تنظیمات Tools در نرم افزار آردوینو ماژول mpu6050 با Nodemcu - دیجی اسپارک

 

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

 

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

 

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

CiferTech

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

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