فهرست مطالب:
تصویری: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python: 4 Step
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
MPL3115A2 از سنسور فشار MEMS با رابط I2C برای ارائه اطلاعات دقیق فشار/ارتفاع و دما استفاده می کند. خروجی های سنسور با ADC 24 بیتی با وضوح بالا دیجیتالی می شوند. پردازش داخلی وظایف جبران خسارت را از سیستم MCU میزبان حذف می کند. این دستگاه قادر به تشخیص تغییر در 0.05 کیلو پاسکال است که معادل 0.3 متر ارتفاع است. در اینجا نمایش آن با تمشک pi با استفاده از کد پایتون است.
مرحله 1: آنچه شما نیاز دارید..
1. تمشک پای
2. MPL3115A2
3. کابل I²C
4. I²C Shield برای رزبری پای
5. کابل اترنت
مرحله 2: اتصالات:
یک سپر I2C برای تمشک pi بگیرید و آن را به آرامی روی پایه های gpio تمشک pi فشار دهید.
سپس یک سر کابل I2C را به سنسور MPL3115A2 و سر دیگر را به سپر I2C وصل کنید.
همچنین کابل اترنت را به pi وصل کنید یا می توانید از ماژول WiFi استفاده کنید.
اتصالات در تصویر بالا نشان داده شده است.
مرحله 3: کد:
کد پایتون MPL3115A2 را می توانید از مخزن Github ما- انجمن فروشگاه DCUBE بارگیری کنید.
اینجا پیوند است
ما از کتابخانه SMBus برای کد پایتون استفاده کرده ایم ، مراحل نصب SMBus بر روی تمشک pi در اینجا شرح داده شده است:
pypi.python.org/pypi/smbus-cffi/0.5.1
همچنین می توانید کد را از اینجا کپی کنید ، به صورت زیر آمده است:
# توزیع شده با مجوز اراده آزاد.
# از آن به هر نحوی که می خواهید استفاده کنید ، سودمند یا رایگان ، مشروط بر اینکه در مجوز آثار مرتبط با آن متناسب باشد.
# MPL3115A2
# این کد برای کار با ماژول کوتاه MPL3115A2_I2CS I2C طراحی شده است
smbus وارد کنید
زمان واردات
# اتوبوس I2C بگیرید
bus = smbus. SMBus (1)
آدرس # MPL3115A2 ، 0x60 (96)
# انتخاب کنترل ثبت ، 0x26 (38)
# 0xB9 (185) حالت فعال ، OSR = 128 ، حالت ارتفاع سنج
bus.write_byte_data (0x60 ، 0x26 ، 0xB9)
آدرس # MPL3115A2 ، 0x60 (96)
# ثبت پیکربندی داده ها را انتخاب کنید ، 0x13 (19)
# 0x07 (07) رویداد آماده داده برای ارتفاع ، فشار ، دما فعال شده است
bus.write_byte_data (0x60 ، 0x13 ، 0x07)
آدرس # MPL3115A2 ، 0x60 (96)
# انتخاب کنترل ثبت ، 0x26 (38)
# 0xB9 (185) حالت فعال ، OSR = 128 ، حالت ارتفاع سنج
bus.write_byte_data (0x60 ، 0x26 ، 0xB9)
زمان خواب (1)
آدرس # MPL3115A2 ، 0x60 (96)
# خواندن داده ها از 0x00 (00) ، 6 بایت
# وضعیت ، tHeight MSB1 ، tHeight MSB ، tHeight LSB ، temp MSB ، temp LSB
data = bus.read_i2c_block_data (0x60 ، 0x00 ، 6)
# داده ها را به 20 بیت تبدیل کنید
tHeight = ((داده [1] * 65536) + (داده [2] * 256) + (داده [3] و 0xF0)] / 16
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16
ارتفاع = tHeight / 16.0
cTemp = temp / 16.0
fTemp = cTemp * 1.8 + 32
آدرس # MPL3115A2 ، 0x60 (96)
# انتخاب کنترل ثبت ، 0x26 (38)
# 0x39 (57) حالت فعال ، OSR = 128 ، حالت فشارسنج
bus.write_byte_data (0x60 ، 0x26 ، 0x39)
زمان خواب (1)
آدرس # MPL3115A2 ، 0x60 (96)
# خواندن اطلاعات از 0x00 (00) ، 4 بایت
# وضعیت ، pres MSB1 ، pres MSB ، pres LSB
data = bus.read_i2c_block_data (0x60 ، 0x00 ، 4)
# داده ها را به 20 بیت تبدیل کنید
pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
فشار = (pres / 4.0) / 1000.0
# خروجی داده ها به صفحه
چاپ "فشار:٪.2f kPa"٪ فشار
چاپ "ارتفاع:٪.2f متر"٪ ارتفاع
print "Temperature in Celsius:٪.2f C"٪ cTemp
print "دما در فارنهایت:٪.2f F"٪ fTemp
مرحله 4: برنامه های کاربردی:
برنامه های کاربردی مختلف MPL3115A2 شامل ارتفاع سنجی با دقت بالا ، تلفن های هوشمند/رایانه های لوحی ، ارتفاع سنج الکترونیکی شخصی و غیره است. همچنین می توان آن را در GPS Dead Reckoning ، تقویت GPS برای خدمات اضطراری ، کمک نقشه ، ناوبری و همچنین تجهیزات ایستگاه هواشناسی گنجانید.
توصیه شده:
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: MMA8452Q یک شتاب سنج هوشمند ، کم مصرف ، سه محوری ، خازنی ، میکرو ماشین با 12 بیت وضوح است. گزینه های قابل برنامه ریزی کاربر قابل انعطاف با کمک توابع تعبیه شده در شتاب سنج ، قابل تنظیم در دو فاصله
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python: 4 Step
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python: BH1715 یک سنسور نور محیطی دیجیتالی با رابط گذرگاه I²C است. BH1715 معمولاً برای به دست آوردن داده های نور محیط برای تنظیم قدرت نور پس زمینه LCD و صفحه کلید برای دستگاه های تلفن همراه استفاده می شود. این دستگاه دارای وضوح 16 بیت و ضمیمه
Raspberry Pi MCP9808 Temperature Sensor Python: 4 Step
Raspberry Pi MCP9808 Temperature Sensor Python: MCP9808 یک سنسور درجه حرارت دیجیتال بسیار دقیق با 0.5 درجه سانتیگراد مینی ماژول I2C است. آنها با رجیسترهای قابل برنامه ریزی کاربر که برنامه های سنجش دما را تسهیل می کنند تجسم یافته اند. سنسور دما MCP9808 با دقت بالا تبدیل به یک صنعت
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor جاوا: 4 مرحله
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Java: A1332 یک سنسور موقعیت زاویه مغناطیسی قابل برنامه ریزی با وضوح 360 درجه بدون تماس است. این سیستم برای سیستم های دیجیتال با استفاده از رابط I2C طراحی شده است. این دستگاه بر اساس فناوری Circular Vertical Hall (CVH) و یک سیگنال مبتنی بر ریزپردازنده قابل برنامه ریزی ساخته شده است
Raspberry Pi - TMP100 Temperature Sensor Python: 4 Step
Raspberry Pi-TMP100 Temperature Sensor Python: TMP100 ماژول I2C MINI با دقت بالا ، کم مصرف ، سنسور دما دیجیتال. TMP100 برای اندازه گیری دمای طولانی ایده آل است. این دستگاه دقت ± 1 درجه سانتی گراد را بدون نیاز به کالیبراسیون یا تهویه سیگنال جزء خارجی ارائه می دهد. او