جدول المحتويات:

باستخدام Raspberry Pi ، قم بقياس الارتفاع والضغط ودرجة الحرارة باستخدام MPL3115A2: 6 خطوات
باستخدام Raspberry Pi ، قم بقياس الارتفاع والضغط ودرجة الحرارة باستخدام MPL3115A2: 6 خطوات

فيديو: باستخدام Raspberry Pi ، قم بقياس الارتفاع والضغط ودرجة الحرارة باستخدام MPL3115A2: 6 خطوات

فيديو: باستخدام Raspberry Pi ، قم بقياس الارتفاع والضغط ودرجة الحرارة باستخدام MPL3115A2: 6 خطوات
فيديو: PiicoDev Atmospheric Sensor BME280 - Raspberry Pi Guide 2024, يوليو
Anonim
Image
Image
المعدات التي لا غنى عنها التي نحتاجها
المعدات التي لا غنى عنها التي نحتاجها

اعرف ما تملكه واعرف لماذا تملكه

إنه مثير للاهتمام. نحن نعيش في عصر أتمتة الإنترنت حيث يغرق في عدد كبير من التطبيقات الجديدة. بصفتنا من عشاق الكمبيوتر والإلكترونيات ، فقد تعلمنا الكثير باستخدام Raspberry Pi وقررنا المزج بين اهتماماتنا. يستغرق هذا المشروع حوالي ساعة إذا كنت جديدًا في اتصالات I²C وإعداد البرامج ، وهي طريقة رائعة لتوسيع إمكانيات MPL3115A2 مع Raspberry Pi في Java.

الخطوة 1: المعدات التي لا غنى عنها التي نحتاجها

المعدات التي لا غنى عنها التي نحتاجها
المعدات التي لا غنى عنها التي نحتاجها
المعدات التي لا غنى عنها التي نحتاجها
المعدات التي لا غنى عنها التي نحتاجها
المعدات التي لا غنى عنها التي نحتاجها
المعدات التي لا غنى عنها التي نحتاجها

1. Raspberry Pi

كانت الخطوة الأولى هي الحصول على لوحة Raspberry Pi. يتم استخدام هذا العبقرية الصغيرة من قبل الهواة والمدرسين وفي خلق بيئات مبتكرة.

2. I2C Shield لـ Raspberry Pi

يوفر محول INPI2 (محول I2C) Raspberry Pi 2/3 منفذ I²C للاستخدام مع أجهزة I2C متعددة. إنه متاح في Dcube Store.

3. مقياس الارتفاع ، مستشعر الضغط ودرجة الحرارة ، MPL3115A2

MPL3115A2 عبارة عن مستشعر ضغط MEMS بواجهة I²C لإعطاء بيانات الضغط والارتفاع ودرجة الحرارة. يستخدم هذا المستشعر بروتوكول I²2 للتواصل. اشترينا هذا المستشعر من Dcube Store.

4. توصيل الكابلات

استخدمنا كابل التوصيل I²C المتوفر في Dcube Store.

5. كابل USB الصغير

يتم تشغيل Raspberry Pi بواسطة مصدر micro USB.

6. تحسين الوصول إلى الإنترنت - كابل إيثرنت / وحدة WiFi

من أول الأشياء التي تريد القيام بها هو توصيل Raspberry Pi بالإنترنت. يمكنك الاتصال باستخدام كبل Ethernet أو بمحول Wireless USB Nano WiFi.

7. كابل HDMI (اختياري ، من اختيارك)

يمكنك توصيل Raspberry Pi بشاشة باستخدام كابل HDMI. أيضًا ، يمكنك الوصول عن بُعد إلى Raspberry Pi باستخدام SSH / PuTTY.

الخطوة 2: توصيلات الأجهزة لتجميع الدائرة

توصيلات الأجهزة لتجميع الدائرة
توصيلات الأجهزة لتجميع الدائرة
توصيلات الأجهزة لتجميع الدائرة
توصيلات الأجهزة لتجميع الدائرة

اجعل الدائرة وفقًا للتخطيط الموضح ، بشكل عام ، تكون التوصيلات بسيطة للغاية. اتبع التعليمات والصور أعلاه ، ولن تواجه أي مشاكل. أثناء التخطيط ، نظرنا في الأجهزة والترميز بالإضافة إلى أساسيات الإلكترونيات. أردنا تصميم مخطط إلكترونيات بسيط لهذا المشروع. في الرسم التخطيطي ، يمكنك ملاحظة الأجزاء المختلفة ومكونات الطاقة ومستشعر I²C الذي يتبع بروتوكولات الاتصال I²C. نأمل أن يوضح هذا مدى بساطة الإلكترونيات لهذا المشروع.

اتصال Raspberry Pi و I2C Shield

لهذا ، Raspberry Pi ووضع I²C Shield عليه. اضغط على الدرع برفق (انظر الصورة).

اتصال المستشعر و Raspberry Pi

خذ المستشعر وقم بتوصيل كابل I²C به. تأكد من أن I²C Output متصل دائمًا بإدخال I²C. نفس الشيء يتبعه Raspberry Pi مع درع I²C المركب فوقه. لدينا I²C Shield وكابلات التوصيل I²C من جانبنا كميزة كبيرة جدًا حيث لم يتبق لنا سوى خيار التوصيل والتشغيل. لا مزيد من مشكلة المسامير والأسلاك وبالتالي ، ذهب الارتباك. يا له من ارتياح كما تخيل نفسك في شبكة الأسلاك والدخول في ذلك. بهذه البساطة!

ملاحظة: يجب أن يتبع السلك البني دائمًا الاتصال الأرضي (GND) بين خرج أحد الأجهزة ومدخل جهاز آخر

الاتصال بالإنترنت أمر بالغ الأهمية

لإنجاح مشروعنا ، نحتاج إلى اتصال بالإنترنت لـ Raspberry Pi الخاص بنا. في هذا ، لديك خيارات مثل توصيل كابل Ethernet (LAN). أيضًا ، كطريقة بديلة ولكنها رائعة لاستخدام محول WiFi.

تشغيل الدائرة

قم بتوصيل كابل Micro USB بمقبس الطاقة الخاص بـ Raspberry Pi. قم بتشغيله وفويلا ، نحن على ما يرام!

الاتصال بالشاشة

يمكننا إما توصيل كبل HDMI بجهاز عرض أو يمكننا أن نكون مبتكرين قليلاً لصنع Pi بدون رأس (باستخدام -SSH / PuTTY) مما يساعد على خفض التكلفة الإضافية لأننا بطريقة ما هواة.

عندما تبدأ العادة في تكلفة المال ، يطلق عليها هواية

الخطوة 3: برمجة Raspberry Pi في Java

برمجة Raspberry Pi في Java
برمجة Raspberry Pi في Java

كود جافا لجهاز Raspberry Pi ومستشعر MPL3115A2. إنه متاح في مستودع Github الخاص بنا.

قبل الانتقال إلى الكود ، تأكد من قراءة التعليمات الواردة في ملف المستند التمهيدي وإعداد Raspberry Pi وفقًا لذلك. سوف يستغرق الأمر لحظة فقط ، ويتم حساب الارتفاع من الضغط باستخدام المعادلة أدناه:

h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (قيمة التسجيل)

حيث p0 = ضغط مستوى سطح البحر (101326 باسكال) و h بالأمتار. يستخدم MPL3115A2 هذه القيمة حيث يتم تعريف سجل الإزاحة على أنه 2 باسكال لكل LSB. من الواضح أن الكود أمامك وهو في أبسط شكل يمكنك تخيله ولن تواجهك أية مشاكل.

يمكنك نسخ كود Java العامل لهذا المستشعر من هنا أيضًا.

// موزعة بترخيص إرادة حرة. // استخدمها بالطريقة التي تريدها ، سواء كانت ربحًا أم مجانيًا ، شريطة أن تتناسب مع تراخيص الأعمال المرتبطة بها. // MPL3115A2 // تم تصميم هذا الرمز للعمل مع الوحدة النمطية MPL3115A2_I2CS I2C المصغرة المتوفرة من ControlEverything.com. //

