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

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

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

فيديو: الارتفاع والضغط ودرجة الحرارة باستخدام Raspberry Pi مع MPL3115A2: 6 خطوات
فيديو: Altitude Sensor | High Altitude Balloon Project | Raspberry Pi 3 B+ 2024, يوليو
Anonim
الارتفاع والضغط ودرجة الحرارة باستخدام Raspberry Pi مع MPL3115A2
الارتفاع والضغط ودرجة الحرارة باستخدام Raspberry Pi مع MPL3115A2
الارتفاع والضغط ودرجة الحرارة باستخدام Raspberry Pi مع MPL3115A2
الارتفاع والضغط ودرجة الحرارة باستخدام Raspberry Pi مع MPL3115A2

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

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

المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها
المعدات الضرورية التي نحتاجها

1. Raspberry Pi

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

2. I²C Shield لـ Raspberry Pi

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

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

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

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

كان لدينا كابل توصيل I2C متوفر في Dcube Store

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

يعد مصدر طاقة كبل USB الصغير خيارًا مثاليًا لتشغيل Raspberry Pi.

6. تحسين الوصول إلى الإنترنت - كابل إيثرنت / محول واي فاي

في هذا العصر ، يحتاج الوصول إلى أي شيء إلى اتصال بالإنترنت (تقريبًا كما توجد حياة غير متصلة بالإنترنت أيضًا). لذلك نذهب لأخذ نصيحة كبل LAN أو محول لاسلكي Nano USB (WiFi) لبناء اتصال بالإنترنت حتى نتمكن من استخدام Rasp Pi الخاص بنا بسهولة وبدون أي مشكلة على الإطلاق.

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

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

الخطوة 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 بكابل LAN أو محول Nano USB اللاسلكي لاتصال WiFi. على أي حال ، كان الهدف الرئيسي هو الاتصال بالإنترنت.

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

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

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

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

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

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

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

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

يتم حساب الارتفاع من الضغط باستخدام المعادلة أدناه:

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

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

من الواضح أن الكود أمامك وهو في أبسط شكل يمكنك تخيله ولن تواجهك أية مشاكل.

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

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

استيراد 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 ، ناقل وضع مقياس الارتفاع. كتابة_ بايت_بيانات (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 = temp / 16.0 fTemp = cTemp * 1.8 + 32

# عنوان MPL3115A2 ، 0x60 (96)

# حدد سجل التحكم ، 0x26 (38) # 0x39 (57) الوضع النشط ، OSR = 128 ، ناقل وضع مقياس الضغط (Barometer) 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 pressure = (pres / 4.0) / 1000.0

# إخراج البيانات إلى الشاشة

طباعة "الضغط:٪.2f kPa"٪ الضغط طباعة "الارتفاع:٪.2f m"٪ ارتفاع طباعة "درجة الحرارة بالدرجة المئوية:٪.2f C"٪ cTemp print "درجة الحرارة بالفهرنهايت:٪.2f F"٪ fTemp

الخطوة 4: التطبيق العملي للمدونة (اختبار)

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

الآن ، قم بتنزيل (أو git pull) الكود وافتحه في Raspberry Pi.

قم بتشغيل الأوامر الخاصة بـ Compile and Upload Code في Terminal وشاهد الإخراج على Monitor. بعد بضع ثوانٍ ، سيعرض جميع المعلمات. بعد التأكد من أن كل شيء يعمل بسلاسة ، يمكنك نقل هذا المشروع إلى مشروع أكبر.

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

الاستخدام الشائع لمستشعر MPL3115A2 Precision Altimeter I²C في تطبيقات مثل Map (Map Assist ، Navigation) ، أو البوصلة المغناطيسية ، أو GPS (GPS Dead Reckoning ، تحسين GPS لخدمات الطوارئ) ، قياس الارتفاع عالي الدقة ، الهواتف الذكية / الأجهزة اللوحية ، قياس الارتفاع للإلكترونيات الشخصية والأقمار الصناعية (معدات محطة الطقس / التنبؤ).

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

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

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

موصى به: