جدول المحتويات:
فيديو: Raspberry Pi - MPL3115A2 Precision Altimeter Sensor دروس جافا التعليمية: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
يستخدم MPL3115A2 مستشعر ضغط MEMS بواجهة I2C لتوفير بيانات دقيقة للضغط / الارتفاع ودرجة الحرارة. يتم ترقيم مخرجات المستشعر بدقة عالية 24 بت ADC. تزيل المعالجة الداخلية مهام التعويض من نظام MCU المضيف. إنه قادر على اكتشاف تغيير في 0.05 كيلو باسكال فقط وهو ما يعادل تغيرًا بمقدار 0.3 متر في الارتفاع. هذا هو العرض التوضيحي مع raspberry pi باستخدام كود جافا.
الخطوة 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.
تظهر الاتصالات في الصورة أعلاه.
الخطوة الثالثة: الكود:
يمكن تنزيل كود java لـ MPL3115A2 من مستودع جيثب - DCUBE Store.
هنا هو الرابط لنفسه:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
لقد استخدمنا مكتبة pi4j لرمز جافا ، وخطوات تثبيت pi4j على Raspberry Pi موصوفة هنا:
pi4j.com/install.html
يمكنك أيضًا نسخ الكود من هنا ، ويُعطى على النحو التالي:
// موزعة بترخيص الإرادة الحرة.
// استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أو مجانًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها.
// MPL3115A2
// تم تصميم هذا الرمز للعمل مع الوحدة النمطية MPL3115A2_I2CS I2C المصغرة المتاحة من
استيراد com.pi4j.io.i2c. I2CBus ؛
استيراد com.pi4j.io.i2c. I2CDevice ؛
استيراد com.pi4j.io.i2c. I2CFactory ؛
استيراد java.io. IOException ؛
فئة عامة MPL3115A2
{
يطرح main static void main (String args ) استثناء
{
// إنشاء ناقل I2C
ناقل I2CBus = I2CFactory.getInstance (I2CBus. BUS_1) ،
// احصل على جهاز I2C ، عنوان MPL3115A2 I2C هو 0x60 (96)
جهاز I2CDevice = Bus.getDevice (0x60) ؛
// حدد سجل التحكم
// الوضع النشط ، OSR = 128 ، وضع مقياس الارتفاع
device.write (0x26 ، (بايت) 0xB9) ؛
// حدد سجل تكوين البيانات
// تم تمكين حدث جاهز للبيانات للارتفاع والضغط ودرجة الحرارة
device.write (0x13، (بايت) 0x07) ؛
// حدد سجل التحكم
// الوضع النشط ، OSR = 128 ، وضع مقياس الارتفاع
device.write (0x26 ، (بايت) 0xB9) ؛
Thread.sleep (1000) ؛
// قراءة 6 بايت من البيانات من العنوان 0x00 (00)
// status، tHeight msb1، tHeight msb، tHeight lsb، temp msb، temp lsb
بايت بيانات = بايت جديد [6] ؛
قراءة الجهاز (0x00 ، البيانات ، 0 ، 6) ؛
// تحويل البيانات إلى 20 بت
int tHeight = ((((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16) ؛
int temp = ((data [4] * 256) + (data [5] & 0xF0)) / 16 ؛
ارتفاع مزدوج = tHeight / 16.0 ؛
مزدوج cTemp = (temp / 16.0) ؛
مزدوج fTemp = cTemp * 1.8 + 32 ؛
// حدد سجل التحكم
// الوضع النشط ، OSR = 128 ، وضع البارومتر
device.write (0x26 ، (بايت) 0x39) ؛
Thread.sleep (1000) ؛
// قراءة 4 بايت من البيانات من العنوان 0x00 (00)
// status، pres msb1، pres msb، pres lsb
قراءة الجهاز (0x00 ، البيانات ، 0 ، 4) ؛
// تحويل البيانات إلى 20 بت
int pres = (((data [1] & 0xFF) * 65536) + ((data [2] & 0xFF) * 256) + (data [3] & 0xF0)) / 16 ؛
ضغط مزدوج = (بريس / 4.0) / 1000.0 ؛
// إخراج البيانات للشاشة
System.out.printf ("الضغط:٪.2f kPa٪ n" ، الضغط) ؛
System.out.printf ("الارتفاع:٪.2f م٪ n" ، الارتفاع) ؛
System.out.printf ("درجة الحرارة بالدرجة المئوية:٪.2f C٪ n"، cTemp)؛
System.out.printf ("درجة الحرارة بالفهرنهايت:٪.2f F٪ n"، fTemp)؛
}
}
الخطوة 4: التطبيقات:
تشمل التطبيقات المختلفة لـ MPL3115A2 قياس الارتفاع عالي الدقة ، والهواتف الذكية / الأجهزة اللوحية ، والإلكترونيات الشخصية لقياس الارتفاع وما إلى ذلك ، ويمكن أيضًا دمجها في GPS Dead Reckoning ، وتحسين GPS لخدمات الطوارئ ، ومساعدة الخرائط ، والملاحة بالإضافة إلى معدات محطة الطقس.
موصى به:
دروس الفيديو التعليمية Creativas 03: Hoy Veremos Un Proyecto Donde Integramos Botones: 4 خطوات
مقاطع فيديو تعليمية Creativas 03: Hoy Veremos Un Proyecto Donde Integramos Botones: En este التعليمي vamos aprender como leer y controlar el estado de un botón sobre una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (useizando una cuenta gratuita). استمرارية
دروس الفيديوهات التعليمية Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led ؟: 4 خطوات
مقاطع فيديو تعليمية Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led ؟: En este تعليمي vamos aprender como modificar la الكثيفة de la luz de un led un potenciómetro sobre una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello useizaremos Tinkercad Circuits (utilizando una cuen …)
Raspberry Pi - ADXL345 مقياس تسارع ثلاثي المحاور جافا تعليمي: 4 خطوات
Raspberry Pi - ADXL345 3-Axis Accelerometer Java تعليمي: إن ADXL345 عبارة عن مقياس تسارع صغير ورفيع وقوة منخفضة للغاية وثلاثة محاور بدقة عالية (13 بت) قياس يصل إلى ± 16 جم. يتم تنسيق بيانات الإخراج الرقمية كمكمل ثنائي 16 بت ويمكن الوصول إليها من خلال الواجهة الرقمية I2 C. يقيس
Raspberry Pi - TSL45315 مستشعر الضوء المحيط برنامج جافا التعليمي: 4 خطوات
Raspberry Pi - TSL45315 مستشعر الإضاءة المحيطة برنامج Java التعليمي: TSL45315 هو مستشعر رقمي للضوء المحيط. إنه يقترب من استجابة عين الإنسان في ظل مجموعة متنوعة من ظروف الإضاءة. تحتوي الأجهزة على ثلاث أوقات تكامل قابلة للتحديد وتوفر إخراجًا مباشرًا يبلغ 16 بت لوكس عبر واجهة ناقل I2C. شارك الجهاز
دروس Raspberry Pi التعليمية: كيفية استخدام زر الضغط: 4 خطوات
دروس Raspberry Pi التعليمية: كيفية استخدام زر الضغط: في هذا البرنامج التعليمي سوف تتعلم كيفية تشغيل مؤشر LED الخاص بك باستخدام زر مع Raspberry Pi الخاص بك. تقوم أزرار الضغط أو المفاتيح بتوصيل نقطتين في دائرة عندما تضغط عليها. يقوم هذا البرنامج التعليمي بتشغيل مؤشر LED واحد عند الضغط على الزر مرة واحدة ، وإيقاف تشغيله