فهرست مطالب:

اندازه گیری شتاب با استفاده از BMA250 و Raspberry Pi: 4 مرحله
اندازه گیری شتاب با استفاده از BMA250 و Raspberry Pi: 4 مرحله

تصویری: اندازه گیری شتاب با استفاده از BMA250 و Raspberry Pi: 4 مرحله

تصویری: اندازه گیری شتاب با استفاده از BMA250 و Raspberry Pi: 4 مرحله
تصویری: ف۳-۱۰: مثال درمورد اندازه‌گیری شتاب گرانشی با استفاده از حرکت پرتابه 2024, جولای
Anonim
Image
Image

BMA250 یک شتاب سنج کوچک ، نازک ، فوق العاده کم ، 3 محور با اندازه گیری وضوح بالا (13 بیت) تا 16 گرم پوند است. داده های خروجی دیجیتال به صورت مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال I2C قابل دسترسی است. شتاب ثابتی گرانش را در برنامه های حسگر شیب و همچنین شتاب پویا ناشی از حرکت یا ضربه اندازه گیری می کند. وضوح بالا (3.9 میلی گرم/LSB) اندازه گیری تغییرات شیب کمتر از 1.0 درجه را امکان پذیر می کند.

در این آموزش ما قصد داریم شتاب را در هر سه محور عمود بر با استفاده از BMA250 و رزبری پای اندازه گیری کنیم. این سنسور به زبان پایتون برنامه ریزی شده است.

مرحله 1: سخت افزار مورد نیاز:

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

مواد مورد نیاز برای تحقق هدف ما شامل اجزای سخت افزاری زیر است:

1. BMA250

2. تمشک پای

3. کابل I2C

4. I2C Shield برای رزبری پای

5. کابل اترنت

مرحله 2: اتصال سخت افزاری:

اتصال سخت افزاری
اتصال سخت افزاری
اتصال سخت افزاری
اتصال سخت افزاری

بخش اتصال سخت افزاری اساساً اتصالات سیم کشی مورد نیاز بین سنسور و تمشک pi را توضیح می دهد. اطمینان از اتصالات صحیح ضروری ترین ضرورت در هنگام کار بر روی هر سیستم برای خروجی مورد نظر است. بنابراین ، اتصالات مورد نیاز به شرح زیر است:

BMA250 از طریق I2C کار می کند. در اینجا مثال نمودار سیم کشی است که نحوه اتصال هر رابط سنسور را نشان می دهد.

خارج از جعبه ، برد برای یک رابط I2C پیکربندی شده است ، بنابراین توصیه می کنیم در غیر این صورت آگنوستیک از این اتصال استفاده کنید. تنها چیزی که نیاز دارید چهار سیم است!

فقط چهار اتصال نیاز به پین های Vcc ، Gnd ، SCL و SDA دارد و این اتصالات با کمک کابل I2C متصل می شوند.

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

مرحله 3: کد پایتون برای اندازه گیری شتاب:

کد پایتون برای اندازه گیری شتاب
کد پایتون برای اندازه گیری شتاب
کد پایتون برای اندازه گیری شتاب
کد پایتون برای اندازه گیری شتاب

مزیت استفاده از تمشک pi این است که به شما انعطاف پذیری زبان برنامه نویسی را می دهد که در آن می خواهید بورد را برنامه ریزی کنید تا سنسور با آن ارتباط برقرار کند. با استفاده از این مزیت این برد ، ما در اینجا برنامه نویسی آن را در پایتون نشان می دهیم. پایتون یکی از ساده ترین زبان های برنامه نویسی با ساده ترین نحو است. کد پایتون برای BMA250 را می توانید از انجمن GitHub که فروشگاه Dcube است بارگیری کنید

و همچنین برای سهولت کاربران ، ما در اینجا کد را نیز توضیح می دهیم:

به عنوان اولین مرحله کدگذاری ، باید کتابخانه SMBus را در مورد پایتون بارگیری کنید زیرا این کتابخانه از توابع مورد استفاده در کد پشتیبانی می کند. بنابراین ، برای بارگیری کتابخانه می توانید از لینک زیر دیدن کنید:

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

همچنین می توانید کد کار را از اینجا کپی کنید:

smbus وارد کنید

زمان واردات

# دریافت I2C busbus = smbus. SMBus (1)

آدرس # BMA250 ، 0x18 (24)

# ثبت محدوده انتخاب محدوده ، 0x0F (15)

# 0x03 (03) تنظیم محدوده = +/- 2gbus.write_byte_data (0x18 ، 0x0F ، 0x03)

آدرس# BMA250 ، 0x18 (24)# ثبت پهنای باند ، 0x10 (16)

# 0x08 (08) پهنای باند = 7.81 Hzbus.write_byte_data (0x18، 0x10، 0x08)

زمان خواب (0.5)

آدرس # BMA250 ، 0x18 (24)

# داده ها را از 0x02 (02) ، 6 بایت برگردانید

# X-Axis LSB ، X-Axis MSB ، Y-Axis LSB ، Y-Axis MSB ، Z-Axis LSB ، Z-Axis MSB

data = bus.read_i2c_block_data (0x18 ، 0x02 ، 6)

# داده ها را به 10 بیت تبدیل کنید

xAccl = (داده [1] * 256 + (داده [0] و 0xC0)] / 64

اگر xAccl> 511:

xAccl -= 1024

yAccl = (داده [3] * 256 + (داده [2] و 0xC0)) / 64

اگر yAccl> 511:

yAccl -= 1024

zAccl = (داده [5] * 256 + (داده [4] و 0xC0)) / 64

اگر zAccl> 511:

zAccl -= 1024

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

چاپ "شتاب در محور X:٪ d"٪ xAccl

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

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

کد با استفاده از دستور زیر اجرا می شود:

$> پایتون BMA250.py gt؛ پایتون BMA250.py

خروجی سنسور در تصویر بالا برای ارجاع کاربر نشان داده شده است.

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

برنامه های کاربردی
برنامه های کاربردی

شتاب سنج هایی مانند BMA250 بیشتر کاربرد آن را در بازی ها و تغییر نمای صفحه نمایش پیدا می کنند. این ماژول حسگر همچنین در سیستم پیشرفته مدیریت قدرت برای برنامه های تلفن همراه استفاده می شود. BMA250 یک سنسور شتاب دیجیتال سه محوری است که با یک کنترل کننده وقفه با حرکت روی تراشه هوشمند ترکیب شده است.

توصیه شده: