مشاهده همه محصولات
محصولی پیدا نشد
دوست داشتن

سنسور شتاب و ژایرو MPU6050 با سنسور 3 محوره GY-521

مرجع:
DKP - 30065
DKP - 30065
دسته بندی: شتاب و ژایرو
موجود شد خبرم کن
توضیحات

سنسور شتاب و ژایرو MPU6050 با سنسور 3 محوره GY-521

MPU6050 GY-521 یک دستگاه پیگیری حرکت 6 محوره است که شامل یک ژیروسکوپ 3 محوره و یک شتاب سنج 3 محوره در یک تراشه‌ی تکی است. این دستگاه در پروژه‌ها و کاربردهای رباتیک و پروژه‌های الکترونیکی مختلف برای اندازه‌گیری حرکت، پیگیری جهت‌گیری و تشخیص حرکات استفاده می‌شود.ژیروسکوپ نرخ زاویه‌ای چرخش را در سه محور X، Y و Z اندازه‌گیری می‌کند. شتاب سنج شتاب را در سه محور X، Y و Z اندازه‌گیری می‌کند. MPU6050 شامل یک DMP داخلی است که محاسبات تلفیق سنسور را بر عهده دارد و خروجی کواترنیونی که جهت‌گیری دستگاه را نشان می‌دهد، ارائه می‌دهد. ماژول GY-521 به طور معمول با استفاده از پروتکل ارتباطی I2C با دستگاه‌های خارجی مانند میکروکنترلرها یا بردهای آردوینو ارتباط برقرار می‌کند. ژیروسکوپ محدوده قابل تنظیمی برای محورهای ±250، ±500، ±1000 یا ±2000 درجه در ثانیه (dps) دارد. شتاب سنج محدوده قابل تنظیمی برای محورهای ±2g، ±4g، ±8g یا ±16g دارد.MPU6050 خروجی دیجیتال برای اندازه‌گیری‌های ژیروسکوپ و شتاب سنج را فراهم می‌کند.ماژول همچنین شامل یک اتصال I2C کمکی است که می‌تواند برای اتصال حسگرها یا دستگاه‌های خارجی استفاده شود. ماژول GY-521 در محدوده ولتاژی 3.3 تا 5 ولت عمل می‌کند.

 

مشخصات فنی سنسور شتاب و ژایرو MPU6050 با سنسور 3 محوره GY-521

  • تامین ولتاژ: 3.3V تا 5V.
  • رابط ارتباطی: I2C.
  • ژیروسکوپ:
  • محدوده‌ی تکمیلی قابل تنظیم: ±250، ±500، ±1000، ±2000 درجه در ثانیه.
  • قابلیت اندازه‌گیری دقت زمان: ۱۶ بیت.
  • شتاب‌سنج:
  • محدوده‌ی تکمیلی قابل تنظیم: ±2g، ±4g، ±8g، ±16g.
  • قابلیت اندازه‌گیری دقت زمان: ۱۶ بیت.

 

بررسی پایه های سنسور شتاب و ژایرو MPU6050 با سنسور 3 محوره GY-521

بررسی پایه های mpu6050 - دانشجوکیت

MPU6050 (شتابسنج و ژیروسکوپ):

  • VCC: تغذیه (+3.3V تا +5V).
  • GND: زمین (GND).
  • SDA: خط داده‌ی سریال (Serial Data Line) برای ارتباط I2C.
  • SCL: خط ساعت (Serial Clock Line) برای ارتباط I2C.
  • XDA: خروجی ارتباط I2C کمکی (اختیاری).
  • XCL: خروجی ارتباط I2C کمکی (اختیاری).
  • AD0: پین آدرس ارتباط I2C (می‌تواند به VCC یا GND متصل شود).
  • INT: خروجی قطعه‌ی MPU6050 (می‌تواند به میکروکنترلر متصل شود).

سنسور 3 محوره (مانند سنسور شتابسنج و ژیروسکوپ):

  • VCC: تغذیه (+3.3V تا +5V).
  • GND: زمین (GND).
  • X_OUT: خروجی محور X.
  • Y_OUT: خروجی محور Y.
  • Z_OUT: خروجی محور Z.

 

به همراه ماژول MPU6050 چه اقلامی باید خریداری شود؟

  • برد آردوینو
  • برد ESP
  • کابل فلت
  • برد بورد

 

راه اندازی سنسور MPU6050 با آردوینو

در ادامه روش راه اندازی سنسور MPU6050 با آردوینو آموزش داده شده است.ابتدا کتابخانه Wire را به کد اضافه می‌کنیم.مقدار ثابتی به نام MPU_addr را با مقدار آدرس I2C سنسور MPU6050 (0x68) تعریف می‌کنیم.در تابع setup، ارتباط I2C را با شروع کردن Wire.begin() آماده می‌کنیم.به MPU6050 ارسال پیام Wake-up را می‌فرستیم تا سنسور از حالت خواب خارج شود.ارتباط سریال با سرعت 9600 بیت بر ثانیه را با استفاده از Serial.begin(9600) شروع می‌کنیم.

در تابع loop، مراحل خواندن داده‌های شتاب‌سنج را تکرار می‌کنیم.ابتدا با استفاده از Wire.beginTransmission(MPU_addr) و Wire.write(0x3B)، به MPU6050 می‌گوییم که داده‌های شتاب‌سنج را بخواند.سپس با استفاده از Wire.requestFrom(MPU_addr, 6, true)، از MPU6050 درخواست ۶ بایت داده می‌کنیم.

داده‌های شتاب‌سنج را خوانده و در متغیرهای accelerometerX، accelerometerY و accelerometerZ ذخیره می‌کنیم.سپس مقادیر خوانده شده را در مانیتور سریال با استفاده از Serial.print() و Serial.println() چاپ می‌کنیم.در انتهای حلقه loop، با استفاده از delay(1000) یک تاخیر ۱ ثانیه ایجاد می‌کنیم.این کد ساده به شما امکان می‌دهد داده‌های شتاب‌سنج را از سنسور MPU6050 خوانده و آنها را در مانیتور سریال نمایش دهید. 

#include <Wire.h>
const int MPU_addr = 0x68; // آدرس I2C سنسور MPU6050

void setup() {
  Wire.begin();        // شروع ارتباط I2C
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x6B);    // آدرس ثبت PWR_MGMT_1
  Wire.write(0);       // روشن کردن MPU-6050
  Wire.endTransmission(true);
  Serial.begin(9600);  // شروع ارتباط سریال
}

void loop() {
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x3B);    // آدرس شروع داده‌های شتاب‌سنج
  Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr, 6, true); // درخواست 6 بایت داده

  int16_t accelerometerX = Wire.read() << 8 | Wire.read();
  int16_t accelerometerY = Wire.read() << 8 | Wire.read();
  int16_t accelerometerZ = Wire.read() << 8 | Wire.read();

  // چاپ داده‌های شتاب‌سنج
  Serial.print("شتاب‌سنج:\t");
  Serial.print("X = "); Serial.print(accelerometerX);
  Serial.print("\tY = "); Serial.print(accelerometerY);
  Serial.print("\tZ = "); Serial.println(accelerometerZ);

  delay(1000); // تاخیر ۱ ثانیه
}

  

 راه اندازی سنسور MPU6050 با میکروپایتون

یک کد مایکروپایتون را برای خواندن داده‌های سنسور MPU6050 با استفاده از رابط I2C نوشته‌ایم.

from machine import I2C, Pin: در این خط، ماژول‌های I2C و Pin از کتابخانه machine را وارد می‌کنیم تا بتوانیم از آنها استفاده کنیم. 

MPU_addr = 0x68: در این خط، آدرس I2C سنسور MPU6050 را تعیین می‌کنیم و آن را به متغیر MPU_addr اختصاص می‌دهیم.

PWR_MGMT_1 = 0x6B و ACCEL_XOUT_H = 0x3B: در این خطوط، آدرس ثبت PWR_MGMT_1 و آدرس شروع داده‌های شتاب‌سنج را تعیین می‌کنیم و به متغیرهای متناظرشان اختصاص می‌دهیم. 

i2c = I2C(scl=Pin(5), sda=Pin(4)): در این خط، یک شیء I2C جدید با استفاده از پین‌های SDA و SCL را تعریف می‌کنیم. در اینجا، پین 5 به عنوان پین SCL و پین 4 به عنوان پین SDA استفاده می‌شوند.

