Talaan ng mga Nilalaman:

Paggamit ng Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express: 8 Hakbang
Paggamit ng Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express: 8 Hakbang

Video: Paggamit ng Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express: 8 Hakbang

Video: Paggamit ng Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express: 8 Hakbang
Video: Tutorial: Filipino Grammar Lessons - Din/Rin; Nang/Ng, ano ang pagkakaiba? 2024, Hulyo
Anonim
Gamit ang Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express
Gamit ang Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express
Gamit ang Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express
Gamit ang Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express
Gamit ang Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express
Gamit ang Pimoroni Enviro + FeatherWing With the Adafruit Feather NRF52840 Express

Ang Pimoroni Enviro + FeatherWing ay isang board na puno ng mga sensor na idinisenyo upang gumana sa serye ng mga board ng Adafruit Feather. Ito ay isang kapaki-pakinabang na lugar upang magsimula para sa sinumang interesado sa pagsubaybay sa kapaligiran, polusyon sa atmospera at data munging. Nagtatampok ito:

  • Bosch BME280 - temperatura, presyon, sensor ng kahalumigmigan;
  • Lite-On LTR-559 - light at proximity sensor;
  • SensorTech MiCS-6814 - mga gas na oxidising, binabawasan ang mga gas at sensor ng ammonia;
  • Analogue microphone - pagsukat ng polusyon sa ingay;
  • Konektor para sa Plantower PMS5003 sensor ng bagay na maliit na butil (hindi kasama).

Ang trio ng mga metal-oxide sensor sa MiCS-6814 ay nagsasama ng isang hindi gaanong karaniwang sensor para sa mga oxidising gas. Kapaki-pakinabang ito para sa pagiging sensitibo sa nitrogen dioxide (NO2), isang pollutant na karaniwang sa mga lungsod at malapit sa mga pangunahing kalsada.

Inirerekumenda ni Pimoroni alinman sa Adafruit

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

Ang nRF52840 ay napili para sa gabay na ito dahil sinusuportahan nito ang Bluetooth Low Energy (BLE) na nagbibigay sa board ng potensyal na magpadala ng data sa isa pang aparato.

Ang Balahibo at FeatherWing ay parehong may kasamang mga hindi naka-link na mga header ng lalaki. Ang mga babaeng header ay kinakailangan upang i-stack ang mga board. Ipinapakita ng patnubay na ito ang paggamit ng "mga stacking header" na nagpapahintulot sa board ng Balahibo na maipasok din sa isang breadboard na nagpapadali sa pag-eksperimento sa mga sobrang sensor. Ang mga header ay kailangang solder sa mga board ngunit ito ay makatuwiran na prangka.

Ang Enviro + FeatherWing ay may isang banayad na pagkakaiba kumpara sa pinsan nito, ang Enviro + Air Quality para sa Raspberry Pi. Ang bersyon ng FeatherWing ay lilitaw na idinisenyo upang gumana sa mga voltages sa ibaba 5V na nagpapahintulot sa isang solong lithium polymer (LiPo) na baterya na gumagawa ng 3.7V-4.3V upang magamit. Mayroon itong converter na DC-DC upang magbigay ng 5V para sa opsyonal na PMS5003 at maaari nitong paandarin ang MiCS-6814 na panloob na mga heaters upang isaayos ang mga mas mababang boltahe na ito.

Ipinapakita ng pangunahing larawan ang Enviro + FeatherWing na ipinapakita ang data ng PM2.5 at PM10 mula sa PMS5003. Ang isang laban sa Swan Vestas ay sinaktan sa kalahati ng isang lagay ng lupa sa kandila.

Saklaw ng isang pangalawang artikulo ang Mga Antas ng Plotting ng Carbon Dioxide Gamit ang Pimoroni Enviro + FeatherWing at Adafruit SCD-30.

Mga Pantustos:

  • Pimoroni Enviro + FeatherWing - Pimoroni | Adafruit - (isa pang katulad na board ang umiiral para sa Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Mga Header ng Stacking ng Balahibo - Pimoroni | Adafruit - maaari ring magamit ang normal na mga header ng babae o FeatherWing doble / tripler
  • Panghinang
  • Opsyonal: Plantower PMS5003 sensor ng particulate matter - Pimoroni | Adafruit

Hakbang 1: Pag-a-upgrade sa Bootloader

Maaaring suriin ang board ng Balahibo bago ito solder sa pamamagitan ng pagkonekta nito sa isang computer gamit ang USB. Ito ay isang kapaki-pakinabang na oras upang suriin ang bootloader - ang mga lumang bersyon ay maaaring makagawa ng nakalilito ngunit hindi nakakapinsalang mga error sa Windows.

Ang pag-double click sa pindutan ng pag-reset ng Balahibo ay sanhi ng isang drive na tinatawag na FTHR840BOOT upang maipakita sa host computer. Ang isang file na tinatawag na INFO_UF2. TXT ay maaaring buksan upang siyasatin ang bersyon, ipinapakita ng halimbawa sa ibaba ang nilalaman na nagpapahiwatig ng bersyon 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 Petsa: Dis 21 2018

Ang mga bersyon bago ang 0.2.9 ay nagdurusa mula sa nabanggit na bug. Ang bahagyang fiddly proseso ng pag-upgrade ay inilarawan sa Adafruit Alamin: Ipinakikilala ang Adafruit nRF52840 Feather: I-update ang Bootloader at tinalakay sa Mga Forum ng Adafruit: Ang mga error sa Windows ay kopyahin ang CircuitPython UF2 sa FTHR840BOOT.

Hakbang 2: Paghihinang ng Mga Header

Paghihinang ng Mga Header
Paghihinang ng Mga Header
Paghihinang ng Mga Header
Paghihinang ng Mga Header
Paghihinang ng Mga Header
Paghihinang ng Mga Header

Ang Enviro + FeatherWing ay nangangailangan ng mga naka-header na lalaki at ang Feather ay nangangailangan ng nakakabit na mga babaeng header na nakakabit.

Isang karaniwang pamamaraan upang hanapin ang mga pin sa tamang posisyon habang ang paghihinang ay upang ipasok ang mga ito sa isang breadboard. Ang ilang pag-iingat ay kinakailangan sa FeatherWing na ito dahil ang picoblade konektor sa ilalim ay mas mataas kaysa sa mga plastic spacer sa header. Maaari itong maging sanhi ng board na hindi sinasadyang maghinang sa isang anggulo. Ipinapakita ng larawan sa itaas ang anggulo. Madali itong malulutas sa pamamagitan ng pagtaas ng parehas ng mga header ng 2-3mm (0.1in) mula sa breadboard.

Ang mga stacking na babaeng header ay dapat na patayo sa board. Maaari itong makamit sa pamamagitan ng paglalagay ng mga ito sa isang patag na ibabaw at tiyakin na ang board ng Balahibo ay mahigpit na pinindot laban sa kanila. Ang larawan sa itaas ay nagpapakita ng presyon na inilalapat gamit ang isang lapis na may isang out-of-shot na tumutulong sa mga aparato sa kamay na naglalagay ng timbang sa lapis. Ang ilang mga ekstrang header ay nagbibigay ng ilang karagdagang tulong sa pagpapanatili ng spacing.

Ang MiCS-6814 datasheet ay nagsasaad:

Ang sensor ay dapat na sumasalamin na solder sa isang walang kinikilingan na kapaligiran, nang walang paghihinang ng mga flap vapour. Ang sensor ay hindi dapat mailantad sa mataas na konsentrasyon ng mga organikong solvents, silicone vapor o usok ng sigarilyo upang maiwasan ang pagkalason sa sensitibong layer.

Ang isang maliit na piraso ng masking tape na sumasakop sa gas sensor ay isang maingat na pag-iingat sa panahon ng paghihinang at paglilinis ng pagkilos ng bagay. Ang screen protector ay maaari ding iwanang sa yugtong ito upang harapin ang hindi maiiwasang maliliit na splashes ng pagkilos ng bagay mula sa paghihinang sa isang bakal. Makikinabang din ang mikropono mula sa proteksyon gamit ang masking tape habang mayroong paglilinis sa pagkilos ng bagay.

Ang mahabang mga hilera ng mga pin ay maaaring madaling baluktot kapag inaalis ang mga ito mula sa isang breadboard o iba pang socket. Mag-ingat upang maiwasan ang lever ang board up sa isang dulo.

Ang Adafruit ay may isang gabay sa mga soldering stacking header, ang Pimoroni ay may pangkalahatang gabay sa paghihinang na may kasamang mga header at mayroong magandang video sa YouTube na nagpapakita kung paano maghinang ng mga header sa isang katulad na style board, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!

Hakbang 3: Pag-install ng CircuitPython at Pinagsamang Halimbawa ng Plotter

Pag-install ng CircuitPython at Pinagsamang Halimbawa ng Plotter
Pag-install ng CircuitPython at Pinagsamang Halimbawa ng Plotter

Kung hindi ka pamilyar sa CircuitPython pagkatapos sulit na basahin muna ang gabay sa Welcome to CircuitPython.

Ang mga hakbang sa pag-install sa ibaba ay batay sa pimoroni / EnviroPlus-FeatherWing README at ang gabay sa Pagsisimula na may isang susunod na silid-aklatan upang magsilbi para sa CircuitPython 6.x.

  1. I-install ang pinakabagong bersyon ng CircuitPython (6.0.0 noong Disyembre 2020) mula sa https://circuitpython.org/ - ang prosesong ito ay inilarawan sa CircuitPython para sa Feather nRF52840.
  2. I-verify ang pag-install sa pamamagitan ng pagkonekta sa serial console sa USB. Ipinapakita ng prompt na REPL ang bersyon. Maaari ding suriin ang bersyon sa pamamagitan ng pag-inspeksyon sa boot_out.txt sa CIRCUITPY drive.
  3. I-install ang mga library na ito mula sa isang bundle mula sa https://circuitpython.org/libraries sa lib direktoryo sa CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (hindi adafruit_bmp280)
    3. adafruit_st7735r (hindi adafruit_st7735)
    4. adafruit_display_text
  4. I-install ang mga libraryong ito mula sa EnviroPlus-FeatherWing-1.0.zip file mula GiHub: pimoroni / EnviroPlus-FeatherWing: Bersyon 1.0 sa direktoryo ng lib sa CIRCUITPY:

    1. i2cdevice (hindi malito sa i2c_device library ng Adafruit)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Huwag mag-install ng pimoroni_circuitpython_adapter mula dito
  5. I-install ang pinakabagong Pimoroni CircuitPython adapter library sa pamamagitan ng pag-download ng _init_.py file sa isang bagong nilikha na lib / pimoroni_circuitpython_adapter direktoryo sa CIRCUITPY.
  6. I-download ang pinagsamang programang halimbawa ng tagabalangkas sa CIRCUITPY sa pamamagitan ng pag-click sa I-save ang link bilang… sa plotters_combined.py
  7. Palitan ang pangalan o tanggalin ang anumang umiiral na file ng code.py sa CIRCUITPY, pagkatapos ay palitan ang pangalan ng plotters_combined.py sa code.py. Tumatakbo ang file na ito kapag nagsimula o nag-reload ang interpreter ng CircuitPython.

Ang mga bersyon na ginamit para sa gabay na ito ay:

  • CircuitPython 6.0.0
  • CircuitPython library bundle adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • EnviroPlus-FeatherWing library Bersyon 1.0
  • pimoroni_circuitpython_adapter library 9-Dis-2020 f062036

Hakbang 4: Ang Pinagsamang Plotter

Ang Pinagsamang Plotter
Ang Pinagsamang Plotter

Ang pinagsamang tagabalot ay may apat na mga screen:

  1. Tunog at Magaang.
  2. PM2.5 at PM10.
  3. Temperatura, presyon at halumigmig.
  4. OX, PULA at NH3.

Lumilitaw lamang ang screen ng particulate matter (PM) kung ang Plantower PMS5003 ay nakakabit. Sinusuri ng programa ang pagkakaroon nito sa simula at na-print ang impormasyong ito ng mensahe kung hindi ito konektado:

PMS5003 Basahin ang Pag-timeout: Nabigong basahin ang pagsisimula ng frame byte

Marahil ay wala kang koneksyon na pms5003, nagpapatuloy nang walang pag-log ng maliit na butil

Ang agwat ng balangkas ay nakatakda sa 540 segundo sa tuktok ng programa. Maaari itong iakma upang makontrol ang rate ng balangkas.

Hakbang 5: Enviro + FeatherWing Pins

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

Ang Enviro + FeatherWing ay gumagamit ng isang malaking bilang ng mga pin ng Feather. Ang mga sumusunod ay ginagamit, ang mga pangalan sa mga braket ay mula sa scheme ng pagbibigay ng pangalan ni Pimoroni:

  • A0 (pin5) - MiCS6814 ammonia gas sensor
  • A1 (pin6) - MiCS8614 na nagbabawas ng gas sensor
  • A2 (pin7) - MiCS6814 oxidising gas sensor
  • A3 (pin8) - analogue microphone
  • A4 (pin9) - Paganahin ang MiCS6814
  • D5 (pin19) - Utos ng screen ng SPI bus
  • D6 (pin20) - Piliin ang chip ng screen ng SPI bus
  • D9 (pin21) - backlight (PWM)
  • D10 (pin22) - Paganahin ang PMS5003
  • D11 (pin23) - PMS5003 reset
  • D12 (pin24) - makagambala ang LTR-559 (hindi suportado sa CircuitPython library)
  • SCK (pin11) - Orasan ng SPI bus
  • MO (pin12) - Pinasasadya ng SPI bus ang alipin sa
  • MI (pin13) - master ng SPI bus sa alipin
  • RX (pin14) - PMS5003 transmit (natanggap ng Balahibo)
  • TX (pin15) - PMS5003 makatanggap (magpadala mula sa Balahibo)
  • SCL (pin18) - I2C na orasan
  • SDA (pin 17) - Data ng I2C

Ito ay umalis sa A5, D2 / DFU at D13 libre para magamit.

Hakbang 6: Pagkonsumo ng Lakas

Konsumo sa enerhiya
Konsumo sa enerhiya

Ang pagkonsumo ng kuryente ay nasa loob ng pagtutukoy ng USB kahit na ang isang baterya ng LiPo ay nakakabit at muling nag-recharging. Ang paggamit ay mas nauugnay para sa pagpaplano ng paglipat sa lakas ng baterya. Ang ilang mga tinatayang sukat ng kasalukuyang ay:

  • 100mA idle, backlight off;
  • Tumatakbo ang 100mA plotter, mababa ang backlight;
  • Tumatakbo ang isang plotter na 120m, mataas ang backlight.

Ang datasheet para sa Plantower PMS5003 ay nagsasaad ng kasalukuyang ay mas mababa sa 100mA, ito ay magiging karagdagan sa mga nabanggit na numero. Ang paggamit ng DC-DC converter sa Enviro + FeatherWing ay maaaring dagdagan nang bahagya ang bilang na ito.

Ang board ng Feather nRF52840 Express ay mayroong NeoPixel (RGB LED) ngunit ang mga antas ng ningning para sa default na paggamit nito bilang isang tagapagpahiwatig ng estado ng programa ay nagdaragdag lamang ng isang maliit na halaga sa pagkonsumo. Ang board ng Feather mismo ay mas mababa sa 10mA sa sarili nitong, ang FeatherWing ay ang power gutom na board.

Hakbang 7: Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor

Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor
Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor
Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor
Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor
Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor
Pagdaragdag ng Plantower PMS5003 Particular Matter Sensor

Ang Met One Instruments BAM 1020 ay isang pangkaraniwang nakikita sa buong mundo na sumusukat ng maliit na butil sa mga lungsod. Ang isang hanay ng mga mas abot-kayang aparato ay umiiral at ang Enviro + FeatherWing ay may kasamang isang konektor para sa Plantower PMS5003 na sensor ng particulate matter.

Ang code ng library ng Pimoroni para sa sensor na ito ay kasalukuyang lilitaw na marupok. Ang isang simple at mabilis na pagpapabuti ay upang mahuli ang mga pagbubukod sa programa. Ang programa ng plotters_combined.py ay maaaring mapabuti sa pamamagitan ng pagdaragdag nito sa itaas:

i-import ang pimoroni_pms5003

At pinapalitan ang linyang ito sa pangunahing habang loop

# kumuha ng mga pagbasa

pms_reading = pms5003.read ()

kasama ang:

# kumuha ng mga pagbasa

subukan: pms_reading = pms5003.read () maliban sa pimoroni_pms5003. ChecksumMismatchError: i-print ("error sa checkum")

Hakbang 8: Pupunta Pa

Pupunta pa sa Malayo
Pupunta pa sa Malayo

Mayroong isang bilang ng mga lugar upang galugarin sa sandaling nakuha mo na ang Enviro + FeatherWing na tumatakbo.

  • Pagdaragdag ng isang panlabas na sensor ng temperatura. Ang sensor ng temperatura sa BME280 ay napapailalim sa parehong panloob na pag-init at pag-init mula sa kalapit na mga bahagi at inilaan upang i-calibrate ang iba pang mga sensor ng BME280. Maaaring maproseso ang halaga upang makapagbigay ng isang tinatayang sukat ng temperatura ng hangin sa paligid ngunit maraming mga abot-kayang, nakahihigit na panlabas na mga pagpipilian.
  • Pag-calibrate ng mga sensor. Madali ang presyon gamit ang mga pagmamasid sa panahon o mga panandaliang pagtataya (ito ay nasa 0 ft amsl), ang natitira ay mahirap.
  • Pagwawasto sa output ng PMS5003 para sa kamag-anak halumigmig. Ang isang pormula ay ipinakita sa pahina 8 ng PDF sa EPA: PurpleAir PM2.5 Pagwawasto at Pagganap ng U. S. Sa Mga Kaganapan sa Usok 4/2020
  • Pagdaragdag ng code upang mai-broadcast ang data ng sensor sa paglipas ng Bluetooth Mababang Enerhiya sa iba pang mga aparato.
  • Sinisiyasat kung paano i-minimize ang pagkonsumo ng kuryente. Ang ilan sa mga sensor ay pinagana ang mga linya, maaari nitong alisin ang lakas mula sa mga sensor o ilagay ito sa isang mababang mode ng kuryente. Para sa mga sensor na may oras ng pag-init ng pana-panahon na pag-sample ay maaaring hindi praktikal.
  • Ang pagbili, pagbagay o paggawa ng isang kaso na angkop para sa pag-mount sa labas na may maingat na dinisenyo panloob na daloy ng hangin at angkop na pag-iingat para sa direktang sikat ng araw. Ang sensor ng gas SensorTech MiCS-6814 ay pinakamahusay na gumagana sa isang pare-pareho, mababang rate ng daloy ng hangin sa kabuuan nito.
  • Sinusuri kung paano nakakaimpluwensya ang mga kondisyon ng panahon sa polusyon sa antas ng lupa. Pahiwatig: makabuluhan ang mga pagbabaligtad.
  • Ang pag-convert sa lakas ng baterya o solar na may lakas ng baterya. Ang lakas ng Solar ay mas mahirap kaysa sa simpleng pagdaragdag ng isang photovoltaic solar panel, tingnan ang seksyon ng Mga Tala ng Disenyo sa Adafruit Alamin: USB, DC at Solar Lipoly Charger.
  • Ang pagdaragdag ng iba pang mga sensor upang masukat ang mga karaniwang pollutant tulad ng Ozone (O3) at sulfur dioxide (SO2) o mga greenhouse gas tulad ng carbon dioxide (CO2). Sinusukat ng ilang sensor ang "eCO2" at hindi angkop para sa pagsukat ng atmospheric CO2. Ibinebenta ngayon ng adafruit ang mahusay na halaga ng Sensirion SCD-30 NDIR CO2 sensor sa isang board na may mga konektor ng STEMMA QT i2c.
  • Kung nais mong siyasatin ang pagpapadala ng data sa Internet gamit ang Wi-Fi kung gayon ang board ng FeatherS2 na may ESP32-S2 microcontroller ay lilitaw na katugma sa Enviro + FeatherWing. Mayroong isang may problemang limitasyon sa ESP32-S2 analogue sa mga digital converter (ADC) na pumipigil sa wastong pagsukat ng mga gas sensors. Tingnan ang Mga Forum ng Adafruit: Paghahambing sa Balahibo ng ADC kasama ang 2.6V na limitado sa ESP32-S2 para sa karagdagang impormasyon.

Mga Kaugnay na Proyekto:

  • Alamin ang Adafruit: Paghahambing at Pag-eksperimento sa Flammable Gas Sensors
  • Alamin ang Adafruit: Sensor ng Temperatura ng TMP36

Karagdagang pagbabasa:

  • Mga Alituntunin sa Pollution ng Air sa World Health Organization (WHO)
  • British Lung Foundation - Kalidad sa Hangin (PM2.5 at NO2)
  • Huminga ang London - isang network upang dagdagan ang London Air Quality Network na may "abot-kayang, madaling mai-install at mapanatili ang mga sensor ng kalidad ng hangin sa sinuman", na kasalukuyang gumagamit ng Clarity Node-S.
  • World Air Quality Index - nangongolekta ng data mula sa maraming iba't ibang mga mapagkukunan na may mga view ng mapa at data ng kasaysayan.
  • Atmosphere Journal: Indoor Air Pollution mula sa Residential Stoves: Sinusuri ang Flooding of Particateate Matter sa Homes habang Real-World Use - gumagamit ito ng bersyon ng Raspberry Pi ng board ng Enviro +.
  • Batas: Ang Mga Regulasyon sa Pamantayan sa Kalidad ng Hangin 2010 (UK)
  • Pimoroni Blog: Ang Pinaka-polusyon na Gabi ng Taon (sa UK)
  • The Economist: Midnight sky - Ang pagpainit ng bahay ng karbon na fired sa bahay ay lumilikha ng malawakang polusyon (Enero 2021)
  • BBC News: Ang ingay sa trapiko ay nagpapahina sa kakayahan ng mga songbird (polusyon sa ingay)
  • Ang Software Bugs sa isang Partulateate Matter Sensor Library - isang pagtingin sa pangangalaga na kinakailangan upang masiglang mai-parse ang PMS5003 serial protocol.