جدول المحتويات:
فيديو: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python تعليمي: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
يستخدم MPL3115A2 مستشعر ضغط MEMS بواجهة I2C لتوفير بيانات دقيقة للضغط / الارتفاع ودرجة الحرارة. يتم ترقيم مخرجات المستشعر بدقة عالية 24 بت ADC. تزيل المعالجة الداخلية مهام التعويض من نظام MCU المضيف. إنه قادر على اكتشاف تغيير في 0.05 كيلو باسكال فقط وهو ما يعادل تغيرًا بمقدار 0.3 متر في الارتفاع. هذا هو العرض التوضيحي مع Raspberry Pi باستخدام كود Python.
الخطوة 1: ماذا تحتاج..
1. Raspberry Pi
2. MPL3115A2
3. كابل I²C
4. I²C Shield لـ Raspberry Pi
5. كابل إيثرنت
الخطوة الثانية: التوصيلات:
خذ درع I2C لـ Raspberry Pi وادفعه برفق فوق دبابيس gpio الخاصة بـ Raspberry Pi.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر MPL3115A2 والطرف الآخر بالدرع I2C.
قم أيضًا بتوصيل كبل Ethernet بـ pi أو يمكنك استخدام وحدة WiFi.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود python الخاص بـ MPL3115A2 من مستودع Github - DCUBE Store Community.
ها هو الرابط الالكتروني
لقد استخدمنا مكتبة SMBus لرمز Python ، يتم وصف خطوات تثبيت SMBus على Raspberry Pi هنا:
pypi.python.org/pypi/smbus-cffi/0.5.1
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
# موزعة بترخيص الإرادة الحرة.
# استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، بشرط أن تتناسب مع تراخيص الأعمال المرتبطة بها.
# MPL3115A2
# تم تصميم هذا الرمز للعمل مع الوحدة المصغرة MPL3115A2_I2CS I2C
استيراد smbus
وقت الاستيراد
# احصل على حافلة I2C
الحافلة = 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)
time.sleep (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 = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16
temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16
الارتفاع = tHeight / 16.0
cTemp = درجة الحرارة / 16.0
fTemp = cTemp * 1.8 + 32
# عنوان MPL3115A2 ، 0x60 (96)
# حدد سجل التحكم ، 0x26 (38)
# 0x39 (57) الوضع النشط ، OSR = 128 ، وضع البارومتر
bus.write_byte_data (0x60 ، 0x26 ، 0x39)
time.sleep (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 م"٪ الارتفاع
اطبع "درجة الحرارة بالدرجة المئوية:٪.2f C"٪ cTemp
طباعة "درجة الحرارة بالفهرنهايت:٪.2f F"٪ fTemp
الخطوة 4: التطبيقات:
تشمل التطبيقات المختلفة لـ MPL3115A2 قياس الارتفاع عالي الدقة ، والهواتف الذكية / الأجهزة اللوحية ، والإلكترونيات الشخصية لقياس الارتفاع وما إلى ذلك ، ويمكن أيضًا دمجها في GPS Dead Reckoning ، وتحسين GPS لخدمات الطوارئ ، ومساعدة الخرائط ، والملاحة بالإضافة إلى معدات محطة الطقس.
موصى به:
Raspberry Pi SHT25 حساس الرطوبة ودرجة الحرارة Python تعليمي: 4 خطوات
Raspberry Pi SHT25 مستشعر الرطوبة ودرجة الحرارة Python تعليمي: SHT25 I2C مستشعر الرطوبة ودرجة الحرارة ± 1.8٪ RH ± 0.2 ° C I2C وحدة صغيرة. أصبح مستشعر الرطوبة ودرجة الحرارة عالي الدقة SHT25 معيارًا صناعيًا من حيث عامل الشكل والذكاء ، مما يوفر إشارات استشعار خطية ومعايرة
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python تعليمي: 4 خطوات
Raspberry Pi MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Python تعليمي: MMA8452Q هو مقياس تسارع ذكي ، منخفض الطاقة ، ثلاثي المحاور ، سعوي ، دقيق ميكانيكي مع دقة 12 بت. يتم توفير خيارات مرنة قابلة للبرمجة للمستخدم بمساعدة الوظائف المضمنة في مقياس التسارع ، والتي يمكن تكوينها لمقاطعتين
Raspberry Pi - TMP007 مستشعر حراري بالأشعة تحت الحمراء Python تعليمي: 4 خطوات
Raspberry Pi - TMP007 مستشعر حراري بالأشعة تحت الحمراء Python تعليمي: TMP007 هو مستشعر حراري يعمل بالأشعة تحت الحمراء يقيس درجة حرارة جسم ما دون ملامسته. يتم امتصاص طاقة الأشعة تحت الحمراء المنبعثة من الجسم الموجود في مجال المستشعر بواسطة المثبّت الحراري المدمج في المستشعر. الثرموبيل
Raspberry Pi - PCA9536 Input / output Expander Python تعليمي: 4 خطوات
Raspberry Pi - PCA9536 Input / output Expander Python Tutorial: PCA9536 عبارة عن جهاز CMOS مكون من 8 أسنان يوفر 4 بتات من توسع الإدخال / الإخراج للأغراض العامة (GPIO) لتطبيقات I2C-bus / SMBus. يتكون من سجل تكوين 4 بت لخدمة الغرض من تحديد الإدخال أو الإخراج ، 4 بت
Raspberry Pi - HIH6130 I2C حساس الرطوبة ودرجة الحرارة Python تعليمي: 4 خطوات
Raspberry Pi - مستشعر الرطوبة ودرجة الحرارة HIH6130 I2C Python التعليمي: HIH6130 عبارة عن مستشعر للرطوبة ودرجة الحرارة بإخراج رقمي. توفر هذه المستشعرات مستوى دقة يبلغ ± 4٪ رطوبة نسبية. مع الاستقرار الرائد في الصناعة على المدى الطويل ، I2C الرقمي الحقيقي المعوض لدرجة الحرارة ، الموثوقية الرائدة في الصناعة ، كفاءة الطاقة