Kazalo:

Uporaba Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 korakov
Uporaba Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 korakov

Video: Uporaba Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 korakov

Video: Uporaba Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 korakov
Video: Prva pomoč in uporaba AED 2024, Julij
Anonim
Uporaba Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express
Uporaba Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express
Uporaba Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express
Uporaba Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express
Uporaba Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express
Uporaba Pimoroni Enviro+ FeatherWing z Adafruit Feather NRF52840 Express

Pimoroni Enviro+ FeatherWing je plošča, polna senzorjev, zasnovanih za delo s ploščami Adafruit Feather. To je koristen kraj za začetek za vse, ki jih zanima spremljanje okolja, onesnaževanje zraka in zbiranje podatkov. Vsebuje:

  • Bosch BME280 - senzor temperature, tlaka, vlažnosti;
  • Lite-On LTR-559-senzor svetlobe in bližine;
  • SensorTech MiCS -6814 - oksidacijski plini, redukcijski plini in senzor amoniaka;
  • Analogni mikrofon - merjenje hrupa;
  • Priključek za senzor trdnih delcev Plantower PMS5003 (ni vključen).

Trojica kovinsko-oksidnih senzorjev na MiCS-6814 vključuje manj pogost senzor za oksidacijske pline. To je uporabno zaradi občutljivosti na dušikov dioksid (NO2), onesnaževalo, ki je pogosto v mestih in v bližini glavnih cest.

Pimoroni priporočajo Adafruit

  • Pero M4 Express (120MHz, 192kB ram) oz
  • Perje nRF52840 Express (64 MHz, 256 kB ram).

Za ta priročnik je bil izbran nRF52840, saj podpira Bluetooth Low Energy (BLE), ki daje plošči možnost pošiljanja podatkov na drugo napravo.

Feather in FeatherWing prihajata z neodvezanimi moškimi glavami. Za zlaganje plošč so potrebne ženske glave. Ta priročnik prikazuje uporabo "zlaganja glav", ki omogoča, da se plošča iz perja vstavi tudi v ploščo, kar olajša eksperimentiranje z dodatnimi senzorji. Glave je treba spajkati na plošče, vendar je to precej preprosto.

Enviro+ FeatherWing ima eno subtilno razliko v primerjavi s sestrično, Enviro+ Air Quality za Raspberry Pi. Zdi se, da je različica FeatherWing zasnovana za delo z napetostmi pod 5 V, kar omogoča uporabo ene same litij-polimerne (LiPo) baterije, ki proizvaja 3,7 V-4,3 V. Ima pretvornik DC-DC, ki zagotavlja 5 V za izbirni PMS5003, in lahko napaja notranje grelnike MiCS-6814 posebej, da se spopade s temi nižjimi napetostmi.

Glavna slika prikazuje Enviro+ FeatherWing, ki prikazuje podatke PM2.5 in PM10 iz PMS5003. Na polovici ploskve je bila prižgana tekma Swan Vestas, da bi prižgali svečo.

Drugi članek zajema risanje ravni ogljikovega dioksida s Pimoroni Enviro+ FeatherWing in Adafruit SCD-30.

Zaloge:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (obstaja še ena podobna plošča za Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Glave za zlaganje perja - Pimoroni | Lahko se uporabijo tudi običajne ženske glave Adafruit ali dvojnik/trojček FeatherWing
  • Spajkanje
  • Izbirno: Plantower PMS5003 senzor trdnih delcev - Pimoroni | Adafruit

1. korak: Nadgradnja zagonskega nalagalnika

Ploščo Feather lahko pred spajkanjem preverite tako, da jo povežete z računalnikom prek USB -ja. To je koristen čas za preverjanje zagonskega nalagalnika - stare različice lahko povzročijo zmedene, a neškodljive napake v sistemu Windows.

Dvoklik na gumb za ponastavitev perja povzroči, da se gostiteljskemu računalniku predstavi pogon z imenom FTHR840BOOT. Datoteko z imenom INFO_UF2. TXT je mogoče odpreti za pregled različice, spodnji primer prikazuje vsebino, ki označuje različico 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 Nalagalnik: s140 6.1.1 Datum: 21. december 2018

Različice pred 0.2.9 trpijo zaradi omenjene napake. Rahlo lahek postopek nadgradnje je opisan v Adafruit Learn: Predstavljamo Adafruit nRF52840 Feather: Update Bootloader in razpravljamo na Adafruit Forumih: Napake v sistemu Windows kopirajo CircuitPython UF2 v FTHR840BOOT.

2. korak: Spajkanje glav

Spajkanje glav
Spajkanje glav
Spajkanje glav
Spajkanje glav
Spajkanje glav
Spajkanje glav

Enviro+ FeatherWing potrebuje pritrjene moške glave, Feather pa mora pritrditi zložljive ženske glave.

Splošna tehnika, da med spajkanjem položite zatiče v pravilen položaj, je, da jih vstavite v ploščo. Pri tem FeatherWingu je potrebna nekaj previdnosti, saj je priključek za picoblade na spodnji strani višji od plastičnih distančnikov na glavi. To lahko povzroči nenamerno spajkanje plošče pod kotom. Zgornja slika prikazuje kot. To je enostavno rešiti tako, da glave enakomerno dvignete za 2-3 mm (0,1 palca) od plošče.

Ženske glave zlaganja morajo biti pravokotne na ploščo. To lahko dosežete tako, da jih položite na ravno površino in zagotovite, da je plošča iz perja močno pritisnjena ob njih. Na zgornji sliki je prikazan pritisk s svinčnikom z napravo za pomoč rokam, ki ne strelja, da na svinčnik uteži. Nekatere rezervne glave nudijo dodatno pomoč pri ohranjanju razmika.

Podatkovni list MiCS-6814 navaja:

Senzor je treba ponovno spajkati v nevtralni atmosferi, brez pare spajkanja. Senzor ne sme biti izpostavljen visokim koncentracijam organskih topil, silikonskih hlapov ali cigaretnega dima, da se izogne zastrupitvi občutljive plasti.

Majhen kos maskirnega traku, ki pokriva senzor za plin, je pameten previdnostni ukrep med spajkanjem in čiščenjem toka. Zaščito zaslona lahko na tej stopnji pustite tudi pri sebi, da se spopadete z neizogibnimi drobnimi brizganjem toka zaradi spajkanja z železom. Mikrofon bi imel korist tudi pri zaščiti z maskirnim trakom med vsakim čiščenjem toka.

Dolge vrste zatičev je mogoče zlahka upogniti, ko jih odstranite iz mize ali druge vtičnice. Pazite, da plošče ne dvignete na enem koncu.

Adafruit ima priročnik o spajkanju zložljivih glav, Pimoroni imajo splošen priročnik za spajkanje, ki vključuje glave, na YouTubu pa je lep videoposnetek, ki prikazuje, kako spajkati glave na podobno složno ploščo, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Head Pins!

3. korak: Namestitev primera CircuitPythona in kombiniranega ploterja

Namestitev primera CircuitPythona in kombiniranega ploterja
Namestitev primera CircuitPythona in kombiniranega ploterja

Če niste seznanjeni s CircuitPythonom, potem je vredno najprej prebrati vodnik Dobrodošli v CircuitPythonu.

Spodnji koraki za namestitev temeljijo na sistemu pimoroni / EnviroPlus-FeatherWing README in vodniku za začetek s kasnejšo knjižnico za CircuitPython 6.x.

  1. Namestite najnovejšo različico programa CircuitPython (6.0.0 decembra 2020) s spletnega mesta https://circuitpython.org/ - ta postopek je opisan v CircuitPython for Feather nRF52840.
  2. Namestitev preverite tako, da se na serijsko konzolo povežete prek USB -ja. Poziv REPL prikazuje različico. Različico lahko preverite tudi tako, da pregledate boot_out.txt na pogonu CIRCUITPY.
  3. Namestite te knjižnice iz svežnja iz https://circuitpython.org/libraries v imenik lib v CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (ne adafruit_bmp280)
    3. adafruit_st7735r (ne adafruit_st7735)
    4. adafruit_display_text
  4. Te knjižnice namestite iz datoteke EnviroPlus-FeatherWing-1.0.zip iz GiHub-a: pimoroni/EnviroPlus-FeatherWing: Različica 1.0 v imenik lib na CIRCUITPY:

    1. i2cdevice (ne zamenjajte z Adafruit -jevo knjižnico i2c_device)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Od tu ne nameščajte pimoroni_circuitpython_adapter
  5. Namestite najnovejšo knjižnico vmesnikov Pimoroni CircuitPython tako, da prenesete datoteko _init_.py v novo ustvarjen imenik lib/pimoroni_circuitpython_adapter v CIRCUITPY.
  6. Prenesite primer kombiniranega programa ploterja v CIRCUITPY s klikom na Shrani povezavo kot… na plotters_combined.py
  7. Preimenujte ali izbrišite obstoječo datoteko code.py v sistemu CIRCUITPY, nato preimenujte plotters_combined.py v code.py. Ta datoteka se zažene, ko se tolmač CircuitPython zažene ali znova naloži.

Za ta priročnik so bile uporabljene različice:

  • CircuitPython 6.0.0
  • Knjižnični paket CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Knjižnica EnviroPlus-FeatherWing različica 1.0
  • knjižnica pimoroni_circuitpython_adapter 9. december 2020 f062036

4. korak: Kombinirani ploter

Kombinirani ploter
Kombinirani ploter

Kombinirani ploter ima štiri zaslone:

  1. Zvok in svetloba.
  2. PM2,5 in PM10.
  3. Temperatura, tlak in vlaga.
  4. OX, RDEČA in NH3.

Zaslon delcev (PM) se prikaže le, če je priključen Plantower PMS5003. Program preveri njegovo prisotnost na začetku in natisne to informativno sporočilo, če ni povezano:

PMS5003 Časovna omejitev branja: Ni bilo mogoče prebrati začetnega bajta okvirja

Verjetno nimate povezanega pms5003 in nadaljujete brez beleženja delcev

Interval ploskev je nastavljen na 540 sekund na vrhu programa. To lahko prilagodite za nadzor hitrosti ploskve.

5. korak: Enviro+ zatiči FeatherWing

Enviro+ zatiči FeatherWing
Enviro+ zatiči FeatherWing
Enviro+ zatiči FeatherWing
Enviro+ zatiči FeatherWing

Enviro+ FeatherWing uporablja veliko število zatičev Peresa. Uporabljajo se naslednja, imena v oklepajih so iz Pimoronijeve sheme poimenovanja:

  • A0 (pin5) - MiCS6814 senzor za plin amoniak
  • A1 (pin6) - Senzor redukcijskega plina MiCS8614
  • A2 (pin7) - MiCS6814 senzor oksidirajočega plina
  • A3 (pin8) - analogni mikrofon
  • A4 (pin9) - omogoči MiCS6814
  • D5 (pin19) - Ukaz za zaslon vodila SPI
  • D6 (pin20) - izbira čipa na zaslonu vodila SPI
  • D9 (pin21) - osvetlitev ozadja (PWM)
  • D10 (pin22) - omogoči PMS5003
  • D11 (pin23) - ponastavitev PMS5003
  • D12 (pin24) - prekinitev LTR -559 (ni podprto v knjižnici CircuitPython)
  • SCK (pin11) - ura vodila SPI
  • MO (pin12) - pomožni izhod vodila SPI vodila
  • MI (pin13) - glavni vodnik vodila SPI v pomožnem izhodu
  • RX (pin14) - prenos PMS5003 (sprejem preko Featherja)
  • TX (pin15) - sprejem PMS5003 (prenos od Feather)
  • SCL (pin18) - ura I2C
  • SDA (pin 17) - podatki I2C

Tako A5, D2/DFU in D13 ostanejo prosti za uporabo.

6. korak: Poraba energije

Poraba energije
Poraba energije

Poraba energije je v skladu s specifikacijo USB, tudi če je priključena LiPo baterija in se polni. Uporaba je pomembnejša za načrtovanje prehoda na baterijsko napajanje. Nekatere zelo približne meritve toka so:

  • 100 mA v prostem teku, osvetlitev ozadja izklopljena;
  • 100mA ploter deluje, osvetlitev ozadja je nizka;
  • 120mA ploter deluje, osvetlitev ozadja visoka.

V podatkovnem listu za Plantower PMS5003 je navedeno, da je tok manjši od 100 mA, kar bi bilo poleg zgornjih številk. Uporaba DC-DC pretvornika na Enviro+ FeatherWing lahko to število nekoliko poveča.

Plošča Feather nRF52840 Express ima NeoPixel (RGB LED), vendar stopnje svetlosti za privzeto uporabo kot indikator stanja programa k porabi dodajo le majhen znesek. Sama plošča Feather je sama pod 10 mA, FeatherWing je plošča, ki je lačna energije.

7. korak: Dodajanje posebnega senzorja Plantower PMS5003

Dodajanje Plantowerjevega senzorja za posebne zadeve PMS5003
Dodajanje Plantowerjevega senzorja za posebne zadeve PMS5003
Dodajanje Plantowerjevega senzorja za posebne zadeve PMS5003
Dodajanje Plantowerjevega senzorja za posebne zadeve PMS5003
Dodajanje Plantowerjevega senzorja za posebne zadeve PMS5003
Dodajanje Plantowerjevega senzorja za posebne zadeve PMS5003

Met One Instruments BAM 1020 je pogost prizor po vsem svetu za merjenje trdnih delcev v mestih. Obstaja vrsta cenovno ugodnejših naprav in Enviro+ FeatherWing je opremljen s priključkom za senzor trdnih delcev Plantower PMS5003.

Koda knjižnice Pimoroni za ta senzor se trenutno zdi krhka. Enostavna in hitra izboljšava je ujeti izjeme v programu. Program plotters_combined.py lahko izboljšate tako, da na vrh dodate to:

uvoz pimoroni_pms5003

In zamenjava te vrstice v glavni zanki while

# vzemite odčitke

pms_reading = pms5003.read ()

z:

# vzemite odčitke

poskusite: pms_reading = pms5003.read () razen pimoroni_pms5003. ChecksumMismatchError: print ("error sum error")

8. korak: Pojdite dlje

Gremo še dlje
Gremo še dlje

Ko zaženete Enviro+ FeatherWing, morate raziskati številna področja.

  • Dodajanje zunanjega temperaturnega senzorja. Temperaturni senzor v BME280 je podvržen notranjemu ogrevanju in ogrevanju iz bližnjih komponent in je namenjen umerjanju drugih senzorjev BME280. Vrednost je mogoče obdelati, da se zagotovi približno merjenje temperature zunanjega zraka, vendar obstaja veliko ugodnih, vrhunskih zunanjih možnosti.
  • Umerjanje senzorjev. Pritisk je enostaven z uporabo vremenskih opazovanj ali kratkoročnih napovedi (ti bodo na 0 ft nmv), ostali so težki.
  • Popravljanje izhoda PMS5003 za relativno vlažnost. Formula je predstavljena na strani 8 dokumenta PDF o EPA: PurpleAir PM2.5 ameriški popravek in uspešnost med dimnimi dogodki 4/2020
  • Dodajanje kode za oddajanje podatkov senzorja prek nizkoenergijske povezave Bluetooth na druge naprave.
  • Raziskovanje, kako zmanjšati porabo energije. Nekateri senzorji imajo omogočene linije, ti lahko odstranijo napajanje senzorjev ali jih preklopijo v način nizke porabe energije. Za senzorje s časom ogrevanja periodično vzorčenje morda ni praktično.
  • Nakup, prilagajanje ali izdelava ohišja, primernega za montažo zunaj s skrbno oblikovanim notranjim pretokom zraka in ustreznimi varnostnimi ukrepi za neposredno sončno svetlobo. Senzor plina SensorTech MiCS-6814 najbolje deluje s konstantnim in nizkim pretokom zraka po njem.
  • Preučevanje vpliva vremenskih razmer na onesnaženost tal. Namig: inverzije so pomembne.
  • Pretvarjanje v baterijo ali sončno energijo z baterijo. Sončna energija je zahtevnejša od preprostega dodajanja fotovoltaične sončne celice, glejte razdelek Opombe o oblikovanju v Adafruit Learn: USB, enosmerni in solarni polnilnik za lipol.
  • Dodajanje drugih senzorjev za merjenje pogostih onesnaževal, kot so ozon (O3) in žveplov dioksid (SO2) ali toplogredni plini, kot je ogljikov dioksid (CO2). Nekaj senzorjev meri "eCO2" in ni primerno za merjenje atmosferskega CO2. Adafruit zdaj prodaja senzor CO2 Sensirion SCD-30 NDIR velike vrednosti na plošči s priključki STEMMA QT i2c.
  • Če želite raziskati pošiljanje podatkov po internetu z uporabo Wi-Fi, se zdi, da je plošča FeatherS2 z mikrokrmilnikom ESP32-S2 združljiva z Enviro+ FeatherWing. Pri analogno-digitalnih pretvornikih (ADC) ESP32-S2 obstaja težavna omejitev, ki preprečuje pravilno merjenje senzorjev za plin. Za več informacij glejte Forume Adafruit: Primerjava perja ADC, vključno z 2,6 V omejenim ESP32-S2.

Sorodni projekti:

  • Adafruit Learn: Primerjava in eksperimentiranje s senzorji vnetljivih plinov
  • Adafruit Learn: temperaturni senzor TMP36

Nadaljnje branje:

  • Smernice Svetovne zdravstvene organizacije (WHO) za onesnaževanje zraka
  • British Lung Foundation - Kakovost zraka (PM2,5 in NO2)
  • Breathe London-omrežje za dopolnitev londonskega omrežja za kakovost zraka s "cenovno ugodnimi, enostavnimi za namestitev in vzdrževanje senzorjev kakovosti zraka za vsakogar", ki trenutno uporablja Clarity Node-S.
  • Svetovni indeks kakovosti zraka - zbira podatke iz številnih različnih virov s pogledi zemljevidov in zgodovinskimi podatki.
  • Atmosphere Journal: Onesnaževanje zraka v zaprtih prostorih iz stanovanjskih peči: Preučevanje poplav trdnih delcev v domove med uporabo v resničnem svetu - to uporablja različico plošče Enviro+ Raspberry Pi.
  • Zakonodaja: Predpisi o standardih kakovosti zraka 2010 (Združeno kraljestvo)
  • Blog Pimoroni: Najbolj onesnažena noč leta (v Veliki Britaniji)
  • The Economist: Polnočno nebo - Poljsko ogrevanje domov na premog ustvarja široko onesnaženje (januar 2021)
  • BBC News: Prometni hrup zmanjšuje sposobnosti pevcev (onesnaženje s hrupom)
  • Napake programske opreme v knjižnici senzorjev trdnih delcev - pogled na skrb, ki je potrebna za trdno razčlenitev serijskega protokola PMS5003.