جدول المحتويات:
- الخطوة 1: ترقية Bootloader
- الخطوة 2: لحام الرؤوس
- الخطوة 3: تثبيت CircuitPython ومثال الراسم المشترك
- الخطوة 4: الراسمة المركبة
- الخطوة 5: دبابيس Enviro + FeatherWing
- الخطوة 6: استهلاك الطاقة
- الخطوة السابعة: إضافة مستشعر المواد المعينة PMS5003 من Plantower
- الخطوة 8: المضي قدمًا
فيديو: استخدام Pimoroni Enviro + FeatherWing مع Adafruit Feather NRF52840 Express: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:35
إن Pimoroni Enviro + FeatherWing عبارة عن لوحة مليئة بأجهزة الاستشعار المصممة للعمل مع سلسلة لوحات Adafruit Feather. إنه مكان مفيد للبدء به لأي شخص مهتم بالرصد البيئي ، وتلوث الغلاف الجوي ، وتعقب البيانات. يتميز بما يلي:
- Bosch BME280 - مستشعر درجة الحرارة والضغط والرطوبة ؛
- Lite-On LTR-559 - مستشعر الضوء والقرب ؛
- SensorTech MiCS-6814 - الغازات المؤكسدة وتقليل الغازات ومستشعر الأمونيا ؛
- ميكروفون تناظري - قياس التلوث الضوضائي ؛
- موصل لمستشعر الجسيمات PMS5003 من Plantower (غير مدرج).
تشتمل أجهزة استشعار أكسيد المعادن الثلاث الموجودة في MiCS-6814 على مستشعر أقل شيوعًا للغازات المؤكسدة. هذا مفيد لحساسيته لثاني أكسيد النيتروجين (NO2) ، وهو ملوث شائع في المدن وبالقرب من الطرق الرئيسية.
يوصي Pimoroni إما Adafruit
- Feather M4 Express (120 ميجا هرتز ، 192 كيلو بايت رام) أو
- Feather nRF52840 Express (64 ميجا هرتز ، 256 كيلو بايت رام).
تم اختيار nRF52840 لهذا الدليل لأنه يدعم تقنية Bluetooth منخفضة الطاقة (BLE) والتي تمنح اللوحة إمكانية إرسال البيانات إلى جهاز آخر.
يأتي كل من Feather و FeatherWing برؤوس ذكر غير مرتبطة. مطلوب رؤوس نسائية لتكديس الألواح. يوضح هذا الدليل استخدام "رؤوس التراص" التي تسمح أيضًا بإدراج لوحة Feather في لوح التجارب لتسهيل التجريب باستخدام مستشعرات إضافية. يجب أن تكون الرؤوس ملحومة باللوحات ولكن هذا واضح بشكل معقول.
يتميز Enviro + FeatherWing باختلاف بسيط مقارنة مع ابن عمه ، Enviro + Air Quality لـ Raspberry Pi. يبدو أن إصدار FeatherWing مصمم للعمل بجهد أقل من 5 فولت مما يسمح باستخدام بطارية ليثيوم بوليمر واحدة (LiPo) تنتج 3.7V-4.3V. يحتوي على محول DC-DC لتوفير 5 فولت لـ PMS5003 الاختياري وقد يقوم بتشغيل السخانات الداخلية MiCS-6814 بشكل فردي للتعامل مع هذه الفولتية المنخفضة.
تُظهر الصورة الرئيسية Enviro + FeatherWing الذي يعرض بيانات PM2.5 و PM10 من PMS5003. تم ضرب مباراة Swan Vestas في منتصف الطريق من خلال المؤامرة لإضاءة الشمعة.
تتناول مقالة ثانية رسم مستويات ثاني أكسيد الكربون باستخدام Pimoroni Enviro + FeatherWing و Adafruit SCD-30.
اللوازم:
- Pimoroni Enviro + FeatherWing - بيموروني | Adafruit - (يوجد لوحة أخرى مماثلة لـ Raspberry Pi)
- Adafruit nRF52840 Feather Express - بيموروني | Adafruit
- رؤوس تكديس الريش - بيموروني | Adafruit - يمكن أيضًا استخدام رؤوس الإناث العادية أو مضاعف / ثلاثي جناح الريشة
- جندى
- اختياري: مستشعر الجسيمات PMS5003 من Plantower - Pimoroni | Adafruit
الخطوة 1: ترقية Bootloader
يمكن فحص لوحة Feather قبل لحامها عن طريق توصيلها بجهاز كمبيوتر باستخدام USB. هذا وقت مفيد للتحقق من أداة تحميل التشغيل - يمكن للإصدارات القديمة أن تنتج أخطاء محيرة ولكنها غير ضارة على Windows.
يؤدي النقر المزدوج فوق زر إعادة تعيين الريشة إلى تقديم محرك أقراص يسمى FTHR840BOOT إلى الكمبيوتر المضيف. يمكن فتح ملف يسمى INFO_UF2. TXT لفحص الإصدار ، المثال أدناه يوضح المحتوى الذي يشير إلى الإصدار 0.2.6:
F2 Bootloader 0.2.6 lib / nrfx (v1.1.0-1-g096e770) lib / tinyusb (legacy-525-ga1c59649) s140 6.1.1
الموديل: Adafruit Feather nRF52840 Express Board-ID: NRF52-Bluefruit-v0 Bootloader: s140 6.1.1 التاريخ: 21 ديسمبر 2018
الإصدارات قبل 0.2.9 تعاني من الخطأ المذكور أعلاه. تم وصف عملية الترقية المعتدلة قليلاً في Adafruit Learn: تقديم Adafruit nRF52840 Feather: تحديث Bootloader ومناقشته في منتديات Adafruit: أخطاء Windows تنسخ CircuitPython UF2 إلى FTHR840BOOT.
الخطوة 2: لحام الرؤوس
يحتاج Enviro + FeatherWing إلى إرفاق رؤوس الذكور وتحتاج الريشة إلى الرؤوس الأنثوية المكدسة المرفقة.
من الأساليب الشائعة لتحديد موقع المسامير في الموضع الصحيح أثناء اللحام إدخالها في لوح التجارب. بعض الحذر مطلوب مع FeatherWing هذا لأن موصل picoblade على الجانب السفلي أطول من الفواصل البلاستيكية على الرأس. قد يتسبب ذلك في أن يتم لحام اللوح عن غير قصد بزاوية. الصورة أعلاه توضح الزاوية. يمكن حل ذلك بسهولة عن طريق رفع الرؤوس بشكل موحد بمقدار 2-3 مم (0.1 بوصة) من اللوح.
يجب أن تكون الرؤوس الأنثوية المكدسة متعامدة مع اللوحة. يمكن تحقيق ذلك من خلال وضعها على سطح مستو والتأكد من الضغط على لوح الريش بقوة ضدهم. تُظهر الصورة أعلاه الضغط الذي يتم تطبيقه باستخدام قلم رصاص بجهاز يد مساعدة خارج التصوير يثقل وزن القلم الرصاص. توفر بعض الرؤوس الاحتياطية بعض المساعدة الإضافية في الحفاظ على التباعد.
تنص ورقة البيانات MiCS-6814 على ما يلي:
يجب أن يكون المستشعر ملحومًا بالتدفق المعاد في جو محايد ، دون أبخرة تدفق اللحام. يجب ألا يتعرض المستشعر لتركيزات عالية من المذيبات العضوية أو أبخرة السيليكون أو دخان السجائر من أجل تجنب تسمم الطبقة الحساسة.
قطعة صغيرة من الشريط اللاصق تغطي مستشعر الغاز هي إجراء احترازي حكيم أثناء تنظيف اللحام والتدفق. يمكن أيضًا ترك واقي الشاشة في هذه المرحلة للتعامل مع بقع التدفق الصغيرة التي لا مفر منها من اللحام بمكواة. سيستفيد الميكروفون أيضًا من الحماية بشريط لاصق أثناء تنظيف التدفق.
يمكن ثني صفوف الدبابيس الطويلة بسهولة عند إزالتها من لوح التجارب أو أي مقبس آخر. احرص على تجنب رفع اللوحة من أحد طرفيها.
لدى Adafruit دليل حول رؤوس تكديس اللحام ، ولدى Pimoroni دليل لحام عام يتضمن رؤوسًا وهناك مقطع فيديو رائع على YouTube يوضح كيفية لحام الرؤوس على لوحة نمط مماثلة ، GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!
الخطوة 3: تثبيت CircuitPython ومثال الراسم المشترك
إذا لم تكن معتادًا على CircuitPython ، فمن الجدير قراءة دليل مرحبًا بك في CircuitPython أولاً.
تعتمد خطوات التثبيت أدناه على pimoroni / EnviroPlus-FeatherWing README ودليل Getting Started مع مكتبة لاحقة لتلبية احتياجات CircuitPython 6.x.
- قم بتثبيت أحدث إصدار من CircuitPython (6.0.0 في ديسمبر 2020) من https://circuitpython.org/ - تم وصف هذه العملية في CircuitPython for Feather nRF52840.
- تحقق من التثبيت عن طريق الاتصال بوحدة التحكم التسلسلية عبر USB. يعرض موجه REPL الإصدار. يمكن أيضًا التحقق من الإصدار عن طريق فحص boot_out.txt على محرك الأقراص CIRCUITPY.
-
قم بتثبيت هذه المكتبات من حزمة من https://circuitpython.org/libraries في دليل lib على CIRCUITPY:
- adafruit_bus_device
- adafruit_bme280 (وليس adafruit_bmp280)
- adafruit_st7735r (وليس adafruit_st7735)
- adafruit_display_text
-
قم بتثبيت هذه المكتبات من ملف EnviroPlus-FeatherWing-1.0.zip من GiHub: pimoroni / EnviroPlus-FeatherWing: الإصدار 1.0 في دليل lib على CIRCUITPY:
- i2cdevice (يجب عدم الخلط بينه وبين مكتبة i2c_device في Adafruit)
- pimoroni_envirowing
- بيموروني_لتر 559
- pimoroni_physical_feather_pins
- 3 - ندى
- لا تقم بتثبيت pimoroni_circuitpython_adapter من هنا
- قم بتثبيت أحدث مكتبة لمحول Pimoroni CircuitPython عن طريق تنزيل ملف _init_.py في دليل lib / pimoroni_circuitpython_adapter الذي تم إنشاؤه حديثًا على CIRCUITPY.
- قم بتنزيل برنامج مثال الراسمة المدمجة إلى CIRCUITPY بالنقر فوق حفظ الارتباط باسم … في plotters_combined.py
- أعد تسمية أو احذف أي ملف code.py موجود على CIRCUITPY ، ثم أعد تسمية plotters_combined.py إلى code.py. يتم تشغيل هذا الملف عندما يبدأ مترجم CircuitPython أو يعيد تحميله.
الإصدارات المستخدمة لهذا الدليل هي:
- CircuitPython 6.0.0
- حزمة مكتبة بايثون adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
- مكتبة EnviroPlus-FeatherWing الإصدار 1.0
- مكتبة pimoroni_circuitpython_adapter 9-Dec-2020 f062036
الخطوة 4: الراسمة المركبة
تشتمل الراسمة المدمجة على أربع شاشات:
- الصوت والضوء.
- PM2.5 و PM10.
- درجة الحرارة والضغط والرطوبة.
- OX و RED و NH3.
لا تظهر شاشة الجسيمات (PM) إلا إذا تم توصيل Plantower PMS5003. يتحقق البرنامج من وجوده في البداية ويطبع هذه الرسالة الإعلامية إذا لم يكن متصلاً:
مهلة قراءة PMS5003: فشلت قراءة بداية بايت الإطار
ربما لا يكون لديك pms5003 متصل ، والاستمرار دون تسجيل الجسيمات
تم ضبط الفاصل الزمني للرسم على 540 ثانية في الجزء العلوي من البرنامج. يمكن ضبط هذا للتحكم في معدل الرسم.
الخطوة 5: دبابيس Enviro + FeatherWing
يستخدم Enviro + FeatherWing عددًا كبيرًا من دبابيس Feather. الأسماء التالية مستخدمة ، الأسماء الموجودة بين قوسين مأخوذة من مخطط تسمية بيموروني:
- A0 (pin5) - مستشعر غاز الأمونيا MiCS6814
- A1 (pin6) - MiCS8614 تقليل مستشعر الغاز
- A2 (pin7) - مستشعر الغاز المؤكسد MiCS6814
- A3 (pin8) - ميكروفون تناظري
- A4 (pin9) - تمكين MiCS6814
- D5 (pin19) - أمر شاشة ناقل SPI
- D6 (pin20) - تحديد شريحة شاشة ناقل SPI
- D9 (pin21) - الإضاءة الخلفية (PWM)
- D10 (pin22) - تمكين PMS5003
- D11 (pin23) - إعادة تعيين PMS5003
- D12 (pin24) - مقاطعة LTR-559 (غير مدعومة في مكتبة CircuitPython)
- SCK (pin11) - ساعة ناقل SPI
- MO (pin12) - SPI bus master out slave in
- MI (pin13) - سيد ناقل SPI في تابع
- RX (pin14) - إرسال PMS5003 (استقبال بواسطة الريشة)
- TX (pin15) - استقبال PMS5003 (الإرسال من الريشة)
- SCL (pin18) - ساعة I2C
- SDA (دبوس 17) - بيانات I2C
هذا يترك A5 و D2 / DFU و D13 مجانًا للاستخدام.
الخطوة 6: استهلاك الطاقة
يعد استهلاك الطاقة ضمن مواصفات USB حتى لو تم توصيل بطارية LiPo وإعادة شحنها. الاستخدام أكثر ملاءمة للتخطيط للانتقال إلى طاقة البطارية. بعض القياسات التقريبية للتيار هي:
- 100mA خمول ، الإضاءة الخلفية معطلة ؛
- 100mA راسمة تشغيل ، الإضاءة الخلفية منخفضة ؛
- 120mA راسمة تشغيل ، إضاءة خلفية عالية.
تشير ورقة البيانات الخاصة بـ Plantower PMS5003 إلى أن التيار أقل من 100 مللي أمبير ، وسيكون هذا بالإضافة إلى الأرقام المذكورة أعلاه. قد يؤدي استخدام محول DC-DC على Enviro + FeatherWing إلى زيادة هذا الرقم قليلاً.
تحتوي لوحة Feather nRF52840 Express على NeoPixel (RGB LED) ولكن مستويات السطوع لاستخدامها الافتراضي كمؤشر لحالة البرنامج لا تضيف سوى كمية ضئيلة إلى الاستهلاك. لوحة Feather نفسها أقل من 10mA بمفردها ، FeatherWing هو اللوحة المتعطشة للطاقة.
الخطوة السابعة: إضافة مستشعر المواد المعينة PMS5003 من Plantower
يعد Met One Instruments BAM 1020 مشهدًا مألوفًا في جميع أنحاء العالم يقيس الجسيمات في المدن. توجد مجموعة من الأجهزة ذات الأسعار المعقولة ، ويأتي Enviro + FeatherWing مزودًا بموصل لجهاز استشعار الجسيمات PMS5003 من Plantower.
يبدو رمز مكتبة Pimoroni لهذا المستشعر هشًا حاليًا. من التحسينات البسيطة والسريعة اكتشاف الاستثناءات في البرنامج. يمكن تحسين برنامج plotters_combined.py بإضافة هذا في الأعلى:
استيراد pimoroni_pms5003
واستبدال هذا الخط في حلقة while main
# خذ قراءات
pms_reading = pms5003.read ()
مع:
# خذ قراءات
جرب: pms_reading = pms5003.read () باستثناء pimoroni_pms5003. ChecksumMismatchError: print ("خطأ المجموع الاختباري")
الخطوة 8: المضي قدمًا
هناك عدد من المجالات لاستكشافها بمجرد تشغيل Enviro + FeatherWing.
- اضافة حساس حرارة خارجي. يخضع مستشعر درجة الحرارة في BME280 للتدفئة الداخلية والتدفئة من المكونات القريبة ويهدف إلى معايرة مستشعرات BME280 الأخرى. يمكن معالجة القيمة لتوفير مقياس تقريبي لدرجة حرارة الهواء المحيط ولكن هناك الكثير من الخيارات الخارجية الممتازة والميسورة التكلفة.
- معايرة أجهزة الاستشعار. الضغط سهل باستخدام ملاحظات الطقس أو التنبؤات قصيرة المدى (ستكون عند 0 قدم amsl) ، والباقي صعب.
- تصحيح خرج PMS5003 للرطوبة النسبية. تم تقديم معادلة في الصفحة 8 من ملف PDF على وكالة حماية البيئة: PurpleAir PM2.5 تصحيح الولايات المتحدة وأدائها أثناء أحداث الدخان 4/2020
- إضافة كود لبث بيانات المستشعر عبر Bluetooth Low Energy إلى الأجهزة الأخرى.
- التحقيق في كيفية تقليل استهلاك الطاقة. تحتوي بعض المستشعرات على خطوط تمكين ، وقد تزيل هذه المستشعرات الطاقة من المستشعرات أو تضعها في وضع طاقة منخفضة. بالنسبة لأجهزة الاستشعار التي لديها وقت إحماء ، قد لا يكون أخذ العينات بشكل دوري أمرًا عمليًا.
- شراء أو تكييف أو صنع صندوق مناسب للتركيب في الخارج مع تدفق هواء داخلي مصمم بعناية واحتياطات مناسبة لأشعة الشمس المباشرة. يعمل مستشعر الغاز SensorTech MiCS-6814 بشكل أفضل مع تدفق ثابت ومنخفض للهواء عبره.
- دراسة كيفية تأثير الظروف الجوية على التلوث على مستوى الأرض. تلميح: الانقلابات مهمة.
- التحويل إلى طاقة البطارية أو الطاقة الشمسية مع طاقة البطارية. تعد الطاقة الشمسية أكثر صعوبة من مجرد إضافة لوحة شمسية ضوئية ، راجع قسم ملاحظات التصميم في Adafruit Learn: USB و DC & Solar Lipoly Charger.
- إضافة أجهزة استشعار أخرى لقياس الملوثات الشائعة مثل الأوزون (O3) وثاني أكسيد الكبريت (SO2) أو غازات الاحتباس الحراري مثل ثاني أكسيد الكربون (CO2). يقيس عدد قليل من أجهزة الاستشعار "eCO2" وهي غير مناسبة لقياس ثاني أكسيد الكربون في الغلاف الجوي. تبيع Adafruit الآن مستشعر Sensirion SCD-30 NDIR CO2 ذو القيمة الكبيرة على لوحة مع موصلات STEMMA QT i2c.
- إذا كنت ترغب في التحقيق في إرسال البيانات عبر الإنترنت باستخدام Wi-Fi ، فإن لوحة FeatherS2 التي تحتوي على متحكم ESP32-S2 تبدو متوافقة مع Enviro + FeatherWing. هناك قيود إشكالية مع ESP32-S2 التناظرية للمحولات الرقمية (ADC) والتي تمنع القياس المناسب لمستشعرات الغاز. راجع منتديات Adafruit: مقارنة Feather ADC بما في ذلك 2.6 فولت محدود ESP32-S2 لمزيد من المعلومات.
مشاريع ذات صلة:
- تعلم Adafruit: المقارنة والتجريب مع مستشعرات الغاز القابلة للاشتعال
- تعلم Adafruit: مستشعر درجة الحرارة TMP36
قراءة متعمقة:
- منظمة الصحة العالمية (WHO) إرشادات تلوث الهواء
- مؤسسة الرئة البريطانية - جودة الهواء (PM2.5 و NO2)
- Breathe London - شبكة لتكميل شبكة جودة الهواء في لندن "بمستشعرات جودة الهواء ميسورة التكلفة وسهلة التركيب وصيانتها لأي شخص" ، تستخدم حاليًا Clarity Node-S.
- مؤشر جودة الهواء في العالم - يجمع البيانات من العديد من المصادر المختلفة مع عروض الخرائط والبيانات التاريخية.
- مجلة الغلاف الجوي: تلوث الهواء الداخلي من المواقد السكنية: فحص فيضان الجسيمات إلى المنازل أثناء الاستخدام في العالم الحقيقي - يستخدم هذا إصدار Raspberry Pi من لوحة Enviro +.
- التشريع: لائحة معايير جودة الهواء 2010 (المملكة المتحدة)
- مدونة بيموروني: أكثر ليالي العام تلوثًا (في المملكة المتحدة)
- ذي إيكونوميست: سماء منتصف الليل - تسبب التدفئة المنزلية بالفحم في بولندا تلوثًا واسع النطاق (يناير 2021)
- بي بي سي نيوز: ضوضاء المرور تضعف قدرات الطيور المغردة (التلوث الضوضائي)
- أخطاء البرامج في مكتبة مستشعرات الجسيمات - نظرة على العناية المطلوبة لتحليل البروتوكول التسلسلي PMS5003 بقوة.