INHOUDSOPGAWE:

Die Pimoroni Enviro+ FeatherWing met die Adafruit Feather NRF52840 Express gebruik: 8 stappe
Die Pimoroni Enviro+ FeatherWing met die Adafruit Feather NRF52840 Express gebruik: 8 stappe

Video: Die Pimoroni Enviro+ FeatherWing met die Adafruit Feather NRF52840 Express gebruik: 8 stappe

Video: Die Pimoroni Enviro+ FeatherWing met die Adafruit Feather NRF52840 Express gebruik: 8 stappe
Video: Plotting Carbon Dioxide concentration with Enviro+ FeatherWing and Sensirion SCD-30 NDIR Sensor 2024, Julie
Anonim
Gebruik die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express
Gebruik die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express
Gebruik die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express
Gebruik die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express
Gebruik die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express
Gebruik die Pimoroni Enviro+ FeatherWing Met die Adafruit Feather NRF52840 Express

Die Pimoroni Enviro+ FeatherWing is 'n bord vol sensors wat ontwerp is om saam met die Adafruit Feather -reeks planke te werk. Dit is 'n nuttige plek om te begin vir almal wat belangstel in omgewingsmonitering, atmosferiese besoedeling en data -ontginning. Dit beskik oor:

  • Bosch BME280 - sensor vir temperatuur, druk, humiditeit;
  • Lite-On LTR-559-lig- en nabyheidssensor;
  • SensorTech MiCS -6814 - oksiderende gasse, reducerende gasse en ammoniak sensor;
  • Analoog mikrofoon - meting van geraasbesoedeling;
  • Connector vir Plantower PMS5003 deeltjiesensor (nie ingesluit nie).

Die drietal metaaloksied-sensors op die MiCS-6814 bevat 'n minder algemene sensor vir oksiderende gasse. Dit is handig vanweë die sensitiwiteit daarvan vir stikstofdioksied (NO2), 'n besoedelende stof in stede en naby groot paaie.

Pimoroni beveel óf die Adafruit aan

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

Die nRF52840 is vir hierdie gids gekies, aangesien dit Bluetooth Low Energy (BLE) ondersteun, wat die bord die potensiaal bied om data na 'n ander toestel te stuur.

Die Feather en FeatherWing het albei 'n losstaande manlike kopstuk. Vroulike kopstukke moet die planke stapel. Hierdie gids toon die gebruik van "stapelkopstukke" waarmee die veerplank ook in 'n broodbord geplaas kan word om te eksperimenteer met ekstra sensors. Die kopstukke moet aan die planke gesoldeer word, maar dit is redelik eenvoudig.

Die Enviro+ FeatherWing het 'n subtiele verskil in vergelyking met sy neef, die Enviro+ Air Quality vir Raspberry Pi. Dit lyk asof die FeatherWing-weergawe ontwerp is om met spannings onder 5V te werk, sodat 'n enkele litiumpolymeer (LiPo) battery van 3,7V-4,3V gebruik kan word. Dit het 'n DC-DC-omskakelaar om 5V te verskaf vir die opsionele PMS5003, en dit kan die MiCS-6814 interne verwarmers afsonderlik aandryf om hierdie laer spannings te hanteer.

Die hooffoto toon die Enviro+ FeatherWing wat die PM2.5- en PM10 -data van die PMS5003 vertoon. 'N Swan Vestas -vuurhoutjie is halfpad deur die plot geslaan om die kers aan te steek.

'N Tweede artikel handel oor die opstel van koolstofdioksiedvlakke met die Pimoroni Enviro+ FeatherWing en Adafruit SCD-30.

Benodighede:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - ('n ander soortgelyke bord bestaan vir die Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Veerstapelkop - Pimoroni | Adafruit - normale vroulike kopstukke of FeatherWing -verdubbelaar/tripler kan ook gebruik word
  • Soldeer
  • Opsioneel: Plantower PMS5003 sensor vir deeltjies - Pimoroni | Adafruit

Stap 1: Opgradering van die selflaaiprogram

Die Feather -bord kan nagegaan word voordat dit gesoldeer word deur dit aan te sluit op 'n rekenaar met behulp van USB. Dit is 'n nuttige tyd om die selflaaiprogram na te gaan - ou weergawes kan verwarrende, maar onskadelike foute op Windows veroorsaak.

As u dubbelklik op die resetknoppie van Feather, word 'n aandrywer met die naam FTHR840BOOT aan die gasheerrekenaar voorgestel. 'N Lêer met die naam INFO_UF2. TXT kan oopgemaak word om die weergawe te ondersoek; die onderstaande voorbeeld toon die inhoud wat weergawe 0.2.6 aandui:

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 Datum: 21 Des 2018

Weergawes voor 0.2.9 ly aan die bogenoemde fout. Die effens ingewikkelde opgraderingsproses word beskryf in Adafruit Learn: Bekendstelling van die Adafruit nRF52840 Feather: Update Bootloader en bespreek in Adafruit Forums: Windows -foute kopieer CircuitPython UF2 na FTHR840BOOT.

Stap 2: soldeer die koppe

Soldeer die koppe
Soldeer die koppe
Soldeer die koppe
Soldeer die koppe
Soldeer die koppe
Soldeer die koppe

Die Enviro+ FeatherWing het sy manlike kopstukke aangeheg en die veer moet die stapel -vroulike opskrifte aangeheg hê.

'N Algemene tegniek om die penne tydens die soldeer in die regte posisie op te spoor, is om dit in 'n broodbord te plaas. U moet versigtig wees met hierdie FeatherWing, aangesien die picoblade -aansluiting aan die onderkant groter is as die plastiekafstandhouers op die kop. Dit kan veroorsaak dat die bord onbedoeld skuins gesoldeer word. Die foto hierbo toon die hoek aan. Dit word maklik opgelos deur die koppe eenvormig met 2-3 mm (0,1 inch) van die broodbord te lig.

Die stapelende vroulike koppe moet loodreg op die bord wees. Dit kan bereik word deur dit op 'n plat oppervlak te plaas en te verseker dat die veerplank styf teen hulle gedruk word. Die foto hierbo toon hoe druk toegepas word met 'n potlood met 'n hulp-out-out-toestel wat gewig op die potlood plaas. Sommige ekstra koptekste bied ekstra hulp om die afstand te behou.

Die MiCS-6814-datablad lui:

Die sensor moet in 'n neutrale atmosfeer sonder soldeervloei gesoldeer word. Die sensor mag nie blootgestel word aan hoë konsentrasies organiese oplosmiddels, silikoon dampe of sigaretrook om die gevoelige laag te voorkom nie.

'N Klein stukkie maskeerband wat die gassensor bedek, is 'n wyse voorsorgmaatreël tydens soldeer en vloedskoonmaak. Die skermbeskermer kan ook op hierdie stadium ingeskakel word om die onvermydelike klein spatsels vloei van soldeer met 'n yster te hanteer. Die mikrofoon sal ook baat by beskerming met maskeerband tydens enige opruimingsoplossing.

Die lang rye penne kan maklik gebuig word as u dit van 'n broodbord of 'n ander houer verwyder. Wees versigtig om nie die bord aan die een kant te haal nie.

Adafruit het 'n gids oor soldeerstapelkoppe, Pimoroni het 'n algemene soldeergids wat opskrifte bevat en daar is 'n goeie video op YouTube wat wys hoe om koppe op 'n soortgelyke stylbord te soldeer, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!

Stap 3: Installeer CircuitPython en 'n gekombineerde plotter -voorbeeld

Installering van CircuitPython en gekombineerde plottervoorbeeld
Installering van CircuitPython en gekombineerde plottervoorbeeld

As u nie vertroud is met CircuitPython nie, is dit die moeite werd om eers die Welcome to CircuitPython -gids te lees.

Die onderstaande installasiestappe is gebaseer op die pimoroni / EnviroPlus-FeatherWing README en die Aan die slag-gids met 'n latere biblioteek om voorsiening te maak vir CircuitPython 6.x.

  1. Installeer die nuutste weergawe van CircuitPython (6.0.0 in Desember 2020) vanaf https://circuitpython.org/ - hierdie proses word beskryf in CircuitPython for Feather nRF52840.
  2. Verifieer die installasie deur via die seriële konsole via USB aan te sluit. Die REPL -prompt wys die weergawe. Die weergawe kan ook nagegaan word deur boot_out.txt op die CIRCUITPY -skyf te ondersoek.
  3. Installeer hierdie biblioteke uit 'n bundel van https://circuitpython.org/libraries in die lib -gids op CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (nie adafruit_bmp280)
    3. adafruit_st7735r (nie adafruit_st7735r)
    4. adafruit_display_text
  4. Installeer hierdie biblioteke uit die EnviroPlus-FeatherWing-1.0.zip-lêer van GiHub: pimoroni/EnviroPlus-FeatherWing: Weergawe 1.0 in die lib-gids op CIRCUITPY:

    1. i2cdevice (nie te verwar met Adafruit se i2c_device -biblioteek nie)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Moenie pimoroni_circuitpython_adapter van hier af installeer nie
  5. Installeer die nuutste Pimoroni CircuitPython -adapterbiblioteek deur die _init_.py -lêer af te laai na 'n nuutgeskepte lib/pimoroni_circuitpython_adapter -gids op CIRCUITPY.
  6. Laai die gekombineerde plottervoorbeeldprogram af na CIRCUITPY deur op Save link te klik as … op plotters_combined.py
  7. Hernoem of verwyder enige bestaande code.py -lêer op CIRCUITPY, en hernoem dan die plotters_combined.py na code.py. Hierdie lêer word uitgevoer wanneer die CircuitPython -tolk begin of herlaai.

Die weergawes wat vir hierdie gids gebruik is, was:

  • CircuitPython 6.0.0
  • CircuitPython-biblioteekbundel adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • EnviroPlus-FeatherWing-biblioteek Weergawe 1.0
  • pimoroni_circuitpython_adapter biblioteek 9-Des-2020 f062036

Stap 4: Die gekombineerde plotter

Die gekombineerde plotter
Die gekombineerde plotter

Die gekombineerde plotter het vier skerms:

  1. Klank en lig.
  2. PM2.5 en PM10.
  3. Temperatuur, druk en humiditeit.
  4. OX, ROOI en NH3.

Die deeltjie (PM) skerm verskyn slegs as die Plantower PMS5003 aangeheg is. Die program kyk aan die begin na sy teenwoordigheid en druk hierdie inligtingsboodskap af as dit nie gekoppel is nie:

PMS5003 Leestyd -uit: Kon nie die begin van raamgrepe lees nie

U het waarskynlik nie 'n pms5003 gekoppel nie, maar gaan voort sonder deeltjies

Die plotinterval is bo -aan die program op 540 sekondes gestel. Dit kan aangepas word om die plotkoers te beheer.

Stap 5: Enviro+ FeatherWing Pins

Enviro+ FeatherWing -penne
Enviro+ FeatherWing -penne
Enviro+ FeatherWing -penne
Enviro+ FeatherWing -penne

Die Enviro+ FeatherWing gebruik 'n groot aantal spelde van die veer. Die volgende word gebruik; die name tussen hakies kom uit die naamskema van Pimoroni:

  • A0 (pin5) - MiCS6814 ammoniak gassensor
  • A1 (pin6) - MiCS8614 reducerende gassensor
  • A2 (pin7) - MiCS6814 oksiderende gassensor
  • A3 (pin8) - analoog mikrofoon
  • A4 (pin9) - MiCS6814 aktiveer
  • D5 (pin19) - SPI -busskermopdrag
  • D6 (pin20) - SPI bus -skermskyfie kies
  • D9 (pin21) - agtergrond (PWM)
  • D10 (pin22) - PMS5003 aktiveer
  • D11 (pin23) - PMS5003 herstel
  • D12 (pin24) - LTR -559 onderbreking (word nie ondersteun in CircuitPython -biblioteek nie)
  • SCK (pin11) - SPI -busklok
  • MO (pin12) - SPI busmeester slaaf in
  • MI (pin13) - SPI -busmeester in slawe -uit
  • RX (pin14) - PMS5003 stuur (ontvang deur Feather)
  • TX (pin15) - PMS5003 ontvang (stuur vanaf Feather)
  • SCL (pin18) - I2C -horlosie
  • SDA (pen 17) - I2C -data

Dit laat A5, D2/DFU en D13 gratis vir gebruik.

Stap 6: Kragverbruik

Kragverbruik
Kragverbruik

Die kragverbruik is goed binne die USB -spesifikasie, selfs al is 'n LiPo -battery aangeheg en herlaai. Die gebruik is meer relevant vir die beplanning van 'n oorskakeling na batterykrag. 'N Paar baie benaderde metings van die stroom is:

  • 100mA ledig, agterlig af;
  • 100mA plotter loop, agtergrond laag;
  • 120mA plotter loop, hoë beligting hoog.

Die datablad vir die Plantower PMS5003 verklaar dat die stroom minder is as 100mA, dit is bykomend tot die getalle hierbo. Die gebruik van DC-DC-omskakelaar op die Enviro+ FeatherWing kan hierdie getal effens verhoog.

Die Feather nRF52840 Express -bord het 'n NeoPixel (RGB LED), maar die helderheidsvlakke vir die standaard gebruik as 'n aanduiding van die programtoestand dra slegs 'n klein hoeveelheid by tot die verbruik. Die Featherboard self is op sy eie onder 10mA, die FeatherWing is die kraghonger bord.

Stap 7: Voeg die Plantower PMS5003 -sensor vir besondere materie by

Voeg die Plantower PMS5003 sensor vir besondere materie by
Voeg die Plantower PMS5003 sensor vir besondere materie by
Voeg die Plantower PMS5003 sensor vir besondere materie by
Voeg die Plantower PMS5003 sensor vir besondere materie by
Voeg die Plantower PMS5003 sensor vir besondere materie by
Voeg die Plantower PMS5003 sensor vir besondere materie by

Die Met One Instruments BAM 1020 is 'n algemene gesig oor die hele wêreld wat deeltjies in stede meet. Daar is 'n reeks meer bekostigbare toestelle en die Enviro+ FeatherWing het 'n aansluiting vir die Plantower PMS5003 sensor vir deeltjies.

Die Pimoroni -biblioteekkode vir hierdie sensor lyk tans broos. 'N Eenvoudige en vinnige verbetering is om uitsonderings op die program te vind. Die plotters_combined.py -program kan verbeter word deur dit bo -aan by te voeg:

voer pimoroni_pms5003 in

En die vervanging van hierdie reël in die hoof terwyl lus

# neem lesings

pms_reading = pms5003.read ()

met:

# neem lesings

probeer: pms_reading = pms5003.read () behalwe pimoroni_pms5003. ChecksumMismatchError: print ("checksum error")

Stap 8: Gaan verder

Gaan verder
Gaan verder

Daar is 'n aantal gebiede om te verken sodra u die Enviro+ FeatherWing aan die gang gesit het.

  • Voeg 'n eksterne temperatuursensor by. Die temperatuursensor in die BME280 is onderhewig aan interne verhitting en verwarming van nabygeleë komponente en is bedoel om die ander BME280 -sensors te kalibreer. Die waarde kan verwerk word om 'n benaderde meting van die lugtemperatuur te gee, maar daar is baie bekostigbare, uitstekende eksterne opsies.
  • Kalibreer die sensors. Die druk is maklik met behulp van weerwaarnemings of korttermynvoorspellings (dit is 0 voet amsl), die res is moeilik.
  • Regstelling van die PMS5003 -uitset vir relatiewe humiditeit. 'N Formule word op bladsy 8 van PDF oor EPA aangebied: PurpleAir PM2.5 Amerikaanse regstelling en prestasie tydens rookgeleenthede 4/2020
  • Voeg kode by om die sensordata oor Bluetooth Low Energy na ander toestelle uit te saai.
  • Ondersoek hoe om die kragverbruik te verminder. Sommige van die sensors het inskakellyne; dit kan krag van die sensors verwyder of in 'n lae kragmodus plaas. By sensors met 'n opwarmingstyd is monsterneming van tyd tot tyd nie prakties nie.
  • Koop, pas of maak 'n omhulsel geskik vir buitemuur met sorgvuldig ontwerpte interne lugvloei en geskikte voorsorgmaatreëls vir direkte sonlig. Die SensorTech MiCS-6814 gassensor werk die beste met 'n konstante, lae tempo lugstroom daaroor.
  • Ondersoek hoe weersomstandighede besoedeling op grondvlak beïnvloed. Wenk: inversies is beduidend.
  • Omskakel na batterykrag of sonkrag met batterykrag. Sonkrag is meer uitdagend as om net 'n fotovoltaïese sonpaneel by te voeg, sien die afdeling Design Notes in Adafruit Learn: USB, DC & Solar Lipoly Charger.
  • Voeg ander sensors by om algemene besoedelstowwe soos osoon (O3) en swaeldioksied (SO2) of kweekhuisgasse soos koolstofdioksied (CO2) te meet. 'N Paar sensors meet' eCO2 'en is nie geskik vir die meting van atmosferiese CO2 nie. Adafruit verkoop nou die waardevolle Sensirion SCD-30 NDIR CO2-sensor op 'n bord met STEMMA QT i2c-verbindings.
  • As u wil ondersoek instel na die stuur van die data via die internet met behulp van Wi-Fi, blyk dit dat die FeatherS2-bord met die ESP32-S2-mikrobeheerder versoenbaar is met die Enviro+ FeatherWing. Daar is 'n problematiese beperking met die ESP32-S2 analoog na digitale omsetters (ADC) wat die behoorlike meting van die gassensors voorkom. Sien Adafruit Forums: Feather ADC-vergelyking, insluitend 2.6V beperkte ESP32-S2 vir meer inligting.

Verwante projekte:

  • Adafruit Learn: Vergelyking en eksperimentering met brandbare gassensors
  • Adafruit Learn: TMP36 Temperatuursensor

Verdere leeswerk:

  • Wêreldgesondheidsorganisasie (WGO) riglyne vir lugbesoedeling
  • British Lung Foundation - Luggehalte (PM2.5 en NO2)
  • Breathe London-'n netwerk om die London Air Quality Network aan te vul met 'bekostigbare, maklik om te installeer en te onderhou lugsensorsensors vir almal', wat tans die Clarity Node-S gebruik.
  • World Air Quality Index - versamel data uit baie verskillende bronne met kaartweergawes en historiese data.
  • Atmosfeerjoernaal: binnenshuise lugbesoedeling van woonstowe: ondersoek die vloei van deeltjies in huise tydens werklike gebruik - dit gebruik die Raspberry Pi -weergawe van die Enviro+ -bord.
  • Wetgewing: The Air Quality Standards Regulations 2010 (UK)
  • Pimoroni Blog: Die mees besoedelde nag van die jaar (in die Verenigde Koninkryk)
  • The Economist: Middernaghemel - die verhitting van huise in Pole met steenkool veroorsaak wydverspreide besoedeling (Januarie 2021)
  • BBC News: Verkeersgeraas benadeel sangvoëls se vermoëns (geraasbesoedeling)
  • Sagteware -foute in 'n sensorbiblioteek vir deeltjies - 'n blik op die sorg wat nodig is om die seriële protokol PMS5003 stewig te ontleed.