Taula de continguts:

Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express: 8 passos
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express: 8 passos

Vídeo: Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express: 8 passos

Vídeo: Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express: 8 passos
Vídeo: Weather Box 2024, Desembre
Anonim
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express
Ús de Pimoroni Enviro + FeatherWing amb Adafruit Feather NRF52840 Express

El Pimoroni Enviro + FeatherWing és una placa plena de sensors dissenyats per funcionar amb la sèrie de taules Adafruit Feather. És un lloc útil per començar per a qualsevol persona interessada en la vigilància ambiental, la contaminació atmosfèrica i la combinació de dades. Inclou:

  • Bosch BME280: sensor de temperatura, pressió i humitat;
  • Lite-On LTR-559: sensor de llum i proximitat;
  • SensorTech MiCS-6814: gasos oxidants, gasos reductors i sensor d'amoníac;
  • Micròfon analògic: mesura de la contaminació acústica;
  • Connector per al sensor de partícules Plantower PMS5003 (no inclòs).

El trio de sensors d’òxid de metall del MiCS-6814 inclou un sensor menys comú per a gasos oxidants. Això és útil per la seva sensibilitat al diòxid de nitrogen (NO2), un contaminant comú a les ciutats i prop de les principals carreteres.

Pimoroni recomana l'Adafruit

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

El nRF52840 es va escollir per a aquesta guia, ja que admet Bluetooth Low Energy (BLE), que permet a la placa enviar dades a un altre dispositiu.

Feather i FeatherWing vénen amb capçaleres masculines sense adjuntar. Es necessiten capçaleres femenines per apilar els taulers. Aquesta guia mostra l'ús de "capçaleres apilables" que permeten inserir la placa Feather en una taula de treball facilitant l'experimentació amb sensors addicionals. Les capçaleres s’han de soldar als taulers, però això és raonablement senzill.

L’Enviro + FeatherWing té una subtil diferència en comparació amb el seu cosí, l’Enviro + Qualitat de l’aire per a Raspberry Pi. La versió FeatherWing sembla estar dissenyada per funcionar amb tensions inferiors a 5 V, cosa que permet utilitzar una sola bateria de polímer de liti (LiPo) que produeix 3,7 V-4,3 V. Té un convertidor DC-DC per proporcionar 5V per al PMS5003 opcional i pot alimentar els escalfadors interns MiCS-6814 individualment per fer front a aquestes tensions més baixes.

La imatge principal mostra l’Enviro + FeatherWing que mostra les dades PM2.5 i PM10 del PMS5003. A la meitat de la trama s’ha encetat un partit Swan Vestas per encendre l’espelma.

Un segon article tracta del traçat dels nivells de diòxid de carboni amb Pimoroni Enviro + FeatherWing i Adafruit SCD-30.