i2c.start() و i2c.stop(): این دستورات برای شروع و پایان ارتباط I2C استفاده می‌شوند.

i2c.writeto(MPU_addr, bytearray([PWR_MGMT_1, 0])): با استفاده از این دستور، دستور خام PWR_MGMT_1 برای خاموش کردن حالت خواب سنسور MPU6050 ارسال می‌شود.

while True:: با استفاده از این حلقه بی‌نهایت، کد به طور مداوم ادامه خواهد داد.

i2c.start() و i2c.stop(): این دستورات برای شروع و پایان ارتباط I2C استفاده می‌شوند.

 

i2c.writeto(MPU_addr, bytearray([ACCEL_XOUT_H])): با استفاده از این دستور، دستور خام ACCEL_XOUT_H برای درخواست داده‌های شتاب‌سنج از سنسور ارسال می‌شود.

 

data = i2c.readfrom(MPU_addr, 6): با استفاده از این دستور، ۶ بایت داده از سنسور MPU6050 خوانده می‌شود و در متغیر data ذخیره می‌شود.

 

accelerometerX = int.from_bytes(data[0:2], 'big', True): با استفاده از این دستور، داده‌های خام خوانده شده را به عنوان مقدار عددی شتاب در محور X تبدیل می‌کنیم.

 

accelerometerY = int.from_bytes(data[2:4], 'big', True) و accelerometerZ = int.from_bytes(data[4:6], 'big', True): با استفاده از این دستورات، داده‌های خام بقیه محورها را به صورت عددی تبدیل می‌کنیم.

 

print("شتاب‌سنج:") و print("X =", accelerometerX) و ...: با استفاده از این دستورات، مقادیر شتاب‌سنج را در کنسول چاپ می‌کنیم.

 

utime.sleep(1): با استفاده از این دستور، برنامه را برای ۱ ثانیه متوقف می‌کنیم.

 

این کد مایکروپایتون به شما امکان می‌دهد داده‌های شتاب‌سنج را از سنسور MPU6050 خوانده و آنها را در کنسول چاپ کنید.

from machine import I2C, Pin

# تعریف آدرس‌های ثبت MPU6050
MPU_addr = 0x68
PWR_MGMT_1 = 0x6B
ACCEL_XOUT_H = 0x3B

# آماده‌سازی ارتباط I2C
i2c = I2C(scl=Pin(5), sda=Pin(4))
i2c.start()
i2c.writeto(MPU_addr, bytearray([PWR_MGMT_1, 0]))
i2c.stop()

# خواندن داده‌های شتاب‌سنج
while True:
    i2c.start()
    i2c.writeto(MPU_addr, bytearray([ACCEL_XOUT_H]))
    data = i2c.readfrom(MPU_addr, 6)
    i2c.stop()

    # تبدیل داده‌های خام به مقادیر شتاب
    accelerometerX = int.from_bytes(data[0:2], 'big', True)
    accelerometerY = int.from_bytes(data[2:4], 'big', True)
    accelerometerZ = int.from_bytes(data[4:6], 'big', True)

    # چاپ داده‌های شتاب‌سنج
    print("شتاب‌سنج:")
    print("X =", accelerometerX)
    print("Y =", accelerometerY)
    print("Z =", accelerometerZ)

    utime.sleep(1)  # تاخیر ۱ ثانیه

ادامه مطلبShow less
جزئیات محصول
DKP - 30065

مشخصات

نوع ماژول
شتاب و ژایرو
تعداد قطعات
14 عدد
ابعاد فیبر
2 * 1.5 سانتی متر
ولتاژ مورد نياز
3 تا 5 ولت DC
توان
در چهار بازه 250±، 500±، 1000± و 2000± درجه در ثانیه برای ژیروسکوپ و در چهار بازه 2g± ±4g، ±8g، ±16g برای شتاب سنج
دمای نگهداری
40- تا 85+ درجه سانتی گراد
ظرفیت
ترسیم الگوریتم های 9 محوری
نوع کانکتور
پین هدر
پروتکل ارتباطی
I2C
ارتباط UART
ندارد
نوع سنسور
شتاب سنج
ژایرو
نظرات(14)
رتبه‌بندی کلی
5
14 نظرات
کیفیت کالا
(5)
ارزش خرید
(5)
سوالات متداول
    ماژول برای شارژ و دشارژ همزمان باتری 18650 با ظرفیت 1200mAh تک سل چی بگیرم؟ tp4056 که چنین قابلیتی نداشت

    توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.


    آیان امکان راه اندازی چند سنسور DHT با ESP8266 با میکروپایتون وجود دارد؟

    امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایه‌های GPIO قابل اتصال به میکروکنترلرها هستند.


    چه جوری از میکروکنترلر ESP32 برای ساخت یک سیستم کنترل دما استفاده کنیم؟ برنامه نویسی پیچیده است؟

    برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:

    یک برد میکروکنترلر ESP32

    یک سنسور دما مثل DHT DS18B20

    یک المان سرد کننده

    با استفاده از کتابخانه DHT.h، می‌توانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، می‌توانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.

    در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال داده‌ها به پلتفرم IoT باید استفاده کنید. 


خریداران این محصول، این کالاها را نیز خریده اند:
محصولات مرتبط
2,950,000 تومان
برای این کالا امکان انتخاب محدوده اندازه گیری سرعت زاویه ای برای حسگر ژایروی سامانه به میزان 250 درجه بر ثانیه، 500 و 1000 و 2000 درجه بر ثانیه فراهم است. همچنین برای محدوده اندازه گیری شتاب ها هم محدوده‌ی 2g و 4g و...

ویژگی‌های فیزیکی

تعداد قطعات
14 عدد
ابعاد فیبر
2 * 1.5 سانتی متر
نوع کانکتور
پین هدر

ارتباطات

نوع کانکتور
پین هدر
پروتکل ارتباطی
I2C
ارتباط UART

تغذیه

ولتاژ مورد نياز
3 تا 5 ولت DC
توان
در چهار بازه 250±، 500±، 1000± و 2000± درجه در ثانیه برای ژیروسکوپ و در چهار بازه 2g± ±4g، ±8g، ±16g برای شتاب سنج
ظرفیت
ترسیم الگوریتم های 9 محوری

ویژگی های فنی

دمای نگهداری
40- تا 85+ درجه سانتی گراد

سایر ویژگی‌ها

نوع ماژول
شتاب و ژایرو
نوع سنسور
شتاب سنج
ژایرو
2,350,000 تومان
در این کیت 5 مدار آموزشی کنترل سطح مخزن آب ،آبیاری خودکار گل و باغچه ،دزدگیر منزل ،تهویه خودکار ،لامپ هوشمند بصورت کاردستی الکترونیک برای دانش آموزان و بدون نیاز به لحیم کاری و تجهیزات خاص به همراه DVD آموزش ویدئویی...
7,130,000 تومان
ماکت یک کیت مونتاژ شده مجموعه کامل و آماده جهت آموزش و یادگیری هوشمندسازی منازل و ساختمانهاست، با استفاده از اپلیکیشن بلوتوث موبایل سنسورهای ماکت را فعال میکنید و عملکرد هر ماژول بصورت آلارم هشدار بازر یا نمایش بر روی...
نوشته‌های مرتبط

فهرست

تماس با دانشجو کیت

ساعت تماس همه روزه از 9 صبح تا 5 عصر (بجز روزهای تعطیل) البته فروشگاه ما به صورت آنلاین است و می‌توانید خریدتان را انجام دهید. اما اگر سوالی داشتید که به تماس تلفنی نیاز داشت، فقط در ساعت‌های اعلام شده در خدمتیم.

021-88857245

021-88856524

031-32211313

 

شماره روبیکا و ایتا، فقط پیام، پاسخ به سوالات قبل از خرید و دریافت تصاویر کالاها

09375076606

 

ارسال سریع تهران (تحویل همان روز)

تمامی شهرهای ایران با پست

بخش قوانین ارسال و قوانین خرید را مطالعه کنید.

جستجو

مشاهده همه محصولات
محصولی پیدا نشد

یک حساب کاربری رایگان برای ذخیره آیتم‌های محبوب ایجاد کنید.

ورود به سیستم