استيراد com.pi4j.io.i2c. I2CBus ؛

استيراد com.pi4j.io.i2c. I2CDevice ؛ استيراد com.pi4j.io.i2c. I2CFactory ؛ استيراد java.io. IOException ؛

فئة عامة MPL3115A2

يطرح {public static void main (String args ) استثناء {// Create I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1)؛ // احصل على جهاز I2C ، عنوان MPL3115A2 I2C هو 0x60 (96) I2CDevice device = Bus.getDevice (0x60) ؛ // حدد سجل التحكم // الوضع النشط ، OSR = 128 ، كتابة جهاز وضع مقياس الارتفاع (0x26 ، (بايت) 0xB9) ؛ // حدد سجل تكوين البيانات // تم تمكين حدث جاهز للبيانات للارتفاع والضغط ودرجة حرارة الجهاز. // حدد سجل التحكم // الوضع النشط ، OSR = 128 ، كتابة جهاز وضع مقياس الارتفاع (0x26 ، (بايت) 0xB9) ؛ Thread.sleep (1000) ؛

// قراءة 6 بايت من البيانات من العنوان 0x00 (00)

// status، tHeight msb1، tHeight msb، tHeight lsb، temp msb، temp lsb byte data = بايت جديد [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 ، كتابة الجهاز في وضع البارومتر (0x26 ، (بايت) 0x39) ؛ Thread.sleep (1000) ؛ // قراءة 4 بايت من البيانات من العنوان 0x00 (00) // status، pres msb1، pres msb، pres lsb device.read (0x00، data، 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: التطبيق العملي للمدونة (العمل)

التطبيق العملي للمدونة (العمل)
التطبيق العملي للمدونة (العمل)

الآن ، قم بتنزيل (أو git pull) الكود وافتحه في Raspberry Pi. قم بتشغيل الأوامر الخاصة بـ Compile and Upload Code على الجهاز وشاهد الإخراج على Monitor. بعد بضع ثوانٍ ، سيعرض جميع المعلمات. بعد التأكد من أن كل شيء يعمل بسلاسة ، يمكنك نقل هذا المشروع إلى مشروع أكبر.

الخطوة 5: التطبيقات والميزات

الاستخدام الشائع لمستشعر مقياس الارتفاع الدقيق MPL3115A2 موجود في تطبيقات مثل الخريطة (مساعد الخريطة ، الملاحة) ، البوصلة المغناطيسية ، أو GPS (نظام تحديد المواقع الميت Reckoning ، تحسين GPS لخدمات الطوارئ) ، قياس الارتفاع عالي الدقة ، الهواتف الذكية / الأجهزة اللوحية ، قياس الارتفاع للإلكترونيات الشخصية و الأقمار الصناعية (معدات محطة الطقس / التنبؤ).

على سبيل المثال باستخدام هذا المستشعر و Rasp Pi ، يمكنك إنشاء مقياس الارتفاع المرئي الرقمي ، وهو أهم قطعة من معدات القفز بالمظلات ، يمكنه قياس الارتفاع وضغط الهواء ودرجة الحرارة. يمكنك إضافة شاش الرياح وأجهزة الاستشعار الأخرى ، لذا اجعله أكثر إثارة للاهتمام.

الخطوة السادسة: الخاتمة

نظرًا لأن البرنامج قابل للتخصيص بشكل مثير للدهشة ، فهناك العديد من الطرق المثيرة للاهتمام التي يمكنك من خلالها توسيع هذا المشروع وجعله أفضل. على سبيل المثال ، سيشمل مقياس الارتفاع / مقياس التداخل عدة مقاييس للارتفاع مثبتة على صواري والتي من شأنها الحصول على قياسات في وقت واحد ، وبالتالي توفير تغطية واسعة النطاق مستمرة ، أحادية أو متعددة. لدينا فيديو تعليمي مثير للاهتمام على YouTube يمكن أن يساعدك في فهم هذا المشروع بشكل أفضل.

موصى به: