Tartalomjegyzék:

A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével: 8 lépés
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével: 8 lépés

Videó: A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével: 8 lépés

Videó: A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével: 8 lépés
Videó: FeatherWing OLED displaying battery charge, temperature, pressure and humidity. 2024, Július
Anonim
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével
A Pimoroni Enviro+ FeatherWing használata az Adafruit Feather NRF52840 Express segítségével

A Pimoroni Enviro+ FeatherWing egy olyan tábla, amely tele van érzékelőkkel, és az Adafruit Feather sorozatú táblákkal dolgozik. Ez hasznos kiindulópont mindazoknak, akik érdeklődnek a környezetfigyelés, a légszennyezés és az adatgyűjtés iránt. A szoba jellemzői:

  • Bosch BME280 - hőmérséklet-, nyomás-, páratartalom -érzékelő;
  • Lite-On LTR-559-fény- és közelségérzékelő;
  • SensorTech MiCS -6814 - oxidáló gázok, redukáló gázok és ammónia érzékelő;
  • Analóg mikrofon - zajszennyezés mérése;
  • Csatlakozó a Plantower PMS5003 részecske -érzékelőhöz (nem tartozék).

A MiCS-6814 fém-oxid érzékelőinek hármasa tartalmaz egy kevésbé gyakori érzékelőt az oxidáló gázokhoz. Ez hasznos a nitrogén -dioxiddal (NO2) szembeni érzékenység miatt, amely a városokban és a főutak közelében gyakori szennyező anyag.

Pimoroni vagy az Adafruitot ajánlja

  • Feather M4 Express (120MHz, 192kB ram) vagy
  • Feather nRF52840 Express (64 MHz, 256 KB).

Az nRF52840 -t választották ehhez az útmutatóhoz, mivel támogatja a Bluetooth Low Energy (BLE) funkciót, amely lehetőséget ad a táblának, hogy adatokat küldjön egy másik eszközre.

A Feather és a FeatherWing nem csatolt hímfejjel érkezik. A táblák egymásra rakásához női fejlécekre van szükség. Ez az útmutató bemutatja a "halmozási fejlécek" használatát, amely lehetővé teszi a tolllemez behelyezését a kenyérsütő táblába, megkönnyítve az extra érzékelőkkel való kísérletezést. A fejléceket a táblákhoz kell forrasztani, de ez ésszerű.

Az Enviro+ FeatherWing egyetlen finom különbséggel rendelkezik unokatestvéréhez képest, az Enviro+ Air Quality for Raspberry Pi. Úgy tűnik, hogy a FeatherWing verziót 5 V alatti feszültségekre tervezték, így egyetlen lítium-polimer (LiPo) akkumulátor is használható, amely 3,7–4,3 V-ot termel. DC-DC átalakítóval rendelkezik, amely 5 V-ot biztosít az opcionális PMS5003 számára, és egyenként táplálja a MiCS-6814 belső fűtőelemeket, hogy kezelje ezeket az alacsonyabb feszültségeket.

A fő képen az Enviro+ FeatherWing látható, amely megjeleníti a PMS5003 PM2.5 és PM10 adatait. A Swan Vestas mérkőzést a cselekmény felénél megütötték, hogy meggyújtsák a gyertyát.

A második cikk a szén-dioxid-szint ábrázolásáról szól a Pimoroni Enviro+ FeatherWing és az Adafruit SCD-30 segítségével.

Kellékek:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (egy másik hasonló tábla létezik a Raspberry Pi esetében)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Tollhalmozó fejek - Pimoroni | Adafruit - normál női fejlécek vagy FeatherWing dupla/tripler is használhatók
  • Forrasztó
  • Opcionális: Plantower PMS5003 részecskeérzékelő - Pimoroni | Adafruit

1. lépés: A rendszerindító frissítése

A tollkártya forrasztása előtt ellenőrizhető, ha USB -vel csatlakoztatja a számítógéphez. Ez hasznos alkalom a rendszerbetöltő ellenőrzésére - a régi verziók zavaró, de ártalmatlan hibákat okozhatnak a Windows rendszeren.

A Feather reset gombjára duplán kattintva megjelenik az FTHR840BOOT nevű meghajtó a gazdagépben. Az INFO_UF2. TXT nevű fájl megnyitható a verzió ellenőrzéséhez, az alábbi példa a 0.2.6 verziót jelző tartalmat mutatja:

F2 Bootloader 0.2.6 lib/nrfx (v1.1.0-1-g096e770) lib/tinyusb (legacy-525-ga1c59649) s140 6.1.1

Modell: Adafruit Feather nRF52840 Express Board-ID: NRF52-Bluefruit-v0 Bootloader: s140 6.1.1 Dátum: 2018. december 21.

A 0.2.9 előtti verziók a fent említett hibától szenvednek. A kissé furcsa frissítési folyamatot az Adafruit Learn: Az Adafruit nRF52840 Feather: Bootloader bemutatása című fejezetben ismertetjük, és az Adafruit Fórumokon tárgyaljuk: A Windows hibái a CircuitPython UF2 -t FTHR840BOOT -ba másolják.

2. lépés: A fejlécek forrasztása

A fejlécek forrasztása
A fejlécek forrasztása
A fejlécek forrasztása
A fejlécek forrasztása
A fejlécek forrasztása
A fejlécek forrasztása

Az Enviro+ FeatherWinghez csatolni kell a férfi fejléceket, a Featherhez pedig az egymásra rakható női fejléceket.

A forrasztás során a csapok helyes helyzetben való megtalálásának általános technikája az, hogy behelyezik őket egy kenyérsütő táblába. Ez a FeatherWing némi óvatosságot igényel, mivel az alsó részen található pikoblade csatlakozó magasabb, mint a fejléc műanyag távtartói. Ez a tábla akaratlanul ferde forrasztását okozhatja. A fenti kép a szöget mutatja. Ez könnyen megoldható úgy, hogy a fejléceket egyenletesen, 2-3 mm-rel (0,1 hüvelyk) emeli a kenyértáblától.

Az egymásra rakható női fejeknek merőlegesnek kell lenniük a táblára. Ezt úgy érheti el, hogy sík felületre helyezi őket, és gondoskodik arról, hogy a tolllemez szilárdan rájuk legyen nyomva. A fenti képen látható, hogy egy ceruzával nyomást gyakorolnak, és a lövésen kívüli segítő kezek eszköze súlyoz a ceruzára. Néhány tartalék fejléc további segítséget nyújt a távolság fenntartásához.

A MiCS-6814 adatlapja ezt írja:

Az érzékelőt semleges atmoszférában, forrasztási fluorgőzök nélkül kell forrasztani. Az érzékelőt nem szabad kitenni magas koncentrációjú szerves oldószereknek, szilikongőzöknek vagy cigarettafüstnek az érzékeny réteg mérgezésének elkerülése érdekében.

Egy kis darab maszkolószalag, amely lefedi a gázérzékelőt, bölcs elővigyázatosság a forrasztás és a folyótisztítás során. A képernyővédőt ebben a szakaszban is be lehet hagyni, hogy megbirkózzon a vasalóval történő forrasztásból eredő elkerülhetetlen apró folyadékfröccsenésekkel. A mikrofon maszkolószalaggal is védett minden fluxustisztítás során.

A hosszú csapok könnyen hajlíthatók, ha kenyérsütő deszkáról vagy más foglalatról veszik ki őket. Ügyeljen arra, hogy az egyik végén ne emelje fel a táblát.

Az Adafruitnak van útmutatója a forrasztási halmozási fejlécekhez, a Pimoroni -nak van egy általános forrasztási útmutatója, amely fejléceket tartalmaz, és van egy jó videó a YouTube -on, amely bemutatja, hogyan kell a fejléceket hasonló stílusú táblára forrasztani, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!

3. lépés: Példa a CircuitPython és a kombinált plotter telepítésére

Példa a CircuitPython és a kombinált plotter telepítésére
Példa a CircuitPython és a kombinált plotter telepítésére

Ha nem ismeri a CircuitPython programot, akkor először érdemes elolvasni az Üdvözli a CircuitPython útmutatót.

Az alábbi telepítési lépések a pimoroni / EnviroPlus-FeatherWing README és a Kezdő lépések útmutatón alapulnak, egy későbbi könyvtárral a CircuitPython 6.x számára.

  1. Telepítse a CircuitPython legújabb verzióját (6.0.0 2020 decemberében) a https://circuitpython.org/ webhelyről - ezt a folyamatot ismerteti a CircuitPython for Feather nRF52840.
  2. Ellenőrizze a telepítést úgy, hogy USB -n keresztül csatlakozik a soros konzolhoz. A REPL prompt megjeleníti a verziót. A verzió a CIRCUITPY meghajtón található boot_out.txt fájl ellenőrzésével is ellenőrizhető.
  3. Telepítse ezeket a könyvtárakat a https://circuitpython.org/libraries csomagból a CIRCUITPY lib könyvtárába:

    1. adafruit_bus_device
    2. adafruit_bme280 (nem adafruit_bmp280)
    3. adafruit_st7735r (nem adafruit_st7735)
    4. adafruit_display_text
  4. Telepítse ezeket a könyvtárakat a GiHub EnviroPlus-FeatherWing-1.0.zip fájljából: pimoroni/EnviroPlus-FeatherWing: 1.0 verzió a CIRCUITPY lib könyvtárába:

    1. i2cdevice (nem tévesztendő össze az Adafruit i2c_device könyvtárával)
    2. pimoroni_envirowing
    3. 559
    4. pimoroni_physical_feather_pins
    5. 5003
    6. Ne telepítse innen a pimoroni_circuitpython_adapter szoftvert
  5. Telepítse a legújabb Pimoroni CircuitPython adapterkönyvtárat, ha letölti a _init_.py fájlt egy újonnan létrehozott lib/pimoroni_circuitpython_adapter könyvtárba a CIRCUITPY -n.
  6. Töltse le a kombinált plotter példaprogramot a CIRCUITPY formátumba a link mentése másként… gombra kattintva a plotters_combined.py oldalon.
  7. Nevezze át vagy törölje a meglévő code.py fájlt a CIRCUITPY -n, majd nevezze át a plotters_combined.py -t code.py -re. Ez a fájl akkor fut, amikor a CircuitPython értelmező elindul vagy újratöltődik.

Az útmutatóhoz használt verziók a következők voltak:

  • CircuitPython 6.0.0
  • CircuitPython könyvtárcsomag adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • EnviroPlus-FeatherWing könyvtár 1.0 verzió
  • pimoroni_circuitpython_adapter könyvtár 2020. december 9. f062036

4. lépés: A kombinált plotter

A kombinált plotter
A kombinált plotter

A kombinált plotter négy képernyővel rendelkezik:

  1. Hang és fény.
  2. PM2.5 és PM10.
  3. Hőmérséklet, nyomás és páratartalom.
  4. OX, PIROS és NH3.

A részecskék (PM) képernyő csak akkor jelenik meg, ha a Plantower PMS5003 csatlakoztatva van. A program az elején ellenőrzi jelenlétét, és kinyomtatja ezt az információs üzenetet, ha nincs csatlakoztatva:

PMS5003 Olvasási időtúllépés: Nem sikerült elolvasni a keretbájt elejét

Valószínűleg nincs pms5003 csatlakoztatva, részecske naplózás nélkül folytatja

A programozási intervallum 540 másodpercre van állítva a program tetején. Ez beállítható a nyomtatási sebesség szabályozására.

5. lépés: Enviro+ FeatherWing csapok

Enviro+ FeatherWing csapok
Enviro+ FeatherWing csapok
Enviro+ FeatherWing csapok
Enviro+ FeatherWing csapok

Az Enviro+ FeatherWing nagyszámú toll tollát használja. A következőket használják, a zárójelben lévő nevek Pimoroni névadási sémájából származnak:

  • A0 (pin5) - MiCS6814 ammónia gázérzékelő
  • A1 (pin6) - MiCS8614 redukáló gázérzékelő
  • A2 (pin7) - MiCS6814 oxidáló gázérzékelő
  • A3 (pin8) - analóg mikrofon
  • A4 (pin9) - a MiCS6814 engedélyezése
  • D5 (pin19) - SPI busz képernyő parancs
  • D6 (pin20) - SPI busz képernyő chip kiválasztása
  • D9 (pin21) - háttérvilágítás (PWM)
  • D10 (pin22) - PMS5003 engedélyezve
  • D11 (pin23) - PMS5003 visszaállítás
  • D12 (pin24) - LTR -559 megszakítás (a CircuitPython könyvtár nem támogatja)
  • SCK (pin11) - SPI busz óra
  • MO (pin12) - SPI busz master ki slave in
  • MI (pin13) - SPI busz master in slave out
  • RX (pin14) - PMS5003 adás (Feather fogadása)
  • TX (pin15) - PMS5003 fogadás (tollas küldés)
  • SCL (pin18) - I2C óra
  • SDA (17. láb) - I2C adatok

Ez szabadon hagyja az A5, D2/DFU és D13 használatát.

6. lépés: Energiafogyasztás

Energiafelhasználás
Energiafelhasználás

Az áramfogyasztás jócskán megfelel az USB specifikációnak, még akkor is, ha LiPo akkumulátor van csatlakoztatva és töltődik. A használat relevánsabb az akkumulátorra való áttérés tervezésekor. Néhány nagyon közelítő árammérés:

  • 100 mA üresjárat, háttérvilágítás kikapcsolva;
  • 100mA plotter fut, háttérvilágítás alacsony;
  • 120mA plotter fut, magas háttérvilágítással.

A Plantower PMS5003 adatlapja azt jelzi, hogy az áram kisebb, mint 100 mA, ez kiegészíti a fenti számokat. A DC-DC átalakító használata az Enviro+ FeatherWing készüléken némileg növelheti ezt a számot.

A Feather nRF52840 Express tábla NeoPixel (RGB LED), de az alapértelmezett programállapot -jelzőként használt fényerő csak csekély mértékben növeli a fogyasztást. Maga a Feather tábla önmagában 10 mA alatt van, a FeatherWing pedig az éhező tábla.

7. lépés: A Plantower PMS5003 különleges anyagérzékelő hozzáadása

A Plantower PMS5003 különleges anyagérzékelő hozzáadása
A Plantower PMS5003 különleges anyagérzékelő hozzáadása
A Plantower PMS5003 különleges anyagérzékelő hozzáadása
A Plantower PMS5003 különleges anyagérzékelő hozzáadása
A Plantower PMS5003 különleges anyagérzékelő hozzáadása
A Plantower PMS5003 különleges anyagérzékelő hozzáadása

A Met One Instruments BAM 1020 világszerte gyakori látvány a részecskék városokban történő mérésére. Számos olcsóbb eszköz létezik, és az Enviro+ FeatherWing csatlakozóval rendelkezik a Plantower PMS5003 részecske -érzékelőhöz.

Ennek az érzékelőnek a Pimoroni könyvtári kódja jelenleg törékenynek tűnik. Egyszerű és gyors fejlesztés, ha kivételeket talál a programban. A plotters_combined.py program javítható, ha ezt hozzáadja a tetejéhez:

pimoroni_pms5003

És cserélje ki ezt a sort a fő while ciklusban

# olvasson

pms_reading = pms5003.read ()

val vel:

# olvasson

try: pms_reading = pms5003.read () kivéve pimoroni_pms5003. ChecksumMismatchError: print ("ellenőrző összeg hiba")

8. lépés: Továbblépés

Továbblépve
Továbblépve

Az Enviro+ FeatherWing futtatása után számos területet kell felfedezni.

  • Külső hőmérséklet -érzékelő hozzáadása. A BME280 hőmérséklet -érzékelője a belső fűtésnek és a közeli alkatrészekből származó fűtésnek van kitéve, és a többi BME280 -as érzékelő kalibrálására szolgál. Az érték feldolgozható a környezeti levegő hőmérsékletének hozzávetőleges mérésére, de rengeteg megfizethető, kiváló külső lehetőség áll rendelkezésre.
  • Az érzékelők kalibrálása. A nyomás egyszerű az időjárási megfigyelések vagy a rövid távú előrejelzések segítségével (ezek 0 láb amsl-nél lesznek), a többi nehéz.
  • A PMS5003 kimenet korrigálása a relatív páratartalom szempontjából. Az EPA: PDF PurpleAir PM2.5 amerikai korrekciója és teljesítménye a füstesemények során 2020.04.04.
  • Kód hozzáadása az érzékelőadatok Bluetooth Low Energy -n keresztül történő továbbításához más eszközökre.
  • Az energiafogyasztás minimalizálásának vizsgálata. Néhány érzékelő engedélyezési vonallal rendelkezik, ezek eltávolíthatják az áramot az érzékelőkről, vagy alacsony energiaigényű üzemmódba kapcsolhatják őket. A bemelegedési idővel rendelkező érzékelők esetében a mintavétel nem célszerű.
  • Egy tok megvásárlása, adaptálása vagy készítése alkalmassá tétele külső felszereléshez, gondosan megtervezett belső légáramlással és megfelelő óvintézkedésekkel a közvetlen napfény ellen. A SensorTech MiCS-6814 gázérzékelő akkor működik a legjobban, ha állandó, alacsony sebességű levegő áramlik rajta.
  • Annak vizsgálata, hogy az időjárási körülmények hogyan befolyásolják a talajszennyezést. Tipp: az inverziók jelentősek.
  • Elemmel vagy napelemmel történő átalakítás akkumulátorral. A napenergia nagyobb kihívást jelent, mint egyszerűen fotovoltaikus napelem hozzáadása, lásd az Adafruit Learn: USB, DC és Solar Lipoly Charger tervezési megjegyzéseit.
  • Más érzékelők hozzáadása a gyakori szennyező anyagok, például ózon (O3) és kén -dioxid (SO2) vagy üvegházhatású gázok, például szén -dioxid (CO2) méréséhez. Néhány érzékelő méri az "eCO2" értéket, és nem alkalmas a légköri CO2 mérésére. Az Adafruit mostantól értékesíti a nagy értékű Sensirion SCD-30 NDIR CO2 érzékelőt egy STEMMA QT i2c csatlakozóval ellátott táblán.
  • Ha azt szeretné megvizsgálni, hogy az adatokat Wi-Fi-n keresztül küldje-e el az interneten, akkor az ESP32-S2 mikrovezérlővel ellátott FeatherS2 kártya kompatibilisnek tűnik az Enviro+ FeatherWing készülékkel. Az ESP32-S2 analóg-digitális konverterek (ADC) esetében problémás korlátozás van, ami megakadályozza a gázérzékelők megfelelő mérését. Lásd az Adafruit fórumokat: Feather ADC összehasonlítás, beleértve a 2,6 V korlátozott ESP32-S2-t további információkért.

Kapcsolódó projektek:

  • Adafruit Learn: Összehasonlítás és kísérletezés gyúlékony gázérzékelőkkel
  • Adafruit Learn: TMP36 hőmérséklet -érzékelő

További irodalom:

  • Az Egészségügyi Világszervezet (WHO) légszennyezési irányelvei
  • British Lung Foundation - Levegőminőség (PM2.5 és NO2)
  • A Breathe London-hálózat, amely kiegészíti a londoni levegőminőségi hálózatot "megfizethető, könnyen telepíthető és karbantartható levegőminőség-érzékelőkkel bárki számára", jelenleg a Clarity Node-S-t használja.
  • A világ levegőminőségi indexe - sok különböző forrásból gyűjt adatokat térképnézetekkel és történelmi adatokkal.
  • Atmosphere Journal: Beltéri légszennyezés lakossági kályhákból: A részecskék házba való áradásának vizsgálata a valós használat során - ez az Enviro+ tábla Raspberry Pi verzióját használja.
  • Jogalkotás: A levegőminőségi előírások 2010 (Egyesült Királyság)
  • Pimoroni Blog: Az év legszennyezettebb éjszakája (Egyesült Királyságban)
  • The Economist: Éjféli égbolt - Lengyelország széntüzelésű lakásfűtése széles körű szennyezést okoz (2021. január)
  • BBC News: A közlekedési zaj rontja az énekesmadarak képességeit (zajszennyezés)
  • Szoftverhibák a részecske -érzékelő könyvtárban - nézze meg a PMS5003 soros protokoll robusztus elemzéséhez szükséges gondosságot.