Obsah:

Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express: 8 kroků
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express: 8 kroků

Video: Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express: 8 kroků

Video: Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express: 8 kroků
Video: Raspberry Pi Pico для робототехники 2024, Červenec
Anonim
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express
Použití Pimoroni Enviro+ FeatherWing s Adafruit Feather NRF52840 Express

Pimoroni Enviro+ FeatherWing je deska plná senzorů navržených pro práci s deskami řady Adafruit Feather. Je to užitečné místo, kde začít pro kohokoli, koho zajímá monitorování životního prostředí, znečištění ovzduší a shromažďování dat. To představuje:

  • Bosch BME280 - snímač teploty, tlaku, vlhkosti;
  • Lite-On LTR-559-světelný a přibližovací senzor;
  • SensorTech MiCS -6814 - oxidující plyny, redukční plyny a čidlo čpavku;
  • Analogový mikrofon - měření hlukové zátěže;
  • Konektor pro snímač částic Plantower PMS5003 (není součástí dodávky).

Trojice senzorů oxidu kovu na MiCS-6814 obsahuje méně obvyklý senzor pro oxidující plyny. To je užitečné pro jeho citlivost na oxid dusičitý (NO2), znečišťující látku běžnou ve městech a poblíž hlavních silnic.

Pimoroni doporučuje buď Adafruit

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

Pro tuto příručku byl vybrán nRF52840, protože podporuje Bluetooth Low Energy (BLE), který dává desce potenciál odesílat data do jiného zařízení.

Feather a FeatherWing jsou dodávány s nepřipojenými hlavičkami pro muže. Pro stohování desek jsou vyžadovány ženské záhlaví. Tato příručka ukazuje použití „stohovacích hlaviček“, které umožňují, aby byla deska Feather také vložena do prkénka, což usnadňuje experimentování s dalšími senzory. Záhlaví je třeba připájet k deskám, ale je to poměrně jednoduché.

Enviro+ FeatherWing má jeden jemný rozdíl ve srovnání se svým bratrancem, Enviro+ Air Quality for Raspberry Pi. Verze FeatherWing se zdá být navržena pro práci s napětím pod 5 V, což umožňuje použití jediné lithium polymerové (LiPo) baterie produkující 3,7 V-4,3 V. Má měnič DC-DC, který poskytuje 5V pro volitelný PMS5003 a může napájet vnitřní ohřívače MiCS-6814 jednotlivě, aby se vypořádal s těmito nižšími napětími.

Hlavní obrázek ukazuje Enviro+ FeatherWing zobrazující data PM2.5 a PM10 z PMS5003. V polovině cesty byl zapálen zápas Swan Vestas, aby se zapálila svíčka.

Druhý článek se zabývá vykreslováním hladin oxidu uhličitého pomocí Pimoroni Enviro+ FeatherWing a Adafruit SCD-30.

Zásoby:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (další podobná deska existuje pro Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Skládací záhlaví peří - Pimoroni | Mohl by být také použit Adafruit - normální ženské záhlaví nebo zdvojovač/tripler FeatherWing
  • Pájka
  • Volitelné: Senzor částic Plantower PMS5003 - Pimoroni | Adafruit

Krok 1: Upgradování bootloaderu

Desku Feather lze před pájením zkontrolovat připojením k počítači pomocí USB. Toto je užitečný čas ke kontrole zavaděče - staré verze mohou ve Windows vytvářet matoucí, ale neškodné chyby.

Poklepáním na resetovací tlačítko Feather se hostitelskému počítači zobrazí jednotka s názvem FTHR840BOOT. Pro kontrolu verze lze otevřít soubor s názvem INFO_UF2. TXT, níže uvedený příklad ukazuje obsah označující verzi 0.2.6:

Bootloader F2 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 Datum: 21. prosince 2018

Verze před 0.2.9 trpí výše zmíněnou chybou. Mírně chabý upgrade je popsán v příručce Adafruit Learn: Představujeme Adafruit nRF52840 Feather: Update Bootloader a diskutováno ve fórech Adafruit: Chyby systému Windows kopírují CircuitPython UF2 do FTHR840BOOT.

Krok 2: Pájení hlaviček

Pájení hlaviček
Pájení hlaviček
Pájení hlaviček
Pájení hlaviček
Pájení hlaviček
Pájení hlaviček

Enviro+ FeatherWing potřebuje připojené samčí záhlaví a Feather potřebuje připojené stohovací hlavičky.

Běžnou technikou umístění kolíků ve správné poloze při pájení je jejich vložení do prkénka. U tohoto FeatherWingu je nutná určitá opatrnost, protože konektor picoblade na spodní straně je vyšší než plastové rozpěrky na záhlaví. To by mohlo způsobit neúmyslné pájení desky pod úhlem. Výše uvedený obrázek ukazuje úhel. To lze snadno vyřešit rovnoměrným zvednutím záhlaví o 2–3 mm (0,1 palce) z prkénka.

Stohující ženské záhlaví musí být kolmé k desce. Toho lze dosáhnout umístěním na rovný povrch a zajištěním pevného přitlačení desky Feather na ně. Na výše uvedeném obrázku je zobrazen tlak, který je aplikován tužkou, pomocí zařízení mimo pomocné ruce, které na tužku váží. Některé náhradní záhlaví poskytují další pomoc při udržování mezer.

Datový list MiCS-6814 uvádí:

Senzor musí být pájen přetavením v neutrální atmosféře, bez výparů pájecích toků. Senzor nesmí být vystaven vysokým koncentracím organických rozpouštědel, silikonových par nebo cigaretového kouře, aby nedošlo k otravě citlivé vrstvy.

Malý kousek krycí pásky pokrývající plynový senzor je moudrým opatřením při pájení a čištění tavidla. V této fázi lze také nechat chránič obrazovky, aby se vypořádal s nevyhnutelnými drobnými potřísněními tavidla pájením žehličkou. Mikrofonu by také prospěla ochrana maskovací páskou během jakéhokoli čištění tavidla.

Dlouhé řady kolíků lze snadno ohnout při vyjímání z prkénka nebo jiné zásuvky. Dávejte pozor, abyste na jednom konci nevypnuli desku nahoru.

Adafruit má průvodce pájením stohovacích záhlaví, Pimoroni má obecného průvodce pájením, který obsahuje záhlaví, a na YouTube je pěkné video, které ukazuje, jak pájet záhlaví na desku podobného stylu, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!

Krok 3: Instalace CircuitPython a příklad kombinovaného plotru

Instalace CircuitPython a příklad kombinovaného plotru
Instalace CircuitPython a příklad kombinovaného plotru

Pokud nejste obeznámeni s CircuitPython, pak stojí za to si nejprve přečíst příručku Welcome to CircuitPython.

Níže uvedené kroky instalace jsou založeny na souboru pimoroni / EnviroPlus-FeatherWing README a příručce Getting Started s novější knihovnou pro CircuitPython 6.x.

  1. Nainstalujte si nejnovější verzi CircuitPython (6.0.0 v prosinci 2020) z https://circuitpython.org/ - tento proces je popsán v CircuitPython pro Feather nRF52840.
  2. Ověřte instalaci připojením k sériové konzole přes USB. Verze zobrazí výzva REPL. Verzi lze také zkontrolovat kontrolou souboru boot_out.txt na jednotce CIRCUITPY.
  3. Nainstalujte tyto knihovny ze svazku z https://circuitpython.org/libraries do adresáře lib na CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (ne adafruit_bmp280)
    3. adafruit_st7735r (ne adafruit_st7735)
    4. adafruit_display_text
  4. Nainstalujte tyto knihovny ze souboru EnviroPlus-FeatherWing-1.0.zip z GiHub: pimoroni/EnviroPlus-FeatherWing: verze 1.0 do adresáře lib na CIRCUITPY:

    1. i2cdevice (nezaměňovat s knihovnou i2c_device společnosti Adafruit)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Neinstalujte odsud pimoroni_circuitpython_adapter
  5. Nainstalujte si nejnovější knihovnu adaptérů Pimoroni CircuitPython stažením souboru _init_.py do nově vytvořeného adresáře lib/pimoroni_circuitpython_adapter na CIRCUITPY.
  6. Stáhněte si ukázkový program kombinovaného plotru do CIRCUITPY kliknutím na Uložit odkaz jako … na plotters_combined.py
  7. Přejmenujte nebo odstraňte jakýkoli existující soubor code.py na CIRCUITPY a poté přejmenujte plotters_combined.py na code.py. Tento soubor se spustí, když se spustí nebo znovu načte interpret CircuitPython.

Verze použité pro tuto příručku byly:

  • CircuitPython 6.0.0
  • Balíček knihovny CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Knihovna EnviroPlus-FeatherWing verze 1.0
  • knihovna pimoroni_circuitpython_adapter 9. prosince 2020 f062036

Krok 4: Kombinovaný plotter

Kombinovaný plotter
Kombinovaný plotter

Kombinovaný plotter má čtyři obrazovky:

  1. Zvuk a světlo.
  2. PM2,5 a PM10.
  3. Teplota, tlak a vlhkost.
  4. OX, ČERVENÁ a NH3.

Obrazovka pevných částic (PM) se zobrazí pouze tehdy, je -li připojen Plantower PMS5003. Program zkontroluje jeho přítomnost na začátku a vytiskne tuto informační zprávu, pokud není připojen:

PMS5003 Časový limit čtení: Nepodařilo se přečíst začátek bajtu rámce

Pravděpodobně nemáte připojený pms5003, pokračujete bez protokolování částic

Interval vykreslování je v horní části programu nastaven na 540 sekund. To lze upravit pro ovládání rychlosti vykreslování.

Krok 5: Piny Enviro+ FeatherWing

Piny Enviro+ FeatherWing
Piny Enviro+ FeatherWing
Piny Enviro+ FeatherWing
Piny Enviro+ FeatherWing

Enviro+ FeatherWing používá velké množství pinů Feather. Používají se následující, názvy v závorkách jsou z Pimoroniho schématu pojmenování:

  • A0 (pin5) - senzor čpavkového plynu MiCS6814
  • A1 (pin6) - redukční plynový senzor MiCS8614
  • A2 (pin7) - snímač oxidačního plynu MiCS6814
  • A3 (pin8) - analogový mikrofon
  • A4 (pin9) - MiCS6814 povolit
  • D5 (pin19) - příkaz obrazovky sběrnice SPI
  • D6 (pin20) - výběr čipu obrazovky sběrnice SPI
  • D9 (pin21) - podsvícení (PWM)
  • D10 (pin22) - PMS5003 povolit
  • D11 (pin23) - PMS5003 reset
  • D12 (pin24) - přerušení LTR -559 (není podporováno v knihovně CircuitPython)
  • SCK (pin11) - hodiny sběrnice SPI
  • MO (pin12) - SPI bus master out slave in
  • MI (pin13) - SPI bus master in slave out
  • RX (pin14) - PMS5003 vysílání (příjem Feather)
  • TX (pin15) - příjem PMS5003 (přenos z Feather)
  • SCL (pin18) - hodiny I2C
  • SDA (pin 17) - data I2C

A5, D2/DFU a D13 tak zůstávají volně k použití.

Krok 6: Spotřeba energie

Spotřeba energie
Spotřeba energie

Spotřeba energie odpovídá specifikaci USB, i když je připojena baterie LiPo a nabíjí se. Použití je důležitější pro plánování přechodu na bateriovou energii. Některá velmi přibližná měření proudu jsou:

  • 100mA volnoběh, podsvícení vypnuto;
  • 100mA běh plotru, podsvícení nízké;
  • 120mA plotter běží, podsvícení vysoké.

Datový list pro Plantower PMS5003 uvádí, že proud je menší než 100 mA, což by bylo doplňkem výše uvedených čísel. Použití převodníku DC-DC na Enviro+ FeatherWing může toto číslo mírně zvýšit.

Deska Feather nRF52840 Express má NeoPixel (RGB LED), ale úrovně jasu pro její výchozí použití jako indikátor stavu programu přidávají spotřebě jen malé množství. Samotná deska Feather je sama o sobě pod 10 mA, FeatherWing je deska, která má hlad po energii.

Krok 7: Přidání senzoru zvláštní hmoty Plantower PMS5003

Přidání senzoru zvláštní hmoty Plantower PMS5003
Přidání senzoru zvláštní hmoty Plantower PMS5003
Přidání senzoru zvláštní hmoty Plantower PMS5003
Přidání senzoru zvláštní hmoty Plantower PMS5003
Přidání senzoru zvláštní hmoty Plantower PMS5003
Přidání senzoru zvláštní hmoty Plantower PMS5003

Met One Instruments BAM 1020 je běžný pohled na měření částic ve městech po celém světě. Existuje řada cenově dostupnějších zařízení a Enviro+ FeatherWing přichází s konektorem pro senzor částic Plantower PMS5003.

Kód knihovny Pimoroni pro tento senzor se v současné době jeví jako křehký. Jednoduché a rychlé vylepšení je zachytit výjimky v programu. Program plotters_combined.py lze vylepšit přidáním tohoto na začátek:

importovat pimoroni_pms5003

A nahrazení tohoto řádku ve smyčce main while

# vzít čtení

pms_reading = pms5003.read ()

s:

# vzít čtení

zkuste: pms_reading = pms5003.read () kromě pimoroni_pms5003. ChecksumMismatchError: print ("chyba kontrolního součtu")

Krok 8: Jít dále

Jít dále
Jít dále

Jakmile spustíte Enviro+ FeatherWing, existuje řada oblastí, které je třeba prozkoumat.

  • Přidání externího teplotního čidla. Teplotní senzor v BME280 podléhá jak vnitřnímu ohřevu, tak topení z okolních komponent a je určen ke kalibraci ostatních senzorů BME280. Hodnotu lze zpracovat tak, aby poskytovala přibližnou míru teploty okolního vzduchu, ale existuje spousta cenově dostupných a vynikajících externích možností.
  • Kalibrace senzorů. Tlak je snadný pomocí pozorování počasí nebo krátkodobých předpovědí (tyto budou na 0 ft amsl), zbytek je obtížný.
  • Korekce výstupu PMS5003 na relativní vlhkost. Vzorec je uveden na straně 8 dokumentu PDF o EPA: PurpleAir PM2.5 U. S. Correction and Performance during Smoke Events 4/2020
  • Přidání kódu pro přenos dat ze senzorů přes Bluetooth Low Energy do jiných zařízení.
  • Zkoumání toho, jak minimalizovat spotřebu energie. Některé senzory mají aktivační vedení, které mohou odebírat energii ze senzorů nebo je přepnout do režimu nízké spotřeby. U snímačů s dobou zahřívání nemusí být pravidelné odebírání vzorků praktické.
  • Nákup, přizpůsobení nebo výroba pouzdra vhodného pro montáž venku s pečlivě navrženým vnitřním prouděním vzduchu a vhodnými opatřeními pro přímé sluneční světlo. Plynový senzor SensorTech MiCS-6814 funguje nejlépe s konstantním nízkým průtokem vzduchu.
  • Zkoumání toho, jak povětrnostní podmínky ovlivňují znečištění na úrovni země. Tip: inverze jsou významné.
  • Převod na bateriovou nebo solární energii z baterie. Solární energie je náročnější než pouhé přidání fotovoltaického solárního panelu, viz část Poznámky k návrhu v Adafruit Learn: USB, DC & Solar Lipoly Charger.
  • Přidání dalších senzorů pro měření běžných znečišťujících látek, jako je ozón (O3) a oxid siřičitý (SO2) nebo skleníkové plyny jako oxid uhličitý (CO2). Několik senzorů měří „eCO2“a není vhodné pro měření atmosférického CO2. Společnost Adafruit nyní prodává senzor CO2 Sensirion SCD-30 NDIR s vysokou hodnotou na desce s konektory STEMMA QT i2c.
  • Pokud chcete prozkoumat odesílání dat přes internet pomocí Wi-Fi, pak se zdá, že deska FeatherS2 s mikrokontrolérem ESP32-S2 je kompatibilní s Enviro+ FeatherWing. Analogově digitální převodníky (ADC) ESP32-S2 mají problematické omezení, které brání správnému měření plynových senzorů. Další informace najdete na fórech Adafruit: Porovnání ADC s Feather včetně ESP32-S2 s omezeným výkonem 2,6 V.

Související projekty:

  • Adafruit Learn: Srovnání a experimentování se senzory hořlavých plynů
  • Adafruit Learn: Snímač teploty TMP36

Další čtení:

  • Pokyny Světové zdravotnické organizace (WHO) k znečištění ovzduší
  • British Lung Foundation - kvalita ovzduší (PM2,5 a NO2)
  • Breathe London-síť doplňující londýnskou síť kvality ovzduší „cenově dostupnými, snadno instalovatelnými a udržovatelnými čidly kvality ovzduší komukoli“, v současné době využívající Clarity Node-S.
  • World Air Quality Index - shromažďuje data z mnoha různých zdrojů se zobrazením mapy a historickými daty.
  • Atmosférický žurnál: Znečištění ovzduší v obytných kamnech: Zkoumání zaplavování částicových hmot do domácností během používání v reálném světě - používá se verze desky Enviro+ pro Raspberry Pi.
  • Legislativa: Nařízení o normách kvality ovzduší 2010 (Spojené království)
  • Blog Pimoroni: Nejznečištěnější noc roku (ve Velké Británii)
  • The Economist: Půlnoční obloha - polské uhelné vytápění domů vytváří rozsáhlé znečištění (leden 2021)
  • Zprávy BBC: Hluk z dopravy zhoršuje schopnosti pěvců (hlukové znečištění)
  • Softwarové chyby v knihovně senzorů částic - pohled na péči vyžadovanou pro robustní analýzu sériového protokolu PMS5003.