فهرست مطالب:
- مرحله 1: ارتقاء Bootloader
- مرحله 2: لحیم سرصفحه ها
- مرحله 3: نصب CircuitPython و Combined Plotter example
- مرحله 4: نقشه کش ترکیبی
- مرحله 5: Enviro+ FeatherWing Pins
- مرحله 6: مصرف برق
- مرحله 7: افزودن حسگر ماده خاص Plantower PMS5003
- مرحله هشتم: جلو رفتن
تصویری: استفاده از Pimoroni Enviro+ FeatherWing With the Adafruit Feather NRF52840 Express: 8 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
Pimoroni Enviro+ FeatherWing یک صفحه پر از حسگر است که برای کار با سری تخته های Adafruit Feather طراحی شده است. این یک مکان مفید برای شروع برای هر کسی است که علاقه مند به نظارت بر محیط زیست ، آلودگی هوا و جمع آوری داده است. ویژگی های آن:
- Bosch BME280 - دما ، فشار ، سنسور رطوبت ؛
- Lite-On LTR-559-سنسور نور و مجاورت ؛
- SensorTech MiCS -6814 - گازهای اکسید کننده ، کاهش گازها و سنسور آمونیاک ؛
- میکروفون آنالوگ - اندازه گیری آلودگی صوتی ؛
- اتصال سنسور ذرات معلق Plantower PMS5003 (شامل نمی شود).
سه سنسور فلز اکسید در MiCS-6814 شامل یک سنسور کمتر رایج برای اکسید کننده گازها است. این برای حساسیت به دی اکسید نیتروژن (NO2) ، یک آلاینده رایج در شهرها و نزدیک جاده های اصلی مفید است.
پیمورونی یا Adafruit را توصیه می کند
- پر M4 Express (120 مگاهرتز ، رم 192 کیلوبایت) یا
- پر nRF52840 Express (64 مگاهرتز ، 256 کیلوبایت رم).
nRF52840 برای این راهنما انتخاب شده است زیرا از بلوتوث کم مصرف (BLE) پشتیبانی می کند که به برد امکان ارسال داده به دستگاه دیگر را می دهد.
The Feather و FeatherWing هر دو با سرصفحه های مردانه وصل نمی شوند. هدرهای زن برای چیدن تخته ها لازم است. این راهنما استفاده از "جمع آوری هدرها" را نشان می دهد که اجازه می دهد تخته پر نیز در یک تخته نان قرار داده شود تا آزمایش با سنسورهای اضافی را تسهیل کند. سرصفحه ها باید به تخته ها چسبانده شوند اما این امر به طور منطقی ساده است.
Enviro+ FeatherWing یک تفاوت ظریف در مقایسه با پسر عموی خود دارد ، Enviro+ کیفیت هوا برای رزبری پای. به نظر می رسد نسخه FeatherWing برای کار با ولتاژهای زیر 5 ولت طراحی شده است که به یک باتری لیتیوم پلیمر (LiPo) تولید کننده 3.7V-4.3V اجازه می دهد. این دستگاه دارای مبدل DC-DC است که 5V را برای PMS5003 اختیاری تأمین می کند و ممکن است بخاری های داخلی MiCS-6814 را به صورت جداگانه برای مقابله با این ولتاژهای پایین تغذیه کند.
تصویر اصلی Enviro+ FeatherWing را نشان می دهد که داده های PM2.5 و PM10 را از PMS5003 نشان می دهد. مسابقه Swan Vestas در نیمه راه برای روشن کردن شمع انجام شده است.
مقاله دوم طرح سطوح دی اکسید کربن با Pimoroni Enviro+ FeatherWing و Adafruit SCD-30 را پوشش می دهد.
تدارکات:
- Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (تخته مشابه دیگری برای Raspberry Pi وجود دارد)
- Adafruit nRF52840 Feather Express - Pimoroni | آدافروت
- سرفصل های چیدمان پر - Pimoroni | Adafruit - هدرهای زن معمولی یا FeatherWing doubler/tripler نیز می تواند مورد استفاده قرار گیرد
- لحیم کاری
- اختیاری: سنسور ذرات معلق Plantower PMS5003 - Pimoroni | آدافروت
مرحله 1: ارتقاء Bootloader
با اتصال USB به کامپیوتر با استفاده از USB ، می توانید برد پر را قبل از لحیم شدن بررسی کنید. این زمان مفیدی برای بررسی بوت لودر است - نسخه های قدیمی می توانند خطاهای گیج کننده اما بی ضرری در ویندوز ایجاد کنند.
دوبار کلیک روی دکمه تنظیم مجدد Feather باعث می شود درایویی به نام 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: Update Bootloader و مورد بحث در انجمن های Adafruit قرار گرفته است: خطاهای ویندوز CircuitPython UF2 را در FTHR840BOOT کپی می کنند.
مرحله 2: لحیم سرصفحه ها
Enviro+ FeatherWing به سربرگ های مردانه خود و پیپر به سرصفحه های زن روی هم چسبیده نیاز دارد.
یک روش معمول برای قرار دادن سنجاق ها در موقعیت صحیح هنگام لحیم کاری این است که آنها را در یک تخته نان قرار دهید. با این FeatherWing احتیاط لازم است زیرا اتصال پیکوبلاد در قسمت زیرین بلندتر از فاصله گیرهای پلاستیکی روی سربرگ است. این می تواند باعث شود که تخته ناخواسته در زاویه ای لحیم شود. تصویر بالا زاویه را نشان می دهد. این امر با بالا بردن یکنواخت سرصفحه ها به میزان 2-3 میلی متر (0.1 اینچ) از تخته نان به راحتی حل می شود.
هدرهای زن روی هم باید عمود بر تخته باشند. این را می توان با قرار دادن آنها بر روی یک سطح صاف و اطمینان از فشار محکم تخته Feather به آنها بدست آورد. تصویر بالا نشان می دهد که فشار با یک مداد با یک دستگاه دست کمکی که بر مداد سنگینی می کند اعمال می شود. برخی از سرصفحه های اضافی کمک بیشتری در حفظ فاصله ارائه می دهند.
در برگه اطلاعات MiCS-6814 آمده است:
سنسور باید در جو خنثی لحیم شود و بدون بخار شار لحیم شود. به منظور جلوگیری از مسمومیت لایه حساس ، سنسور نباید در معرض غلظت بالای حلالهای آلی ، بخار سیلیکون یا دود سیگار قرار گیرد.
یک تکه کوچک نوار پوشاننده که سنسور گاز را می پوشاند ، یک احتیاط عاقلانه در هنگام لحیم کاری و تمیز کردن شار است. همچنین می توانید در این مرحله محافظ صفحه را روشن نگه دارید تا با چسبندگی های اجتناب ناپذیر ناشی از لحیم کاری با اتو مقابله کند. میکروفون همچنین از محافظتی با نوار ماسک در هنگام تمیز کردن شار استفاده می کند.
ردیف های بلند پین ها را می توان هنگام برداشتن آنها از تخته نان یا سوکت دیگر به راحتی خم کرد. مراقب باشید که تخته را از یک طرف به بالا متمایل نکنید.
Adafruit دارای راهنمای لحیم کاری سرصفحه ها است ، Pimoroni دارای یک راهنمای لحیم کاری عمومی است که شامل سرصفحه است و یک ویدیوی زیبا در YouTube وجود دارد که نحوه چسباندن سرصفحه ها را روی یک تابلوی سبک مشابه ، GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins نشان می دهد.
مرحله 3: نصب CircuitPython و Combined Plotter example
اگر با CircuitPython آشنا نیستید ، ابتدا باید راهنمای Welcome to CircuitPython را بخوانید.
مراحل نصب زیر بر اساس pimoroni / EnviroPlus-FeatherWing README و راهنمای شروع به کار با کتابخانه ای بعدی برای تهیه 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
- 5003
- pimoroni_circuitpython_adapter را از اینجا نصب نکنید
- با بارگیری فایل _init_.py در فهرست جدید ایجاد شده lib/pimoroni_circuitpython_adapter در CIRCUITPY ، آخرین کتابخانه آداپتور Pimoroni CircuitPython را نصب کنید.
- بارگیری برنامه نمونه پلاتر ترکیبی به CIRCUITPY با کلیک روی ذخیره پیوند به عنوان … در plotters_combined.py
- نام فایل code.py موجود را در CIRCUITPY تغییر دهید یا حذف کنید ، سپس نام plotters_combined.py را به code.py تغییر دهید. این فایل زمانی اجرا می شود که مترجم CircuitPython شروع یا بارگیری مجدد شود.
نسخه های مورد استفاده برای این راهنما عبارت بودند از:
- CircuitPython 6.0.0
- CircuitPython bundle 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 Time Timeout: خواندن شروع بایت فریم انجام نشد
شما احتمالاً pms5003 متصل ندارید ، بدون ورود ذرات ادامه دهید
فاصله طرح روی 540 ثانیه در بالای برنامه تنظیم شده است. این می تواند برای کنترل نرخ نمودار تنظیم شود.
مرحله 5: Enviro+ FeatherWing Pins
Enviro+ FeatherWing از تعداد زیادی پین پر استفاده می کند. موارد زیر استفاده می شود ، نامهای داخل براکت از طرح نامگذاری Pimoroni است:
- 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 master master slave in
- MI (pin13) - SPI master bus در slave out
- RX (pin14) - انتقال PMS5003 (دریافت توسط پر)
- TX (pin15) - دریافت PMS5003 (انتقال از پر)
- SCL (pin18) - ساعت I2C
- SDA (پین 17) - داده های I2C
این A5 ، D2/DFU و D13 را برای استفاده آزاد می گذارد.
مرحله 6: مصرف برق
حتی اگر باتری LiPo متصل شده و در حال شارژ مجدد است ، مصرف برق در حد USB است. استفاده بیشتر برای برنامه ریزی حرکت به سمت مصرف باتری مناسب تر است. برخی از اندازه گیری های تقریبی جریان عبارتند از:
- 100mA بیکار ، نور پس زمینه خاموش ؛
- پلاتر 100mA در حال اجرا ، نور پس زمینه کم است.
- پلاتر 120 میلی آمپر در حال اجرا ، نور پس زمینه بالا است.
برگه داده Plantower PMS5003 بیان می کند که جریان کمتر از 100 میلی آمپر است ، این می تواند علاوه بر اعداد فوق باشد. استفاده از مبدل DC-DC در Enviro+ FeatherWing ممکن است این عدد را کمی افزایش دهد.
برد FeR nRF52840 Express دارای NeoPixel (RGB LED) است اما میزان روشنایی برای استفاده پیش فرض از آن به عنوان نشانگر وضعیت برنامه فقط مقدار کمی به مصرف اضافه می کند. برد Feather به خودی خود کمتر از 10mA است ، FeatherWing برد قدرتمند است.
مرحله 7: افزودن حسگر ماده خاص Plantower PMS5003
Met One Instruments BAM 1020 یک منظره رایج در سراسر جهان است که ذرات معلق را در شهرها اندازه گیری می کند. طیف وسیعی از دستگاه های مقرون به صرفه وجود دارد و Enviro+ FeatherWing دارای یک کانکتور برای سنسور ذرات Plantower PMS5003 است.
کد کتابخانه Pimoroni برای این سنسور در حال حاضر شکننده به نظر می رسد. یک پیشرفت ساده و سریع این است که استثنائاتی را در برنامه بیابید. برنامه plotters_combined.py را می توان با افزودن این قسمت در بالا بهبود بخشید:
وارد کردن pimoroni_pms5003
و این خط را در حلقه اصلی جایگزین کنید
# مطالعه کنید
pms_reading = pms5003.read ()
با:
# مطالعه کنید
try: pms_reading = pms5003.read () به جز pimoroni_pms5003. ChecksumMismatchError: print ("error checksum")
مرحله هشتم: جلو رفتن
هنگامی که Enviro+ FeatherWing را اجرا کردید ، چندین منطقه برای کشف وجود دارد.
- اضافه کردن سنسور دمای خارجی سنسور دما در BME280 هم از حرارت داخلی برخوردار است و هم از اجزای مجاور گرم می شود و برای کالیبره کردن سایر سنسورهای BME280 در نظر گرفته شده است. این مقدار را می توان برای اندازه گیری تقریبی دمای هوای محیط پردازش کرد ، اما گزینه های خارجی مقرون به صرفه و برتر بسیار زیادی وجود دارد.
- کالیبراسیون سنسورها فشار با استفاده از مشاهدات آب و هوا یا پیش بینی های کوتاه مدت بسیار آسان است (این مقدار در 0 ft amsl خواهد بود) ، بقیه دشوار است.
- تصحیح خروجی PMS5003 برای رطوبت نسبی. فرمول در صفحه 8 PDF در EPA ارائه شده است: PurpleAir PM2.5 اصلاح و عملکرد ایالات متحده در طول رویدادهای دودی 4/2020
- افزودن کد برای پخش داده های حسگر از طریق بلوتوث کم مصرف به سایر دستگاه ها.
- بررسی چگونگی به حداقل رساندن مصرف برق. برخی از سنسورها دارای خطوط فعال هستند ، ممکن است این نیروها را از سنسورها حذف کرده یا آنها را در حالت کم مصرف قرار دهند. برای سنسورهایی با زمان گرم شدن ، نمونه برداری دوره ای ممکن است عملی نباشد.
- خرید ، تطبیق یا ساخت کیف مناسب برای نصب در خارج با جریان هوای داخلی با دقت طراحی شده و اقدامات احتیاطی مناسب برای تابش مستقیم نور خورشید. سنسور گاز SensorTech MiCS-6814 با یک جریان ثابت و کم سرعت هوا در سراسر آن بهترین عملکرد را دارد.
- بررسی چگونگی تأثیر شرایط آب و هوا بر آلودگی در سطح زمین. نکته: وارونگی قابل توجه است.
- تبدیل به باتری یا خورشیدی با قدرت باتری. انرژی خورشیدی بیشتر از افزودن یک پنل خورشیدی فتوولتائیک چالش برانگیز است ، به بخش نکات طراحی در Adafruit Learn: USB، DC & Solar Lipoly Charger مراجعه کنید.
- افزودن سنسورهای دیگر برای اندازه گیری آلاینده های رایج مانند ازن (O3) و دی اکسید گوگرد (SO2) یا گازهای گلخانه ای مانند دی اکسید کربن (CO2). چند سنسور "eCO2" را اندازه گیری می کنند و برای اندازه گیری CO2 اتمسفر مناسب نیستند. Adafruit اکنون سنسور Sensirion SCD-30 NDIR CO2 با ارزش فوق العاده را روی تخته ای با اتصالات STEMMA QT i2c می فروشد.
- اگر می خواهید ارسال اطلاعات از طریق اینترنت با استفاده از Wi-Fi را بررسی کنید ، به نظر می رسد که برد FeatherS2 با میکروکنترلر ESP32-S2 با Enviro+ FeatherWing سازگار است. محدودیت مشکلی در مبدل های آنالوگ به دیجیتال ESP32-S2 (ADC) وجود دارد که از اندازه گیری مناسب سنسورهای گاز جلوگیری می کند. برای اطلاعات بیشتر به انجمن های Adafruit مراجعه کنید: مقایسه ADC پر شامل 2.6 ولت محدود ESP32-S2.
پروژه های مرتبط:
- Adafruit Learn: مقایسه و آزمایش با سنسورهای گاز قابل اشتعال
- Adafruit Learn: TMP36 سنسور دما
خواندن بیشتر:
- دستورالعمل های آلودگی هوا سازمان بهداشت جهانی (WHO)
- بنیاد ریه بریتانیا - کیفیت هوا (PM2.5 و NO2)
- Breathe London-شبکه ای برای تکمیل شبکه کیفیت هوای لندن با "مقرون به صرفه ، آسان برای نصب و نگهداری سنسورهای کیفیت هوا برای هر کسی" ، که در حال حاضر از Clarity Node-S استفاده می کند.
- شاخص کیفیت هوای جهان - داده ها را از منابع مختلف با نمای نقشه و داده های تاریخی جمع آوری می کند.
- مجله اتمسفر: آلودگی هوای داخل ساختمان از اجاق های مسکونی: بررسی سیل ذرات معلق به خانه ها در زمان استفاده در دنیای واقعی - در این نسخه از رزبری پای از برد Enviro+ استفاده می شود.
- قوانین: مقررات استانداردهای کیفیت هوا 2010 (انگلستان)
- وبلاگ Pimoroni: آلوده ترین شب سال (در انگلستان)
- اکونومیست: آسمان نیمه شب - گرمایش خانه زغال سنگ لهستان باعث ایجاد آلودگی گسترده می شود (ژانویه 2021)
- اخبار بی بی سی: سر و صدای ترافیک توانایی پرندگان آوازخوان را مختل می کند (آلودگی صوتی)
- اشکالات نرم افزاری در کتابخانه سنسور ماده ذرات - نگاهی به مراقبت های لازم برای تجزیه و تحلیل قوی پروتکل سریال PMS5003.