Mündəricat:
- Addım 1: Önyükləyicinin təkmilləşdirilməsi
- Addım 2: Başlıqların lehimlənməsi
- Addım 3: CircuitPython və Combined Plotter Nümunəsinin Qurulması
- Addım 4: Qarışıq Plotter
- Addım 5: Enviro+ FeatherWing Pins
- Addım 6: Güc istehlakı
- Addım 7: Plantower PMS5003 Xüsusi Maddə Sensorunun əlavə edilməsi
- Addım 8: İrəli gedin
Video: Adafruit Lələkli NRF52840 Express ilə Pimoroni Enviro+ FeatherWing istifadə: 8 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:42
Pimoroni Enviro+ FeatherWing, Adafruit Feather lövhələri ilə işləmək üçün hazırlanmış sensorlar ilə dolu bir lövhədir. Ətraf mühitin monitorinqi, atmosferin çirklənməsi və məlumatların toplanması ilə maraqlanan hər kəs üçün başlamaq üçün faydalı bir yerdir. Xüsusiyyətlərə malikdir:
- Bosch BME280 - temperatur, təzyiq, rütubət sensoru;
- Lite-On LTR-559-işıq və yaxınlıq sensoru;
- SensorTech MiCS -6814 - qazları oksidləşdirən, qazları azaldan və ammiak sensoru;
- Analoq mikrofon - səs -küyün çirklənməsini ölçmək;
- Plantower PMS5003 hissəciklər sensoru üçün bağlayıcı (daxil deyil).
MiCS-6814-dəki metal oksid sensorlar üçlüyünə, oksidləşdirici qazlar üçün daha az yayılmış bir sensor daxildir. Bu, şəhərlərdə və əsas yolların yaxınlığında çirkləndirici olan azot dioksidə (NO2) qarşı həssaslığı üçün faydalıdır.
Pimoroni ya Adafruit tövsiyə edir
- Feather M4 Express (120MHz, 192kB ram) və ya
- Tüy nRF52840 Express (64MHz, 256kB ram).
NRF52840, lövhəyə başqa bir cihaza məlumat göndərmə potensialı verən Bluetooth Aşağı Enerjini (BLE) dəstəklədiyi üçün bu bələdçi üçün seçildi.
Feather və FeatherWing, əlaqəsiz kişi başlıqları ilə gəlir. Lövhələri yığmaq üçün qadın başlıqlar tələb olunur. Bu təlimat, Feather lövhəsinin əlavə sensorlar ilə təcrübəni asanlaşdıran bir çörək taxtasına daxil edilməsinə imkan verən "yığma başlıqların" istifadəsini göstərir. Başlıqların lövhələrə lehimlənməsi lazımdır, lakin bu olduqca sadədir.
Enviro+ FeatherWing, əmisi oğlu Raspberry Pi üçün Enviro+ Hava Keyfiyyəti ilə müqayisədə bir incə fərqə malikdir. FeatherWing versiyası, 3.7V-4.3V istehsal edən bir lityum polimer (LiPo) batareyanın istifadəsinə imkan verən 5V-dan aşağı gərginliklə işləmək üçün nəzərdə tutulmuşdur. İsteğe bağlı PMS5003 üçün 5V təmin etmək üçün DC-DC çeviricisinə malikdir və MiCS-6814 daxili qızdırıcılarını ayrı-ayrılıqda bu aşağı gərginliklərlə mübarizə apara bilər.
Əsas şəkil, PMS5003 -dən PM2.5 və PM10 məlumatlarını göstərən Enviro+ FeatherWing -i göstərir. Şamı yandırmaq üçün yarımçıq bir Swan Vestas matçı vuruldu.
İkinci bir məqalə, Pimoroni Enviro+ FeatherWing və Adafruit SCD-30 ilə Karbon Dioksid Səviyyələrinin Çizilməsini əhatə edir.
Təchizat:
- Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (başqa bir oxşar lövhə Raspberry Pi üçün mövcuddur)
- Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
- Tüy yığma başlıqları - Pimoroni | Adafruit - normal qadın başlıqları və ya FeatherWing dubler/tripler də istifadə edilə bilər
- Lehim
- İsteğe bağlı: Plantower PMS5003 hissəciklər sensoru - Pimoroni | Adafruit
Addım 1: Önyükləyicinin təkmilləşdirilməsi
Lələk lövhəsi USB istifadə edərək kompüterə qoşularaq lehimlənməmiş yoxlanıla bilər. Önyükləyicini yoxlamaq üçün faydalı bir vaxtdır - köhnə versiyalar Windows -da çaşqın, lakin zərərsiz səhvlər yarada bilər.
Tüyün sıfırlama düyməsini iki dəfə tıklamaq FTHR840BOOT adlı sürücünün ana kompüterə təqdim edilməsinə səbəb olur. Versiyanı yoxlamaq üçün INFO_UF2. TXT adlı bir fayl açıla bilər, aşağıdakı nümunə 0.2.6 versiyasını göstərən məzmunu göstərir:
F2 Bootloader 0.2.6 lib/nrfx (v1.1.0-1-g096e770) lib/tinyusb (legacy-525-ga1c59649) s140 6.1.1
Model: Adafruit Feather nRF52840 Express Board-ID: NRF52-Bluefruit-v0 Bootloader: s140 6.1.1 Tarix: 21 Dekabr 2018
0.2.9 -dan əvvəlki versiyalar yuxarıda göstərilən səhvdən əziyyət çəkir. Bir az çətinliklə yüksəltmə prosesi Adafruit Learn: Adafruit nRF52840 Feather ilə tanışlıq: Bootloader -ı yeniləyin və Adafruit Forumlarında müzakirə olundu: Windows səhvləri CircuitPython UF2 -ni FTHR840BOOT -a kopyalayır.
Addım 2: Başlıqların lehimlənməsi
Enviro+ FeatherWing -in kişi başlıqlarının, Tüyün isə yığma qadın başlıqlarının əlavə edilməsinə ehtiyacı var.
Lehim edərkən sancaqları düzgün vəziyyətdə tapmaq üçün ümumi bir üsul, onları çörək taxtasına daxil etməkdir. Alt hissədəki pikoblade konnektoru başlıqdakı plastik boşluqlardan daha hündür olduğu üçün bu FeatherWing ilə bir qədər ehtiyatlı olmaq lazımdır. Bu, lövhənin təsadüfən bir açı ilə lehimlənməsinə səbəb ola bilər. Yuxarıdakı şəkil bucağı göstərir. Başlıqları çörək taxtasından 2-3mm (0.1in) bərabər şəkildə qaldıraraq asanlıqla həll edilir.
Yığma qadın başlıqları lövhəyə dik olmalıdır. Bunları düz bir səthə qoyaraq və lələk lövhəsinin onlara möhkəm basıldığını təmin etməklə əldə edilə bilər. Yuxarıdakı şəkil, qələmə ağırlıq gətirən, əlləri çəkilməyən bir köməkçi cihazı olan bir qələm ilə təzyiq tətbiq olunduğunu göstərir. Bəzi ehtiyat başlıqları aralığın saxlanmasında bəzi əlavə köməkliklər göstərir.
MiCS-6814 məlumat cədvəlində deyilir:
Sensor, buxar lehimsiz, neytral bir atmosferdə yenidən lehimlənməlidir. Həssas təbəqənin zəhərlənməməsi üçün sensor yüksək konsentrasiyalarda üzvi həlledicilərə, silikon buxarlarına və ya siqaret tüstüsünə məruz qalmamalıdır.
Qaz sensörünü əhatə edən kiçik bir maska lenti, lehimləmə və axının təmizlənməsi zamanı müdrik bir tədbirdir. Dəmir ilə lehimdən qaçınılmaz kiçik axının sıçraması ilə mübarizə aparmaq üçün ekran qoruyucu da bu mərhələdə qala bilər. Mikrofon, hər hansı bir axın təmizlənməsi zamanı maskalanan bantla qorunmaqdan da faydalanacaq.
Uzun sancaqlar bir çörək taxtasından və ya başqa bir yuvadan çıxarılarkən asanlıqla əyilə bilər. Lövhəni bir tərəfdən yuxarı qaldırmamaq üçün diqqətli olun.
Adafruit -də lehimləmə yığma başlıqları haqqında bir bələdçi var, Pimoroni -də başlıqları ehtiva edən ümumi bir lehimləmə bələdçisi var və YouTube -da başlıqların oxşar bir lövhəyə necə lehimlənəcəyini göstərən gözəl bir video var, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!
Addım 3: CircuitPython və Combined Plotter Nümunəsinin Qurulması
CircuitPython ilə tanış deyilsinizsə, əvvəlcə CircuitPython -a xoş gəldiniz bələdçisini oxumağa dəyər.
Aşağıdakı quraşdırma addımları, pimoroni / EnviroPlus-FeatherWing README və CircuitPython 6.x-i təmin etmək üçün sonrakı bir kitabxana ilə Başlanğıc təlimatına əsaslanır.
- Https://circuitpython.org/ saytından ən son CircuitPython (6.0.02020) versiyasını quraşdırın - bu proses CircuitPython for Feather nRF52840 -da təsvir edilmişdir.
- USB vasitəsilə serial konsoluna qoşularaq qurulmasını yoxlayın. REPL istəyi versiyanı göstərir. Versiya, CIRCUITPY sürücüsündə boot_out.txt yoxlanaraq da yoxlanıla bilər.
-
Bu kitabxanaları https://circuitpython.org/libraries bir paketdən CIRCUITPY üzərindəki lib qovluğuna quraşdırın:
- adafruit_bus_device
- adafruit_bme280 (adafruit_bmp280 deyil)
- adafruit_st7735r (adafruit_st7735 deyil)
- adafruit_display_text
-
Bu kitabxanaları GiHub: pimoroni/EnviroPlus-FeatherWing: EnviroPlus-FeatherWing-1.0.zip faylından CIRCUITPY üzərindəki lib qovluğuna quraşdırın:
- i2cdevice (Adafruit -in i2c_device kitabxanası ilə qarışdırılmamalıdır)
- pimoroni_envirowing
- 559
- pimoroni_physical_feather_pins
- 5003
- Buradan pimoroni_circuitpython_adapter quraşdırmayın
- _İnit_.py faylını CIRCUITPY -də yeni yaradılmış lib/pimoroni_circuitpython_adapter qovluğuna yükləyərək ən son Pimoroni CircuitPython adapter kitabxanasını quraşdırın.
- Birləşdirilmiş plotter nümunə proqramını CATRUITPY -yə yükləyin, linki plots_combined.py üzərindən… kimi saxla.
- CIRCUITPY -də mövcud olan code.py faylının adını dəyişdirin və ya silin, sonra plotters_combined.py -nin adını kod.py olaraq dəyişdirin. Bu fayl, CircuitPython tərcüməçisi işə başladıqda və ya yenidən yüklənəndə işə salınır.
Bu təlimat üçün istifadə olunan versiyalar:
- CircuitPython 6.0.0
- CircuitPython kitabxana paketi adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
- EnviroPlus-FeatherWing kitabxana versiyası 1.0
- pimoroni_circuitpython_adapter kitabxana 9-Dekabr 2020 f062036
Addım 4: Qarışıq Plotter
Birləşdirilmiş plotterin dörd ekranı var:
- Səs və İşıq.
- PM2.5 və PM10.
- Temperatur, təzyiq və rütubət.
- OX, QIRMIZI və NH3.
Parçacıqlı maddələr (PM) ekranı yalnız Plantower PMS5003 bağlı olduqda görünür. Proqram başlanğıcda varlığını yoxlayır və bağlı deyilsə bu məlumat mesajını yazdırır:
PMS5003 Oxuma Zaman Aşımı: Çərçivə baytının başlanğıcını oxumaq alınmadı
Yəqin ki, hissəcik qeyd etmədən davam edən bir pms5003 bağlantınız yoxdur
Süjet aralığı proqramın yuxarı hissəsində 540 saniyəyə təyin edilmişdir. Bu sahə nisbətini idarə etmək üçün tənzimlənə bilər.
Addım 5: Enviro+ FeatherWing Pins
Enviro+ FeatherWing, çox sayda Tüy sancağından istifadə edir. Aşağıdakılar istifadə olunur, mötərizədəki adlar Pimoroni adlandırma sxemindəndir:
- A0 (pin5) - MiCS6814 ammonyak qaz sensoru
- A1 (pin6) - MiCS8614 azaldıcı qaz sensoru
- A2 (pin7) - MiCS6814 oksidləşdirici qaz sensoru
- A3 (pin8) - analoq mikrofon
- A4 (pin9) - MiCS6814 aktivdir
- D5 (pin19) - SPI avtobus ekran əmri
- D6 (pin20) - SPI avtobus ekran çipi seçin
- D9 (pin21) - arxa işıq (PWM)
- D10 (pin22) - PMS5003 aktivdir
- D11 (pin23) - PMS5003 sıfırlayın
- D12 (pin24) - LTR -559 kəsilməsi (CircuitPython kitabxanasında dəstəklənmir)
- SCK (pin11) - SPI avtobus saatı
- MO (pin12) - SPI avtobus ustası qulluq edir
- MI (pin13) - SPI avtobus ustası kölə vəziyyətdədir
- RX (pin14) - PMS5003 ötürmə (Tüylə qəbul)
- TX (pin15) - PMS5003 qəbul edir (Tüydən ötürür)
- SCL (pin18) - I2C saatı
- SDA (pin 17) - I2C məlumatları
Bu, A5, D2/DFU və D13 -ü istifadəyə sərbəst buraxır.
Addım 6: Güc istehlakı
LiPo batareyası əlavə edilmiş və yenidən doldurulmuş olsa belə, enerji istehlakı USB spesifikasiyasında çox yaxşıdır. İstifadə, batareya gücünə keçid planlaşdırmaq üçün daha aktualdır. Cərəyanın çox təxmini ölçüləri bunlardır:
- 100 mA boş, arxa işığı söndürülmüş;
- 100mA plotter çalışır, arxa işıq azdır;
- 120mA plotter çalışır, arxa işıq yüksəkdir.
Plantower PMS5003 məlumat cədvəlində cərəyanın 100mA -dan az olduğu bildirilir, bu yuxarıdakı rəqəmlərə əlavə olardı. Enviro+ FeatherWing-də DC-DC çeviricinin istifadəsi bu rəqəmi bir qədər artıra bilər.
Feather nRF52840 Express lövhəsində NeoPixel (RGB LED) var, lakin proqram vəziyyətinin göstəricisi olaraq standart istifadə üçün parlaqlıq səviyyələri istehlakı çox az edir. Tüy lövhəsinin özü tək başına 10mA -dan aşağıdır, FeatherWing gücə malik lövhədir.
Addım 7: Plantower PMS5003 Xüsusi Maddə Sensorunun əlavə edilməsi
Met One Instruments BAM 1020, şəhərlərdə hissəciklərin ölçülməsi ilə bütün dünyada rast gəlinən bir mənzərədir. Daha əlverişli bir sıra cihazlar mövcuddur və Enviro+ FeatherWing, Plantower PMS5003 hissəciklər sensoru üçün bir bağlayıcı ilə gəlir.
Bu sensorun Pimoroni kitabxana kodu hazırda kövrək görünür. Sadə və sürətli bir inkişaf, proqramdakı istisnaları tutmaqdır. Plotters_combined.py proqramı bunu yuxarıya əlavə edərək təkmilləşdirilə bilər:
pimoroni_pms5003 idxal edin
Və bu xəttin əsas döngədə dəyişdirilməsi
# oxu götür
pms_reading = pms5003.read ()
ilə:
# oxu götür
cəhd edin: pms_reading = pms5003.read () pimoroni_pms5003 istisna olmaqla. ChecksumMismatchError: print ("checksum error")
Addım 8: İrəli gedin
Enviro+ FeatherWing işlədikdən sonra araşdırmaq üçün bir çox sahə var.
- Xarici bir temperatur sensoru əlavə edin. BME280 -dəki temperatur sensoru həm daxili istiliyə, həm də yaxınlıqdakı komponentlərdən istiləşməyə məruz qalır və digər BME280 sensorlarını kalibr etmək üçün nəzərdə tutulmuşdur. Dəyər, ətrafdakı hava istiliyinin təxmini bir ölçüsünü təmin etmək üçün işlənə bilər, lakin bir çox əlverişli, üstün xarici seçim var.
- Sensorların kalibrlənməsi. Hava müşahidələri və ya qısamüddətli proqnozlardan istifadə etməklə təzyiq asandır (bunlar 0 ft-də olacaq), qalanları çətindir.
- Nisbi rütubət üçün PMS5003 çıxışının düzəldilməsi. Bir formul PDF -nin 8 -ci səhifəsində EPA: PurpleAir PM2.5 ABŞ -ın Tüstü Hadisələri zamanı Düzəliş və Performansı 4/2020 təqdim olunur.
- Sensor məlumatlarını Bluetooth Low Energy üzərindən digər cihazlara yayımlamaq üçün kod əlavə etmək.
- Enerji istehlakını necə minimuma endirmək olar. Bəzi sensorların aktivləşdirmə xətləri var, bunlar sensorlardakı enerjini çıxara bilər və ya aşağı güc rejiminə keçirə bilər. İstiləşmə vaxtı olan sensorlar üçün vaxtaşırı nümunə götürmək praktik olmaya bilər.
- Diqqətlə dizayn edilmiş daxili hava axını və birbaşa günəş işığı üçün uyğun tədbirlərlə xaricdə montaj üçün uyğun bir çantanın alınması, uyğunlaşdırılması və ya edilməsi. SensorTech MiCS-6814 qaz sensoru ən yaxşı şəkildə sabit və aşağı sürətlə hava axını ilə işləyir.
- Hava şəraitinin yer səviyyəsində çirklənməyə necə təsir etdiyini araşdırmaq. İpucu: inversiyalar əhəmiyyətlidir.
- Batareya gücü ilə batareya və ya günəş enerjisinə çevrilir. Günəş enerjisi, sadəcə fotovoltaik günəş paneli əlavə etməkdən daha çətindir, Adafruit Learn: USB, DC və Solar Lipoly Şarj Cihazının Dizayn Qeydləri bölümünə baxın.
- Ozon (O3) və kükürd dioksid (SO2) kimi ümumi çirkləndiriciləri və ya karbon qazı (CO2) kimi istixana qazlarını ölçmək üçün başqa sensorlar əlavə etmək. Bir neçə sensor "eCO2" ölçür və atmosferdəki CO2 ölçmək üçün uyğun deyil. Adafruit indi STEMMA QT i2c konnektorlu lövhədə böyük dəyərə malik Sensirion SCD-30 NDIR CO2 sensorunu satır.
- Wi-Fi istifadə edərək məlumatların İnternet üzərindən göndərilməsini araşdırmaq istəyirsinizsə, ESP32-S2 mikrokontrolörlü FeatherS2 lövhəsi Enviro+ FeatherWing ilə uyğun görünür. Rəqəmsal çeviricilərin (ADC) ESP32-S2 analoqu ilə qaz sensorlarının düzgün ölçülməsinə mane olan problemli bir məhdudiyyət var. Daha çox məlumat üçün 2.6V məhdud ESP32-S2 daxil olmaqla Adafruit Forums: Feather ADC müqayisəsinə baxın.
Əlaqəli layihələr:
- Adafruit məlumat əldə edin: Yanıcı Qaz Sensorları ilə Müqayisə və Təcrübə
- Adafruit məlumat əldə edin: TMP36 İstilik Sensoru
Əlavə oxu:
- Ümumdünya Səhiyyə Təşkilatının (ÜST) Hava Çirkliliyi Təlimatları
- İngilis Ağciyər Vəqfi - Hava Keyfiyyəti (PM2.5 və NO2)
- London Breathe-hazırda Clarity Node-S-dən istifadə edərək, London Hava Keyfiyyət Şəbəkəsini "əlverişli, quraşdırılması asan və hər kəs üçün hava keyfiyyəti sensoru ilə təmin edən" bir şəbəkə.
- Dünya Hava Keyfiyyəti İndeksi - xəritənin görünüşü və tarixi məlumatlarla bir çox fərqli mənbədən məlumat toplayır.
- Atmosfer Jurnalı: Yaşayış Sobalarından Daxili Hava Çirkliliyi: Həqiqi Dünyada İstifadə Edilərkən Partikül Maddənin Evlərə Tufanını Araşdırmaq - bu, Enviro+ lövhəsinin Raspberry Pi versiyasını istifadə edir.
- Qanunvericilik: Hava Keyfiyyət Standartları Qaydaları 2010 (Böyük Britaniya)
- Pimoroni Blogu: İlin Ən Çirkli Gecəsi (İngiltərədə)
- The Economist: Gecə yarısı göy - Polşanın kömürlə işləyən ev istiləşməsi geniş yayılmış çirklənmə yaradır (2021 -ci ilin yanvar)
- BBC News: Trafik səsləri quş quşlarının qabiliyyətini pozur (səs -küy çirklənməsi)
- Partiküllü Maddə Sensor Kitabxanasındakı Proqram Bugs - PMS5003 seriya protokolunu etibarlı şəkildə təhlil etmək üçün lazım olan qayğıya baxın.