Satura rādītājs:

Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express: 8 soļi
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express: 8 soļi

Video: Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express: 8 soļi

Video: Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express: 8 soļi
Video: VPP#01 - Setting up the Enviro+ Pi HAT's libraries 2024, Jūlijs
Anonim
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express
Pimoroni Enviro+ FeatherWing izmantošana ar Adafruit Feather NRF52840 Express

Pimoroni Enviro+ FeatherWing ir tāfele, kas pilna ar sensoriem, kas paredzēti darbam ar Adafruit Feather sērijas dēļiem. Tā ir noderīga vieta, kur sākt ikvienam, kuru interesē vides monitorings, atmosfēras piesārņojums un datu sajaukšana. Tajā ir:

  • Bosch BME280 - temperatūras, spiediena, mitruma sensors;
  • Lite-On LTR-559-gaismas un tuvuma sensors;
  • SensorTech MiCS -6814 - oksidējošas gāzes, reducējošas gāzes un amonjaka sensors;
  • Analogais mikrofons - trokšņa piesārņojuma mērīšana;
  • Savienotājs Plantower PMS5003 daļiņu sensoram (nav iekļauts komplektā).

MiCS-6814 metāla oksīda sensoru trio ietver retāk sastopamu sensoru oksidējošām gāzēm. Tas ir noderīgi, ņemot vērā tā jutību pret slāpekļa dioksīdu (NO2) - piesārņotāju, kas bieži sastopams pilsētās un pie galvenajiem ceļiem.

Pimoroni iesaka vai nu Adafruit

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

Šajā rokasgrāmatā tika izvēlēts nRF52840, jo tas atbalsta Bluetooth zema enerģijas patēriņa (BLE) tehnoloģiju, kas dod iespēju plāksnei nosūtīt datus uz citu ierīci.

Gan Feather, gan FeatherWing nāk ar nepiestiprinātām vīriešu galviņām. Sieviešu galvenes ir nepieciešamas, lai sakrautu dēļus. Šajā rokasgrāmatā ir parādīta "sakraušanas virsrakstu" izmantošana, kas ļauj arī spalvu dēli ievietot maizes plāksnē, atvieglojot eksperimentus ar papildu sensoriem. Galvenes ir jāpielodē pie dēļiem, taču tas ir samērā vienkārši.

Enviro+ FeatherWing ir viena smalka atšķirība salīdzinājumā ar radinieku Enviro+ Air Quality for Raspberry Pi. FeatherWing versija, šķiet, ir izstrādāta darbam ar spriegumu zem 5 V, ļaujot izmantot vienu litija polimēru (LiPo) akumulatoru, kas ražo 3,7 V-4,3 V. Tam ir līdzstrāvas līdzstrāvas pārveidotājs, kas nodrošina 5 V papildu PMS5003, un tas var darbināt MiCS-6814 iekšējos sildītājus atsevišķi, lai tiktu galā ar šiem zemākajiem spriegumiem.

Galvenajā attēlā redzams Enviro+ FeatherWing, kas parāda PM2.5 un PM10 datus no PMS5003. Gulbja Vestas sērkociņš ir aizsists pusceļā, lai aizdedzinātu sveci.

Otrais raksts attiecas uz oglekļa dioksīda līmeņu noteikšanu ar Pimoroni Enviro+ FeatherWing un Adafruit SCD-30.

Piegādes:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (vēl viena līdzīga valde pastāv Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Spalvu sakraušanas galvenes - Pimoroni | Var izmantot arī parastos sieviešu galvenes vai FeatherWing dubultnieku/trīskāršu
  • Lodēt
  • Pēc izvēles: Plantower PMS5003 daļiņu sensors - Pimoroni | Adafruit

1. darbība. Bootloader jaunināšana

Spalvu dēli var pārbaudīt pirms tā lodēšanas, pievienojot to datoram, izmantojot USB. Šis ir noderīgs laiks, lai pārbaudītu sāknēšanas ielādētāju - vecās versijas var radīt mulsinošas, bet nekaitīgas kļūdas sistēmā Windows.

Veicot dubultklikšķi uz spalvas atiestatīšanas pogas, resursdatoram tiek parādīts disks ar nosaukumu FTHR840BOOT. Lai pārbaudītu versiju, var atvērt failu ar nosaukumu INFO_UF2. TXT. Tālāk redzamajā piemērā ir parādīts saturs, kas norāda versiju 0.2.6:

F2 sāknēšanas ielādētājs 0.2.6 lib/nrfx (v1.1.0-1-g096e770) lib/tinyusb (legacy-525-ga1c59649) s140 6.1.1

Modelis: Adafruit Feather nRF52840 Express Board-ID: NRF52-Bluefruit-v0 Bootloader: s140 6.1.1 Datums: 2018. gada 21. decembris

Versijas pirms 0.2.9 cieš no iepriekš minētās kļūdas. Nedaudz viltīgs jaunināšanas process ir aprakstīts Adafruit Learn: Iepazīstinām ar Adafruit nRF52840 Feather: Update Bootloader un apspriests Adafruit forumos: Windows kļūdas kopē CircuitPython UF2 uz FTHR840BOOT.

2. darbība: galvenes lodēšana

Virsrakstu lodēšana
Virsrakstu lodēšana
Virsrakstu lodēšana
Virsrakstu lodēšana
Virsrakstu lodēšana
Virsrakstu lodēšana

Enviro+ FeatherWing ir jāpiestiprina vīriešu kārtas galvenes, un Feather ir jāpievieno kraušanas sieviešu galvenes.

Parasti metode, kā atrast tapas pareizajā pozīcijā lodēšanas laikā, ir ievietot tās maizes plāksnē. Ar šo FeatherWing ir jāievēro zināma piesardzība, jo pikoblade savienotājs apakšpusē ir garāks par plastmasas starplikām uz galvenes. Tas var izraisīt dēļa nejaušu lodēšanu leņķī. Augšējā attēlā redzams leņķis. To var viegli atrisināt, vienmērīgi paceļot galvenes par 2-3 mm (0,1 collu) no maizes dēļa.

Kraušanas sieviešu galviņām jābūt perpendikulārām plāksnei. To var panākt, novietojot tos uz līdzenas virsmas un nodrošinot, ka spalvu dēlis ir cieši piespiests tiem. Iepriekš redzamajā attēlā redzams spiediens, kas tiek pielietots ar zīmuli un palīdzīgu roku ierīci, kas uzliek zīmuli. Dažas rezerves galvenes sniedz papildu palīdzību atstarpju saglabāšanā.

MiCS-6814 datu lapā ir norādīts:

Sensoram jābūt pielodētam neitrālā atmosfērā, bez lodēšanas plūsmas tvaikiem. Lai izvairītos no jutīgā slāņa saindēšanās, sensoru nedrīkst pakļaut augstas organisko šķīdinātāju, silikona tvaiku vai cigarešu dūmu koncentrācijai.

Neliels maskēšanas lentes gabals, kas aptver gāzes sensoru, ir saprātīgs piesardzības pasākums lodēšanas un plūsmas tīrīšanas laikā. Šajā posmā ekrāna aizsargu var arī ieslēgt, lai tiktu galā ar neizbēgamajām sīkajām plūsmas šļakatām no lodēšanas ar gludekli. Mikrofonam būtu noderīga arī aizsardzība ar maskēšanas lenti plūsmas tīrīšanas laikā.

Izņemot no maizes dēļa vai citas kontaktligzdas, garās tapas var viegli saliekt. Uzmanieties, lai vienā galā netiktu pacelts dēlis uz augšu.

Adafruit ir rokasgrāmata par lodēšanas sakraušanas galvenēm, Pimoroni ir vispārējs lodēšanas ceļvedis, kas ietver galvenes, un vietnē YouTube ir jauks video, kurā parādīts, kā lodēt galvenes uz līdzīga stila tāfeles, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!

3. darbība. CircuitPython un kombinētā plotera instalēšanas piemērs

CircuitPython un kombinētā plotera instalēšanas piemērs
CircuitPython un kombinētā plotera instalēšanas piemērs

Ja jūs neesat pazīstams ar CircuitPython, vispirms ir vērts izlasīt ceļvedi Welcome to CircuitPython.

Tālāk norādītās instalēšanas darbības ir balstītas uz pimoroni / EnviroPlus-FeatherWing README un rokasgrāmatu Darba sākšana ar vēlāku bibliotēku, lai apmierinātu CircuitPython 6.x.

  1. Instalējiet jaunāko CircuitPython versiju (6.0.0 2020. gada decembrī) no vietnes https://circuitpython.org/ - šis process ir aprakstīts CircuitPython for Feather nRF52840.
  2. Pārbaudiet instalāciju, savienojot ar seriālo konsoli, izmantojot USB. REPL uzvedne parāda versiju. Versiju var pārbaudīt arī, pārbaudot boot_out.txt CIRCUITPY diskdzinī.
  3. Instalējiet šīs bibliotēkas no paketes no https://circuitpython.org/libraries CIRCUITPY direktorijā lib:

    1. adafruit_bus_device
    2. adafruit_bme280 (nevis adafruit_bmp280)
    3. adafruit_st7735r (nevis adafruit_st7735)
    4. adafruit_display_text
  4. Instalējiet šīs bibliotēkas no faila EnviroPlus-FeatherWing-1.0.zip no GiHub: pimoroni/EnviroPlus-FeatherWing: versija 1.0, CIRCUITPY direktorijā lib:

    1. i2cdevice (nejaukt ar Adafruit i2c_device bibliotēku)
    2. pimoroni_envirowing
    3. 559
    4. pimoroni_physical_feather_pins
    5. 5003
    6. Neinstalējiet pimoroni_circuitpython_adapter no šejienes
  5. Instalējiet jaunāko Pimoroni CircuitPython adapteru bibliotēku, lejupielādējot failu _init_.py jaunizveidotā katalogā CIRCUITPY lib/pimoroni_circuitpython_adapter.
  6. Lejupielādējiet kombinēto ploteru piemēru programmu CIRCUITPY, noklikšķinot uz Saglabāt saiti kā… vietnē plotters_combined.py
  7. Pārdēvējiet vai izdzēsiet jebkuru esošo kodu.py failu sistēmā CIRCUITPY, pēc tam pārdēvējiet plotters_combined.py uz code.py. Šis fails tiek palaists, kad tiek palaists vai atkārtoti ielādēts CircuitPython tulks.

Šajā rokasgrāmatā tika izmantotas šādas versijas:

  • CircuitPython 6.0.0
  • CircuitPython bibliotēkas saišķis adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • EnviroPlus-FeatherWing bibliotēkas versija 1.0
  • pimoroni_circuitpython_adapter library 9-Dec-2020 f062036

4. solis: kombinētais ploteris

Kombinētais ploteris
Kombinētais ploteris

Kombinētajam ploterim ir četri ekrāni:

  1. Skaņa un gaisma.
  2. PM2.5 un PM10.
  3. Temperatūra, spiediens un mitrums.
  4. VĒRSIS, SARKANS un NH3.

Daļiņu (PM) ekrāns parādās tikai tad, ja ir pievienots Plantower PMS5003. Programma sākumā pārbauda tās klātbūtni un izdrukā šo informatīvo ziņojumu, ja tas nav savienots:

PMS5003 nolasīšanas noildze: neizdevās nolasīt kadra baita sākumu

Iespējams, jums nav pievienots pms5003, turpinot bez daļiņu reģistrēšanas

Sižeta intervāls programmas augšdaļā ir iestatīts uz 540 sekundēm. To var noregulēt, lai kontrolētu diagrammas ātrumu.

5. darbība: Enviro+ FeatherWing Pins

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

Enviro+ FeatherWing izmanto lielu skaitu spalvu tapas. Tiek izmantoti šādi nosaukumi, iekavās norādītie nosaukumi ir no Pimoroni nosaukumu shēmas:

  • A0 (pin5) - MiCS6814 amonjaka gāzes sensors
  • A1 (pin6) - MiCS8614 reducējošs gāzes sensors
  • A2 (pin7) - MiCS6814 oksidējošās gāzes sensors
  • A3 (pin8) - analogs mikrofons
  • A4 (pin9) - iespējot MiCS6814
  • D5 (pin19) - SPI kopnes ekrāna komanda
  • D6 (pin20) - SPI kopnes ekrāna mikroshēmas izvēle
  • D9 (pin21) - fona apgaismojums (PWM)
  • D10 (pin22) - iespējot PMS5003
  • D11 (pin23) - PMS5003 atiestatīšana
  • D12 (pin24) - LTR -559 pārtraukums (netiek atbalstīts CircuitPython bibliotēkā)
  • SCK (pin11) - SPI kopnes pulkstenis
  • MO (pin12) - SPI kopne izvada vergu
  • MI (pin13) - SPI kopnes meistars ir izslēgts
  • RX (pin14) - PMS5003 pārraide (saņemšana ar spalvu)
  • TX (pin15) - PMS5003 uztveršana (pārraide no spalvas)
  • SCL (pin18) - I2C pulkstenis
  • SDA (17. tapa) - I2C dati

Tādējādi A5, D2/DFU un D13 var brīvi izmantot.

6. darbība. Enerģijas patēriņš

Elektrības patēriņš
Elektrības patēriņš

Enerģijas patēriņš atbilst USB specifikācijai pat tad, ja ir pievienots LiPo akumulators un tas tiek uzlādēts. Lietojums ir svarīgāks, plānojot pāreju uz akumulatora enerģiju. Daži ļoti aptuveni strāvas mērījumi ir:

  • 100mA dīkstāvē, fona apgaismojums izslēgts;
  • 100mA ploteris darbojas, zems apgaismojums;
  • 120mA ploteris darbojas, augsts apgaismojums.

Plantower PMS5003 datu lapā norādīts, ka strāva ir mazāka par 100 mA, tas būtu papildus iepriekš minētajiem skaitļiem. Izmantojot DC-DC pārveidotāju Enviro+ FeatherWing, šis skaitlis var nedaudz palielināties.

Feather nRF52840 Express plāksnei ir NeoPixel (RGB LED), taču spilgtuma līmeņi tā noklusējuma lietošanai kā programmas stāvokļa indikators tikai palielina patēriņu. Pati Feather dēlis pats par sevi ir zem 10mA, FeatherWing ir jaudas izsalcis dēlis.

7. solis: Plantower PMS5003 īpašo vielu sensora pievienošana

Plantower PMS5003 īpašo vielu sensora pievienošana
Plantower PMS5003 īpašo vielu sensora pievienošana
Plantower PMS5003 īpašo vielu sensora pievienošana
Plantower PMS5003 īpašo vielu sensora pievienošana
Plantower PMS5003 īpašo vielu sensora pievienošana
Plantower PMS5003 īpašo vielu sensora pievienošana

Met One Instruments BAM 1020 ir izplatīts skats visā pasaulē, mērot daļiņas pilsētās. Pastāv virkne pieejamu ierīču, un Enviro+ FeatherWing ir aprīkots ar savienotāju Plantower PMS5003 daļiņu sensoram.

Šī sensora Pimoroni bibliotēkas kods pašlaik šķiet trausls. Vienkāršs un ātrs uzlabojums ir programmā iekļaut izņēmumus. Programmu plotters_combined.py var uzlabot, pievienojot šo augšpusē:

importēt pimoroni_pms5003

Un šīs līnijas aizstāšana galvenajā cilpā

# veikt lasījumus

pms_reading = pms5003.read ()

ar:

# veikt lasījumus

try: pms_reading = pms5003.read () izņemot pimoroni_pms5003. ChecksumMismatchError: print ("kontrolsummas kļūda")

8. solis: iet tālāk

Ejot tālāk
Ejot tālāk

Kad Enviro+ FeatherWing darbojas, ir jāizpēta vairākas jomas.

  • Ārējā temperatūras sensora pievienošana. Temperatūras sensors BME280 ir pakļauts gan iekšējai apkurei, gan apkurei no blakus esošajiem komponentiem, un tas ir paredzēts, lai kalibrētu pārējos BME280 sensorus. Vērtību var apstrādāt, lai nodrošinātu aptuvenu apkārtējās vides gaisa temperatūras mērījumu, taču ir daudz pieejamu, izcilu ārējo iespēju.
  • Sensoru kalibrēšana. Spiediens ir vienkāršs, izmantojot laika apstākļu novērojumus vai īstermiņa prognozes (tās būs 0 pēdu amsl), pārējās ir grūti.
  • PMS5003 izejas koriģēšana relatīvajam mitrumam. Formula ir parādīta PDF lapā 8 par EPA: PurpleAir PM2.5 ASV korekcija un veiktspēja dūmu notikumu laikā 2020. gada 4. aprīlī
  • Koda pievienošana sensoru datu pārraidīšanai, izmantojot Bluetooth Low Energy, uz citām ierīcēm.
  • Izpētīt, kā samazināt enerģijas patēriņu. Dažiem sensoriem ir iespējošanas līnijas, tās var atvienot enerģiju no sensoriem vai pārslēgt tos uz mazjaudas režīmu. Sensoriem ar iesildīšanās laiku paraugu ņemšana var nebūt praktiska.
  • Pērkot, pielāgojot vai padarot korpusu piemērotu uzstādīšanai ārpusē ar rūpīgi izstrādātu iekšējo gaisa plūsmu un atbilstošiem piesardzības pasākumiem tiešai saules gaismai. Gāzes sensors SensorTech MiCS-6814 vislabāk darbojas ar pastāvīgu, zemu gaisa plūsmu.
  • Izpētīt, kā laika apstākļi ietekmē piesārņojumu zemes līmenī. Padoms: inversijas ir nozīmīgas.
  • Pārvēršana par akumulatoru vai saules enerģiju, izmantojot akumulatora enerģiju. Saules enerģija ir izaicinošāka nekā vienkārši fotoelektriskā saules paneļa pievienošana, skatiet sadaļu Dizaina piezīmes Adafruit Learn: USB, DC & Solar Lipoly Charger.
  • Citu sensoru pievienošana parasto piesārņotāju, piemēram, ozona (O3) un sēra dioksīda (SO2), vai siltumnīcefekta gāzu, piemēram, oglekļa dioksīda (CO2), mērīšanai. Daži sensori mēra "eCO2" un nav piemēroti atmosfēras CO2 mērīšanai. Adafruit tagad pārdod lielo vērtību Sensirion SCD-30 NDIR CO2 sensoru uz plates ar STEMMA QT i2c savienotājiem.
  • Ja vēlaties izpētīt datu nosūtīšanu internetā, izmantojot Wi-Fi, šķiet, ka FeatherS2 plate ar ESP32-S2 mikrokontrolleri ir saderīga ar Enviro+ FeatherWing. ESP32-S2 analogo ciparu pārveidotājiem (ADC) ir problemātisks ierobežojums, kas neļauj pareizi mērīt gāzes sensorus. Plašāku informāciju skatiet Adafruit forumos: spalvu ADC salīdzinājums, ieskaitot 2,6 V ierobežotu ESP32-S2.

Saistītie projekti:

  • Adafruit Learn: salīdzinājums un eksperimenti ar uzliesmojošiem gāzes sensoriem
  • Adafruit Learn: TMP36 temperatūras sensors

Papildu lasījums:

  • Pasaules Veselības organizācijas (PVO) vadlīnijas par gaisa piesārņojumu
  • Britu plaušu fonds - gaisa kvalitāte (PM2.5 un NO2)
  • Breathe London-tīkls, kas papildina Londonas gaisa kvalitātes tīklu ar "pieejamiem, viegli uzstādāmiem un apkopjamiem gaisa kvalitātes sensoriem ikvienam", pašlaik izmantojot Clarity Node-S.
  • Pasaules gaisa kvalitātes indekss - apkopo datus no daudziem dažādiem avotiem ar karšu skatiem un vēsturiskiem datiem.
  • Atmosphere Journal: Iekštelpu gaisa piesārņojums no krāsnīm: daļiņu pārpludināšana mājās reālās lietošanas laikā - tiek izmantota Enviro+ plates Raspberry Pi versija.
  • Likumdošana: 2010. gada gaisa kvalitātes standartu noteikumi (Apvienotā Karaliste)
  • Pimoroni emuārs: gada piesārņotākā nakts (Lielbritānijā)
  • The Economist: Pusnakts debesis - Polijas māju apkure ar oglēm rada plašu piesārņojumu (2021. gada janvāris)
  • BBC News: Satiksmes troksnis pasliktina dziesmu putnu spējas (trokšņa piesārņojums)
  • Programmatūras kļūdas cieto daļiņu sensoru bibliotēkā - apskatiet rūpību, kas nepieciešama, lai robusti parsētu PMS5003 sērijas protokolu.