فهرست مطالب:
- مرحله 1: سخت افزار مورد نیاز:
- مرحله 2: اتصال سخت افزاری:
- مرحله 3: کد پایتون برای اندازه گیری شتاب:
- مرحله 4: برنامه های کاربردی:
تصویری: اندازه گیری شتاب با استفاده از H3LIS331DL و Raspberry Pi: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
H3LIS331DL ، یک شتاب سنج خطی کم توان با عملکرد بالا 3 محور متعلق به خانواده "نانو" ، با رابط سریال دیجیتال I²C است. H3LIS331DL دارای مقیاس های کامل قابل انتخاب 100 گرم//200 گرم/± 400 گرم کاربر است و قادر به اندازه گیری شتاب ها با نرخ داده خروجی از 0.5 هرتز تا 1 کیلوهرتز است. H3LIS331DL تضمین می کند که در محدوده دمایی طولانی از -40 تا +85 درجه سانتی گراد کار کند.
در این آموزش ما قصد داریم ارتباط H3LIS331DL و Raspberry Pi را با استفاده از پایتون به عنوان زبان برنامه نویسی نشان دهیم.
مرحله 1: سخت افزار مورد نیاز:
مواد مورد نیاز برای تحقق هدف ما شامل اجزای سخت افزاری زیر است:
1. H3LIS331DL
2. تمشک پای
3. کابل I2C
4. I2C Shield برای تمشک pi
5. کابل اترنت
مرحله 2: اتصال سخت افزاری:
بخش اتصال سخت افزاری اساساً اتصالات سیم کشی مورد نیاز بین سنسور و تمشک pi را توضیح می دهد. اطمینان از اتصالات صحیح ضروری ترین ضرورت در هنگام کار بر روی هر سیستم برای خروجی مورد نظر است. بنابراین ، اتصالات مورد نیاز به شرح زیر است:
H3LIS331DL روی I2C کار خواهد کرد. در اینجا مثال نمودار سیم کشی است که نحوه اتصال هر رابط سنسور را نشان می دهد.
خارج از جعبه ، برد برای یک رابط I2C پیکربندی شده است ، بنابراین توصیه می کنیم در غیر این صورت آگنوستیک از این اتصال استفاده کنید. تنها چیزی که نیاز دارید چهار سیم است!
فقط چهار اتصال نیاز به پین های Vcc ، Gnd ، SCL و SDA دارد و این اتصالات با کمک کابل I2C متصل می شوند.
این اتصالات در تصاویر بالا نشان داده شده است.
مرحله 3: کد پایتون برای اندازه گیری شتاب:
مزیت استفاده از تمشک pi این است که به شما انعطاف پذیری زبان برنامه نویسی را می دهد که در آن می خواهید تخته را برنامه ریزی کنید تا سنسور با آن ارتباط برقرار کند. با استفاده از این مزیت این برد ، ما در اینجا برنامه نویسی آن را در پایتون نشان می دهیم. پایتون یکی از ساده ترین زبان های برنامه نویسی با ساده ترین نحو است. کد پایتون برای H3LIS331DL را می توانید از انجمن github ما که فروشگاه DCUBE است بارگیری کنید.
و همچنین برای سهولت کاربران ، ما در اینجا کد را نیز توضیح می دهیم:
به عنوان اولین مرحله کدگذاری ، باید کتابخانه SMBus را در مورد پایتون بارگیری کنید ، زیرا این کتابخانه از توابع مورد استفاده در کد پشتیبانی می کند. بنابراین ، برای بارگیری کتابخانه می توانید از لینک زیر دیدن کنید:
pypi.python.org/pypi/smbus-cffi/0.5.1
همچنین می توانید کد کار را از اینجا کپی کنید:
smbus وارد کنید
زمان واردات
# دریافت I2C busbus = smbus. SMBus (1)
آدرس # H3LIS331DL ، 0x18 (24)
# انتخاب کنترل ثبت 1 ، 0x20 (32)
# 0x27 (39) حالت روشن ، نرخ خروجی داده = 50 هرتز# X ، Y ، Z-Axis فعال است
bus.write_byte_data (0x18 ، 0x20 ، 0x27)
# H3LIS331DL آدرس ، 0x18 (24)# انتخاب کنترل ثبت 4 ، 0x23 (35)
# 0x00 (00) به روز رسانی مداوم ، انتخاب در مقیاس کامل = +/- 100 گرم
bus.write_byte_data (0x18 ، 0x23 ، 0x00)
زمان خواب (0.5)
آدرس # H3LIS331DL ، 0x18 (24)
# داده ها را از 0x28 (40) ، 2 بایت برگردانید
# X-Axis LSB ، X-Axis MSB
data0 = bus.read_byte_data (0x18 ، 0x28)
data1 = bus.read_byte_data (0x18 ، 0x29)
# تبدیل dataxAccl = data1 * 256 + data0
اگر xAccl> 32767:
xAccl -= 65536
آدرس # H3LIS331DL ، 0x18 (24)
# داده ها را از 0x2A (42) ، 2 بایت بخوانید
# Y-Axis LSB ، Y-Axis MSB
data0 = bus.read_byte_data (0x18 ، 0x2A)
data1 = bus.read_byte_data (0x18 ، 0x2B)
# تبدیل داده ها
yAccl = data1 * 256 + data0
اگر yAccl> 32767:
yAccl -= 65536
آدرس # H3LIS331DL ، 0x18 (24)
# داده ها را از 0x2C (44) ، 2 بایت برگردانید
# Z-Axis LSB ، Z-Axis MSB
data0 = bus.read_byte_data (0x18 ، 0x2C)
data1 = bus.read_byte_data (0x18 ، 0x2D)
# تبدیل داده ها
zAccl = data1 * 256 + data0
اگر zAccl> 32767:
zAccl -= 65536
# خروجی داده ها به صفحه
print "Acceleration in X-Axis:٪ d"٪ xAccl
print "Acceleration in Y-Axis:٪ d"٪ yAccl
print "Acceleration in Z-Axis:٪ d"٪ zAccl
کد با استفاده از دستور زیر اجرا می شود:
$> پایتون H3LIS331DL.py gt؛ پایتون H3LIS331DL.py
خروجی سنسور در تصویر بالا برای ارجاع کاربر نشان داده شده است.
مرحله 4: برنامه های کاربردی:
شتاب سنج هایی مانند H3LIS331DL بیشتر کاربرد آن را در تعویض مشخصات و بازی ها پیدا می کنند. این ماژول حسگر همچنین در سیستم پیشرفته مدیریت قدرت برای برنامه های تلفن همراه استفاده می شود. H3LIS331DL یک سنسور شتاب دیجیتال سه محوری است که با یک کنترل کننده قطع وقوع حرکت روی تراشه هوشمند ترکیب شده است.
توصیه شده:
اندازه گیری زمان (ساعت اندازه گیری نوار): 5 مرحله (همراه با تصاویر)
Time Time (Tape Measure Clock): برای این پروژه ، ما (Alex Fiel & amp؛ Anna Lynton) یک ابزار اندازه گیری روزانه تهیه کردیم و آن را به ساعت تبدیل کردیم! طرح اولیه این بود که یک نوار اندازه گیری موجود را موتور کنید. در ساخت آن ، ما تصمیم گرفتیم که راحت تر بتوانیم پوسته خودمان را ایجاد کنیم
اندازه گیری شتاب با استفاده از H3LIS331DL و آردوینو نانو: 4 مرحله
اندازه گیری شتاب با استفاده از H3LIS331DL و آردوینو نانو: H3LIS331DL ، یک شتاب سنج خطی کم توان با عملکرد بالا 3 محور متعلق به خانواده "نانو" ، با رابط سریال دیجیتال I²C است. H3LIS331DL دارای مقیاس های کامل قابل انتخاب 100 گرم//200 گرم/400 گرم user است و قادر به اندازه گیری شتاب های
اندازه گیری شتاب با استفاده از H3LIS331DL و ذره فوتون: 4 مرحله
اندازه گیری شتاب با استفاده از H3LIS331DL و ذره فوتون: H3LIS331DL ، یک شتاب سنج خطی کم توان با عملکرد بالا 3 محور متعلق به خانواده "نانو" ، با رابط سریال دیجیتال I²C است. H3LIS331DL دارای مقیاس های کامل قابل انتخاب 100 گرم//200 گرم/400 گرم user است و قادر به اندازه گیری شتاب های
اندازه گیری شتاب با استفاده از ADXL345 و Raspberry Pi: 4 مرحله
اندازه گیری شتاب با استفاده از ADXL345 و Raspberry Pi: ADXL345 یک شتاب سنج کوچک ، باریک ، فوق العاده کم قدرت ، 3 محوره با اندازه گیری وضوح بالا (13 بیتی) تا 16 گرم است. داده های خروجی دیجیتال به صورت مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال I2 C قابل دسترسی است. اندازه گیری
اندازه گیری شتاب با استفاده از BMA250 و Raspberry Pi: 4 مرحله
اندازه گیری شتاب با استفاده از BMA250 و Raspberry Pi: BMA250 یک شتاب سنج کوچک ، باریک ، فوق العاده کم قدرت ، 3 محور با اندازه گیری وضوح بالا (13 بیت) تا 16 گرم است. داده های خروجی دیجیتال به صورت مکمل 16 بیتی دو فرمت شده و از طریق رابط دیجیتال I2C قابل دسترسی است. اندازه گیری استاتیک