جدول المحتويات:
فيديو: الجسيمات فوتون - MPL3115A2 دروس حساس مقياس الارتفاع الدقيق: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
يستخدم MPL3115A2 مستشعر ضغط MEMS بواجهة I2C لتوفير بيانات دقيقة للضغط / الارتفاع ودرجة الحرارة. يتم ترقيم مخرجات المستشعر بدقة عالية 24 بت ADC. تزيل المعالجة الداخلية مهام التعويض من نظام MCU المضيف. إنه قادر على اكتشاف تغيير في 0.05 كيلو باسكال فقط وهو ما يعادل تغيرًا بمقدار 0.3 متر في الارتفاع. ها هو توضيحها مع فوتون الجسيم.
الخطوة 1: ماذا تحتاج..
1. جسيم الفوتون
2. MPL3115A2
3. كابل I²C
4. I²C Shield for Particle Photon
الخطوة الثانية: التوصيلات:
خذ درع I2C لفوتون الجسيمات وادفعه برفق فوق دبابيس فوتون الجسيمات.
ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر MPL3115A2 والطرف الآخر بالدرع I2C.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل رمز الجسيمات لـ MPL3115A2 من متجر Github-DCUBE Store الخاص بنا.
ها هو الرابط الالكتروني.
لقد استخدمنا مكتبتين لرمز الجسيمات ، وهما application.h و spark_wiring_i2c.h. مكتبة Spark_wiring_i2c مطلوبة لتسهيل اتصال I2C مع المستشعر.
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// MPL3115A2
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية الصغيرة MPL3115A2_I2CS I2C
#يشمل
#يشمل
// عنوان MPL3115A2 I2C هو 0x60 (96)
#define Addr 0x60
تعويم cTemp = 0.0 ، fTemp = 0.0 ، الضغط = 0.0 ، الارتفاع = 0.0 ؛
int temp = 0 ، tHeight = 0 ؛ عرض طويل = 0 ؛
الإعداد باطل()
{
// تعيين متغير
Particle.variable ("i2cdevice"، "MPL3115A2") ؛
Particle.variable ("cTemp" ، cTemp) ؛
Particle.variable ("الضغط" ، الضغط) ؛
Particle.variable ("الارتفاع" ، الارتفاع) ؛
// تهيئة اتصال I2C
Wire.begin () ؛
// تهيئة الاتصال التسلسلي ، اضبط معدل الباود = 9600
Serial.begin (9600) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التحكم
Wire.write (0x26) ؛
// الوضع النشط ، OSR = 128 ، وضع مقياس الارتفاع
Wire.write (0xB9) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل تكوين البيانات
Wire.write (0x13) ؛
// تم تمكين حدث جاهز للبيانات للارتفاع والضغط ودرجة الحرارة
Wire.write (0x07) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (300) ؛
}
حلقة فارغة()
{
بيانات int غير الموقعة [6] ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التحكم
Wire.write (0x26) ؛
// الوضع النشط ، OSR = 128 ، وضع مقياس الارتفاع
Wire.write (0xB9) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (1000) ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x00) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// طلب 6 بايت من البيانات
Wire.request From (Addr، 6) ؛
// قراءة 6 بايت من البيانات من العنوان 0x00 (00)
// status، tHeight msb1، tHeight msb، tHeight lsb، temp msb، temp lsb
إذا (Wire.available () == 6)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
البيانات [4] = Wire.read () ؛
البيانات [5] = Wire.read () ؛
}
// تحويل البيانات إلى 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 ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل التحكم
Wire.write (0x26) ؛
// الوضع النشط ، OSR = 128 ، وضع البارومتر
Wire.write (0x39) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
// بدء نقل I2C
Wire.beginTransmission (العنوان) ؛
// حدد سجل البيانات
Wire.write (0x00) ؛
// إيقاف انتقال I2C
Wire.endTransmission () ؛
تأخير (1000) ؛
// طلب 4 بايت من البيانات
Wire.request From (Addr، 4) ؛
// قراءة 4 بايت من البيانات
// status، pres msb1، pres msb، pres lsb
إذا كان (Wire.available () == 4)
{
البيانات [0] = Wire.read () ،
البيانات [1] = Wire.read () ،
البيانات [2] = Wire.read () ؛
البيانات [3] = Wire.read () ؛
}
// تحويل البيانات إلى 20 بت
pres = ((طويلة) البيانات [1] * (طويلة) 65536) + (البيانات [2] * 256) + (البيانات [3] & 0xF0)) / 16 ؛
الضغط = (pres / 4.0) / 1000.0 ؛
// إخراج البيانات إلى لوحة القيادة
Particle.publish ("الارتفاع:" ، السلسلة (الارتفاع)) ؛
Particle.publish ("الضغط:" ، السلسلة (الضغط)) ؛
Particle.publish ("درجة الحرارة بالدرجة المئوية:" ، سلسلة (cTemp)) ؛
Particle.publish ("درجة الحرارة بالفهرنهايت:" ، سلسلة (fTemp)) ؛
تأخير (1000) ؛
}
الخطوة 4: التطبيقات:
تشمل التطبيقات المختلفة لـ MPL3115A2 قياس الارتفاع عالي الدقة ، والهواتف الذكية / الأجهزة اللوحية ، والإلكترونيات الشخصية لقياس الارتفاع وما إلى ذلك ، ويمكن أيضًا دمجها في GPS Dead Reckoning ، وتحسين GPS لخدمات الطوارئ ، ومساعدة الخرائط ، والملاحة بالإضافة إلى معدات محطة الطقس.
موصى به:
مقياس الارتفاع (مقياس الارتفاع) بناءً على الضغط الجوي: 7 خطوات (بالصور)
مقياس الارتفاع (مقياس الارتفاع) بناءً على الضغط الجوي: [تحرير]؛ انظر الإصدار 2 في الخطوة 6 مع إدخال خط الأساس يدويًا للارتفاع. هذا هو وصف المبنى لمقياس الارتفاع (مقياس الارتفاع) استنادًا إلى مستشعر الضغط الجوي من Arduino Nano و Bosch BMP180. التصميم بسيط ولكن القياسات
فوتون الجسيمات - البرنامج التعليمي لمستشعر درجة الحرارة ADT75: 4 خطوات
جسيم الفوتون - دليل تعليمي لمستشعر درجة الحرارة ADT75: ADT75 هو مستشعر درجة حرارة رقمي عالي الدقة. وهو يتألف من مستشعر درجة حرارة فجوة النطاق ومحول تناظري رقمي 12 بت لمراقبة درجة الحرارة ورقمنتها. مستشعره شديد الحساسية يجعله كفؤًا بدرجة كافية بالنسبة لي
الجسيمات فوتون - HDC1000 حساس درجة الحرارة تعليمي: 4 خطوات
جسيمات فوتون - HDC1000 برنامج تعليمي لمستشعر درجة الحرارة: HDC1000 عبارة عن مستشعر رطوبة رقمي مزود بمستشعر درجة حرارة مدمج يوفر دقة قياس ممتازة عند طاقة منخفضة جدًا. يقيس الجهاز الرطوبة بناءً على مستشعر سعوي جديد. أجهزة استشعار الرطوبة ودرجة الحرارة مناسبة
فوتون الجسيمات - BH1715 البرنامج التعليمي لمستشعر الضوء المحيط الرقمي: 4 خطوات
الجسيمات الفوتون - BH1715 البرنامج التعليمي لمستشعر الضوء المحيط الرقمي: BH1715 هو مستشعر رقمي للضوء المحيط بواجهة ناقل I²C. يتم استخدام BH1715 بشكل شائع للحصول على بيانات الإضاءة المحيطة لضبط طاقة الإضاءة الخلفية لشاشات الكريستال السائل ولوحة المفاتيح للأجهزة المحمولة. يوفر هذا الجهاز دقة 16 بت وميزة
3.3V Mod لأجهزة الاستشعار بالموجات فوق الصوتية (تحضير HC-SR04 للمنطق 3.3V على ESP32 / ESP8266 ، فوتون الجسيمات ، إلخ): 4 خطوات
3.3V Mod لأجهزة الاستشعار بالموجات فوق الصوتية (قم بإعداد HC-SR04 للمنطق 3.3V على ESP32 / ESP8266 ، جسيم الفوتون ، إلخ): TL ؛ DR: على المستشعر ، قم بقطع التتبع إلى دبوس Echo ، ثم أعد توصيله باستخدام مقسم الجهد (Echo trace - & gt؛ 2.7kΩ - & gt؛ Echo pin - & gt؛ 4.7kΩ - & gt؛ GND) تحرير: كان هناك بعض الجدل حول ما إذا كان ESP8266 في الواقع متسامح 5V على GPIO في