Subministraments:

  • Pimoroni Enviro + FeatherWing - Pimoroni | Adafruit - (existeix un altre tauler similar per al Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Capçaleres d'apilament de plomes - Pimoroni | Adafruit: també es podrien utilitzar capçaleres femenines normals o duplicador / triplador FeatherWing
  • Soldar
  • Opcional: sensor de partícules Plantower PMS5003 - Pimoroni | Adafruit

Pas 1: Actualització del carregador d'arrencada

Es pot comprovar la placa Feather abans de soldar-la connectant-la a un ordinador mitjançant USB. Aquest és un moment útil per comprovar el carregador d’arrencada: les versions antigues poden produir errors confusos però inofensius al Windows.

Si feu doble clic al botó de restabliment de Feather, es presenta una unitat anomenada FTHR840BOOT a l'ordinador amfitrió. Es pot obrir un fitxer anomenat INFO_UF2. TXT per inspeccionar la versió; l'exemple següent mostra el contingut que indica la versió 0.2.6:

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 Data: 21 de desembre de 2018

Les versions anteriors al 0.2.9 pateixen l’error esmentat. El procés d’actualització lleugerament complicat es descriu a Adafruit Learn: Presentació de l’Adafruit nRF52840 Feather: Update Bootloader i tractat a Adafruit Forums: Els errors de Windows copien CircuitPython UF2 a FTHR840BOOT.

Pas 2: soldar les capçaleres

Soldant les capçaleres
Soldant les capçaleres
Soldant les capçaleres
Soldant les capçaleres
Soldant les capçaleres
Soldant les capçaleres

El Enviro + FeatherWing necessita les capçaleres masculines connectades i el Feather necessita les capçaleres femenines apilades.

Una tècnica habitual per situar els passadors en la posició correcta mentre es solda consisteix a inserir-los en una pissarra. Es requereix certa precaució amb aquest FeatherWing, ja que el connector picoblade de la part inferior és més alt que els separadors de plàstic de la capçalera. Això podria fer que el tauler es soldés sense voler en un angle. La imatge superior mostra l’angle. Això es resol fàcilment alçant les capçaleres de manera uniforme 2-3 mm (0,1 polzades) des de la taula de treball.

Les capçaleres femenines apilables han de ser perpendiculars al tauler. Això es pot aconseguir col·locant-los sobre una superfície plana i assegurant que el tauler Feather estigui ben pressionat contra ells. La imatge superior mostra la pressió que s’aplica amb un llapis amb un dispositiu d’ajuda de les mans que ajuda a posar pes al llapis. Algunes capçaleres de recanvi proporcionen ajuda addicional per mantenir l'espaiat.

El full de dades MiCS-6814 afirma:

El sensor s’ha de soldar per reflux en una atmosfera neutra, sense soldar els vapors de flux. El sensor no s’ha d’exposar a altes concentracions de dissolvents orgànics, vapors de silicona o fum de cigarreta per evitar enverinar la capa sensible.

Una petita peça de cinta adhesiva que cobreixi el sensor de gas és una prudent precaució durant la soldadura i la neteja del flux. El protector de pantalla també es pot deixar activat en aquesta etapa per fer front a les inevitables petites esquitxades de flux de la soldadura amb una planxa. El micròfon també es beneficiaria de la protecció amb cinta adhesiva durant qualsevol neteja de flux.

Les llargues files de passadors es poden doblegar fàcilment quan es treuen d'una placa de connexió o d'un altre endoll. Tingueu cura d'evitar empènyer el tauler cap a un extrem.

Adafruit té una guia sobre soldar capçals d’apilament, Pimoroni té una guia general de soldadura que inclou capçaleres i hi ha un bon vídeo a YouTube que mostra com soldar capçaleres en un tauler d’estil similar, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins.

Pas 3: Instal·lació de CircuitPython i exemple de traçador combinat

Instal·lació de CircuitPython i combinat Plotter Exemple
Instal·lació de CircuitPython i combinat Plotter Exemple

Si no esteu familiaritzat amb CircuitPython, val la pena llegir primer la guia Benvingut a CircuitPython.

Els passos d'instal·lació següents es basen en el README de pimoroni / EnviroPlus-FeatherWing i la guia d'introducció amb una biblioteca posterior per atendre CircuitPython 6.x.

  1. Instal·leu la versió més recent de CircuitPython (6.0.0 al desembre de 2020) des de https://circuitpython.org/: aquest procés es descriu a CircuitPython for Feather nRF52840.
  2. Verifiqueu la instal·lació connectant-vos a la consola sèrie per USB. La sol·licitud REPL mostra la versió. La versió també es pot comprovar inspeccionant boot_out.txt a la unitat CIRCUITPY.
  3. Instal·leu aquestes biblioteques des d'un paquet de https://circuitpython.org/libraries al directori lib de CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (no adafruit_bmp280)
    3. adafruit_st7735r (no adafruit_st7735r)
    4. adafruit_display_text
  4. Instal·leu aquestes biblioteques des del fitxer EnviroPlus-FeatherWing-1.0.zip de GiHub: pimoroni / EnviroPlus-FeatherWing: Versió 1.0 al directori lib de CIRCUITPY:

    1. i2cdevice (no s'ha de confondre amb la biblioteca i2c_device d'Adafruit)
    2. pimoroni_entornar
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. No instal·leu pimoroni_circuitpython_adapter des d’aquí
  5. Instal·leu l'última biblioteca d'adaptadors de Pimoroni CircuitPython descarregant el fitxer _init_.py al directori lib / pimoroni_circuitpython_adapter creat recentment a CIRCUITPY.
  6. Descarregueu el programa d'exemple de traçador combinat a CIRCUITPY fent clic a Desa l'enllaç com … a plotters_combined.py
  7. Canvieu el nom o suprimiu qualsevol fitxer code.py existent a CIRCUITPY i, a continuació, canvieu el nom de plotters_combined.py a code.py. Aquest fitxer s’executa quan l’intèrpret de CircuitPython s’inicia o es torna a carregar.

Les versions utilitzades per a aquesta guia eren:

  • CircuitPython 6.0.0
  • Paquet de biblioteques CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Biblioteca EnviroPlus-FeatherWing versió 1.0
  • biblioteca pimoroni_circuitpython_adapter 9-Des-2020 f062036

Pas 4: el traçador combinat

El traçador combinat
El traçador combinat

El plotter combinat té quatre pantalles:

  1. So i llum.
  2. PM2.5 i PM10.
  3. Temperatura, pressió i humitat.
  4. OX, RED i NH3.

La pantalla de partícules (PM) només apareix si hi ha connectat el Plantower PMS5003. El programa comprova la seva presència al principi i imprimeix aquest missatge informatiu si no està connectat:

PMS5003 Temps d'espera de lectura: no s'ha pogut llegir l'inici del byte de marc

Probablement no tingueu un pms5003 connectat, continuant sense registrar partícules

L'interval de trama s'estableix a 540 segons a la part superior del programa. Es pot ajustar per controlar la taxa de trama.

Pas 5: Enviro + FeatherWing Pins

Enviro + FeatherWing Pins
Enviro + FeatherWing Pins
Enviro + FeatherWing Pins
Enviro + FeatherWing Pins

El Enviro + FeatherWing utilitza un gran nombre de pins de Feather. S'utilitzen els següents, els noms entre claudàtors provenen de l'esquema de noms de Pimoroni:

  • A0 (pin5): sensor de gas amoníac MiCS6814
  • A1 (pin6): sensor de gas reductor MiCS8614
  • A2 (pin7): sensor de gas oxidant MiCS6814
  • A3 (pin8): micròfon analògic
  • A4 (pin9): habilitació MiCS6814
  • D5 (pin19): ordre de pantalla del bus SPI
  • D6 (pin20): selecció de xip de pantalla de bus SPI
  • D9 (pin21): llum de fons (PWM)
  • D10 (pin22): habilitació PMS5003
  • D11 (pin23): restabliment de PMS5003
  • D12 (pin24): interrupció LTR-559 (no compatible amb la biblioteca CircuitPython)
  • SCK (pin11): rellotge de bus SPI
  • MO (pin12): entrada de l'esclau mestre de bus SPI
  • MI (pin13): SPI bus master in slave out
  • RX (pin14): transmissió PMS5003 (recepció per Feather)
  • TX (pin15): recepció PMS5003 (transmissió de Feather)
  • SCL (pin18): rellotge I2C
  • SDA (pin 17): dades I2C

Això deixa A5, D2 / DFU i D13 lliures per al seu ús.

Pas 6: consum d'energia

El consum d'energia
El consum d'energia

El consum d’energia és dins de les especificacions USB, fins i tot si hi ha connectada una bateria LiPo i es recarrega. L’ús és més rellevant per planificar un pas a la bateria. Algunes mesures del corrent molt aproximades són:

  • 100mA inactiu, llum de fons apagada;
  • Plotter de 100 mA en marxa, poca llum de fons;
  • Plotter de 120 mA en funcionament, llum de fons alta.

El full de dades del Plantower PMS5003 indica que el corrent és inferior a 100 mA, això se sumaria als números anteriors. L'ús del convertidor DC-DC a Enviro + FeatherWing pot augmentar lleugerament aquest nombre.

La placa Feather nRF52840 Express té un NeoPixel (LED RGB), però els nivells de brillantor per al seu ús per defecte com a indicador d’estat del programa només afegeixen una petita quantitat al consum. El propi tauler Feather està per sota de 10 mA per si sol, el FeatherWing és el tauler famolenc.

Pas 7: Afegir el sensor de matèria particular Plantower PMS5003

Addició del sensor de matèria particular Plantower PMS5003
Addició del sensor de matèria particular Plantower PMS5003
Addició del sensor de matèria particular Plantower PMS5003
Addició del sensor de matèria particular Plantower PMS5003
Addició del sensor de matèria particular Plantower PMS5003
Addició del sensor de matèria particular Plantower PMS5003

El Met One Instruments BAM 1020 és un espectacle comú a tot el món que mesura partícules a les ciutats. Hi ha una gamma de dispositius més assequibles i l’Enviro + FeatherWing inclou un connector per al sensor de partícules Plantower PMS5003.

Actualment, el codi de la biblioteca Pimoroni d’aquest sensor sembla fràgil. Una millora senzilla i ràpida consisteix a detectar excepcions al programa. Podeu millorar el programa plotters_combined.py afegint-lo a la part superior:

importació pimoroni_pms5003

I substituint aquesta línia al bucle principal mentre

# fer lectures

pms_reading = pms5003.read ()

amb:

# fer lectures

try: pms_reading = pms5003.read () excepte pimoroni_pms5003. ChecksumMismatchError: print ("error de suma de comprovació")

Pas 8: anar més enllà

Anar més enllà
Anar més enllà

Hi ha diverses àrees per explorar un cop tingueu Enviro + FeatherWing en funcionament.

  • Afegir un sensor de temperatura extern. El sensor de temperatura del BME280 està subjecte a la calefacció interna i a la calefacció de components propers i està pensat per calibrar els altres sensors BME280. El valor es pot processar per proporcionar una mesura aproximada de la temperatura de l’ambient, però hi ha moltes opcions externes superiors i assequibles.
  • Calibratge dels sensors. La pressió és fàcil utilitzant observacions meteorològiques o prediccions a curt termini (aquestes seran a 0 m slm), la resta són difícils.
  • Corregint la sortida PMS5003 per obtenir la humitat relativa. Es presenta una fórmula a la pàgina 8 del PDF sobre EPA: PurpleAir PM2.5 Correcció i rendiment dels EUA durant els esdeveniments de fum 4/2020
  • Addició de codi per transmetre les dades del sensor per Bluetooth Low Energy a altres dispositius.
  • Investigar com minimitzar el consum d'energia. Alguns dels sensors tenen línies d’activació, ja que poden eliminar l’energia dels sensors o posar-los en un mode de baixa potència. Per a sensors amb un temps d’escalfament, el mostreig periòdic pot no ser pràctic.
  • Comprar, adaptar o fabricar un estoig adequat per al muntatge exterior amb un flux d’aire intern acuradament dissenyat i precaucions adequades per a la llum solar directa. El sensor de gas SensorTech MiCS-6814 funciona millor amb un flux d’aire constant i de baixa velocitat.
  • Examinar com les condicions meteorològiques influeixen en la contaminació a nivell del sòl. Consell: les inversions són significatives.
  • Conversió a energia de bateria o solar amb energia de bateria. L’energia solar és més difícil que simplement afegir un panell solar fotovoltaic; consulteu la secció Notes de disseny a Adafruit Learn: USB, DC i Solar Lipoly Charger.
  • Afegir altres sensors per mesurar contaminants comuns com l’ozó (O3) i el diòxid de sofre (SO2) o gasos d’efecte hivernacle com el diòxid de carboni (CO2). Alguns sensors mesuren "eCO2" i no són adequats per mesurar el CO2 atmosfèric. Adafruit ven ara el sensor de CO2 Sensirion SCD-30 NDIR de gran valor en una placa amb connectors STEMMA QT i2c.
  • Si voleu investigar l’enviament de dades per Internet mitjançant Wi-Fi, la placa FeatherS2 amb microcontrolador ESP32-S2 sembla compatible amb Enviro + FeatherWing. Hi ha una limitació problemàtica amb els convertidors analògics a digitals (ADC) ESP32-S2 que impedeixen la mesura adequada dels sensors de gas. Consulteu Fòrums d'Adafruit: comparació de Feather ADC, inclosa ESP32-S2 de 2.6V limitada, per obtenir més informació.

Projectes relacionats:

  • Adafruit Learn: comparació i experimentació amb sensors de gas inflamables
  • Adafruit Learn: sensor de temperatura TMP36

Per llegir més:

  • Directrius de l'Organització Mundial de la Salut (OMS) sobre la contaminació atmosfèrica
  • British Lung Foundation - Qualitat de l'aire (PM2.5 i NO2)
  • Breathe London: una xarxa que complementa la xarxa de qualitat de l'aire de Londres amb "sensors de qualitat de l'aire assequibles, fàcils d'instal·lar i de manteniment per a tothom", que actualment utilitzen el node Clarity-S.
  • Índex mundial de qualitat de l’aire: recopila dades de moltes fonts diferents amb visualitzacions de mapes i dades històriques.
  • Atmosphere Journal: Contaminació de l’aire interior per estufes residencials: examinar la inundació de matèria de partícules a les llars durant l’ús real: s’utilitza la versió Raspberry Pi de la placa Enviro +.
  • Legislació: Normes de qualitat de l'aire de 2010 (Regne Unit)
  • Bloc Pimoroni: la nit de l'any més contaminada (al Regne Unit)
  • The Economist: Midnight sky: la calefacció de la llar a Polònia genera una contaminació generalitzada (gener de 2021)
  • BBC News: El soroll del trànsit afecta les capacitats dels ocells cantors (contaminació acústica)
  • Errors de programari en una biblioteca de sensors de matèria de partícules: una mirada a la cura necessària per analitzar de manera robusta el protocol sèrie PMS5003.