فهرست مطالب:

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer Digital Python: 4 Step
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer Digital Python: 4 Step

تصویری: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer Digital Python: 4 Step

تصویری: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Accelerometer Digital Python: 4 Step
تصویری: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial 2024, جولای
Anonim
Image
Image

MMA8452Q یک شتاب سنج هوشمند ، کم مصرف ، سه محوری ، خازنی و میکرو ماشین با وضوح 12 بیت است. گزینه های قابل برنامه ریزی کاربر منعطف با کمک توابع تعبیه شده در شتاب سنج ، قابل تنظیم در دو پین وقفه ارائه شده است. دارای مقیاس های کامل قابل انتخاب توسط کاربر of 2g/± 4g/g 8g با داده های فیلتر شده با گذر بالا و همچنین داده های بدون فیلتر موجود در زمان واقعی است. در اینجا نمایش آن با تمشک pi با استفاده از کد پایتون است.

مرحله 1: آنچه شما نیاز دارید..

آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!

1. تمشک پای

2. MMA8452Q

3. کابل I²C

4. I²C Shield برای رزبری پای

5. کابل اترنت

مرحله 2: اتصالات:

اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات

یک سپر I2C برای تمشک pi بگیرید و آن را به آرامی روی پایه های gpio تمشک pi فشار دهید.

سپس یک سر کابل I2C را به سنسور MMA8452Q و سر دیگر را به سپر I2C وصل کنید.

همچنین کابل اترنت را به pi وصل کنید یا می توانید از ماژول WiFi استفاده کنید.

اتصالات در تصویر بالا نشان داده شده است.

مرحله 3: کد:

کد
کد

کد پایتون برای MMA8452Q را می توانید از مخزن github ما بارگیری کنید- ControlEverythingCommunity

اینجا پیوند است.

ما از کتابخانه SMBus برای کد پایتون استفاده کرده ایم ، مراحل نصب SMBus بر روی تمشک pi در اینجا شرح داده شده است:

pypi.python.org/pypi/smbus-cffi/0.5.1

همچنین می توانید کد را از اینجا کپی کنید ، به صورت زیر آمده است:

# توزیع شده با مجوز اراده آزاد.

# از آن به هر نحوی که می خواهید استفاده کنید ، سودمند یا رایگان ، مشروط بر اینکه در مجوز آثار مرتبط با آن متناسب باشد.

# MMA8452Q

# این کد برای کار با ماژول کوتاه MMA8452Q_I2CS I2C طراحی شده است.

smbus وارد کنید

زمان واردات

# اتوبوس I2C بگیرید

bus = smbus. SMBus (1)

آدرس # MMA8452Q ، 0x1C (28)

# کنترل ثبت ، 0x2A (42) را انتخاب کنید

# 0x00 (00) حالت StandBy

bus.write_byte_data (0x1C ، 0x2A ، 0x00)

آدرس # MMA8452Q ، 0x1C (28)

# کنترل ثبت ، 0x2A (42) را انتخاب کنید

# 0x01 (01) حالت فعال

bus.write_byte_data (0x1C ، 0x2A ، 0x01)

آدرس # MMA8452Q ، 0x1C (28)

# ثبت نام پیکربندی ، 0x0E (14) را انتخاب کنید

# 0x00 (00) محدوده را روی +/- 2g تنظیم کنید

bus.write_byte_data (0x1C ، 0x0E ، 0x00)

زمان خواب (0.5)

آدرس # MMA8452Q ، 0x1C (28)

# داده ها را از 0x00 (0) ، 7 بایت برگردانید

# ثبت وضعیت ، X-Axis MSB ، X-Axis LSB ، Y-Axis MSB ، Y-Axis LSB ، Z-Axis MSB ، Z-Axis LSB

data = bus.read_i2c_block_data (0x1C ، 0x00 ، 7)

# تبدیل داده ها

xAccl = (داده [1] * 256 + داده [2]) / 16

اگر xAccl> 2047:

xAccl -= 4096

yAccl = (داده [3] * 256 + داده [4]) / 16

اگر yAccl> 2047:

yAccl -= 4096 z

Accl = (داده [5] * 256 + داده [6]) / 16

اگر zAccl> 2047:

zAccl -= 4096

# خروجی داده ها به صفحه

print "Acceleration in X-Axis:٪ d"٪ xAccl

print "Acceleration in Y-Axis:٪ d"٪ yAccl

print "Acceleration in Z-Axis:٪ d"٪ zAccl

مرحله 4: برنامه های کاربردی:

MMA8452Q دارای برنامه های مختلفی است که شامل برنامه های E-Compass ، تشخیص جهت گیری استاتیک که شامل عمودی/منظره ، بالا/پایین ، چپ/راست ، شناسایی موقعیت عقب/جلو ، نوت بوک ، خواننده الکترونیکی ، و تشخیص لغزش و سقوط آزاد ، زمان واقعی است تشخیص جهت گیری از جمله واقعیت مجازی و بازخورد موقعیت کاربر 3D بازی ، تجزیه و تحلیل فعالیت در زمان واقعی مانند شمارش گام شمار ، تشخیص افت سقوط آزاد برای هارد دیسک ، پشتیبان گیری GPS حساب شده و موارد دیگر.

توصیه شده: