Sadržaj:

Korištenje Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 koraka
Korištenje Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 koraka

Video: Korištenje Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 koraka

Video: Korištenje Pimoroni Enviro+ FeatherWing s perjem Adafruit NRF52840 Express: 8 koraka
Video: работа акселерометра в микроконтроллере микробит 2024, Srpanj
Anonim
Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express
Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express
Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express
Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express
Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express
Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express

Pimoroni Enviro+ FeatherWing je ploča prepuna senzora dizajniranih za rad s nizom ploča Adafruit Feather. To je korisno mjesto za početak za sve koji se zanimaju za praćenje okoliša, zagađenje atmosfere i izmjenu podataka. Sadrži:

  • Bosch BME280 - osjetnik temperature, tlaka, vlažnosti;
  • Lite-On LTR-559-senzor svjetla i blizine;
  • SensorTech MiCS -6814 - oksidirajući plinovi, reducirajući plinovi i senzor amonijaka;
  • Analogni mikrofon - mjerenje zagađenja bukom;
  • Priključak za Plantower PMS5003 osjetnik čestica (nije uključen).

Trio metal-oksidnih senzora na MiCS-6814 uključuje manje uobičajen senzor za oksidacijske plinove. To je korisno zbog njegove osjetljivosti na dušikov dioksid (NO2), zagađivač uobičajen u gradovima i u blizini glavnih cesta.

Pimoroni preporučuju Adafruit

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

NRF52840 odabran je za ovaj vodič jer podržava Bluetooth Low Energy (BLE) koji ploči daje mogućnost slanja podataka na drugi uređaj.

I Feather i FeatherWing dolaze s nevezanim muškim zaglavljima. Za slaganje ploča potrebne su ženske glave. Ovaj vodič prikazuje uporabu "naslova za slaganje" koji omogućuju da se ploča od perja također umetne u ploču za lakše eksperimentiranje s dodatnim senzorima. Zaglavlja moraju biti lemljena na ploče, ali to je razumljivo jednostavno.

Enviro+ FeatherWing ima jednu suptilnu razliku u usporedbi sa svojim rođakom, Enviro+ Kvalitetom zraka za Raspberry Pi. Čini se da je verzija FeatherWing dizajnirana za rad s naponima ispod 5 V dopuštajući upotrebu jedne litij-polimerne (LiPo) baterije koja proizvodi 3,7 V-4,3 V. Ima DC-DC pretvarač koji daje 5V za opcijski PMS5003, a može napajati unutarnje grijače MiCS-6814 pojedinačno kako bi se nosio s tim nižim naponima.

Glavna slika prikazuje Enviro+ FeatherWing koji prikazuje podatke PM2.5 i PM10 s PMS5003. Šibica Swan Vestas položena je na pola puta kako bi se zapalila svijeća.

Drugi članak obuhvaća crtanje razina ugljičnog dioksida pomoću Pimoroni Enviro+ FeatherWing i Adafruit SCD-30.

Pribor:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (postoji još jedna slična ploča za Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Zaglavlja za slaganje perja - Pimoroni | Također se mogu koristiti Adafruit - normalna ženska zaglavlja ili FeatherWing dupliranje/trostruko
  • Lem
  • Izborno: Plantower PMS5003 osjetnik čestica - Pimoroni | Adafruit

Korak 1: Nadogradnja pokretačkog programa

Ploču s perjem možete provjeriti prije lemljenja povezivanjem na računalo pomoću USB -a. Ovo je korisno vrijeme za provjeru pokretačkog programa - stare verzije mogu proizvesti zbunjujuće, ali bezopasne pogreške u sustavu Windows.

Dvostrukim pritiskom na gumb za resetiranje pera, pogonskom računalu će se prikazati pogon zvan FTHR840BOOT. Datoteka pod nazivom INFO_UF2. TXT može se otvoriti radi pregleda verzije, donji primjer prikazuje sadržaj koji označava verziju 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 Datum: 21. prosinca 2018.

Verzije prije 0.2.9 pate od gore spomenute pogreške. Postupak lagane nadogradnje opisan je u Adafruit Learn: Predstavljanje Adafruit nRF52840 Feather: Update Bootloader i raspravljano na Adafruit forumima: Windows greške kopiraju CircuitPython UF2 u FTHR840BOOT.

Korak 2: Lemljenje zaglavlja

Lemljenje zaglavlja
Lemljenje zaglavlja
Lemljenje zaglavlja
Lemljenje zaglavlja
Lemljenje zaglavlja
Lemljenje zaglavlja

Enviro+ FeatherWing treba pričvrstiti svoje muške zaglavlje, a Featheru treba priložiti ženska zaglavlja za slaganje.

Uobičajena tehnika za lociranje iglica u ispravnom položaju tijekom lemljenja je njihovo umetanje u ploču za kruh. S ovim FeatherWingom potreban je određeni oprez jer je konektor pikoblade s donje strane viši od plastičnih odstojnika na zaglavlju. To bi moglo uzrokovati nenamjerno lemljenje ploče pod kutom. Gornja slika prikazuje kut. To se lako rješava ravnomjernim podizanjem zaglavlja za 2-3 mm (0,1 inča) od matične ploče.

Ženska zaglavlja za slaganje moraju biti okomita na ploču. To se može postići postavljanjem na ravnu površinu i osiguravanjem da je ploča s perjem čvrsto pritisnuta na njih. Gornja slika prikazuje pritisak koji se primjenjuje olovkom s aparatom za pomaganje rukama koji nije u kadru stavljajući težinu na olovku. Neka rezervna zaglavlja pružaju dodatnu pomoć u održavanju razmaka.

Tehnički list MiCS-6814 navodi:

Senzor se mora ponovno lemiti u neutralnoj atmosferi, bez isparenja toka lemljenja. Senzor se ne smije izlagati visokim koncentracijama organskih otapala, para silikona ili dima cigareta kako bi se izbjeglo trovanje osjetljivog sloja.

Mali komad maskirne trake koji prekriva osjetnik plina mudra je mjera opreza tijekom lemljenja i čišćenja fluksa. Zaštita zaslona također se može ostaviti uključena u ovoj fazi kako bi se nosila s neizbježnim sićušnim prskanjem fluksa od lemljenja glačalom. Mikrofon bi također imao koristi od zaštite maskirnom trakom tijekom svakog čišćenja fluksa.

Dugi nizovi igle mogu se lako saviti kada ih izvadite iz matične ploče ili druge utičnice. Pazite da ne podignete ploču na jednom kraju prema gore.

Adafruit ima vodič o lemljenju zaglavlja za slaganje, Pimoroni imaju opći vodič za lemljenje koji uključuje zaglavlja, a na YouTubeu postoji lijep video koji prikazuje kako lemiti zaglavlja na sličnu stilsku ploču, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Heads Pins!

Korak 3: Instaliranje primjera CircuitPythona i kombiniranog plotera

Primjer instalacije CircuitPythona i kombiniranog plotera
Primjer instalacije CircuitPythona i kombiniranog plotera

Ako niste upoznati s CircuitPythonom, vrijedi prvo pročitati vodič Dobro došli u CircuitPython.

Koraci instalacije u nastavku temelje se na pimoroni / EnviroPlus-FeatherWing README i vodiču za početak rada s kasnijom bibliotekom za CircuitPython 6.x.

  1. Instalirajte najnoviju verziju CircuitPythona (6.0.0 u prosincu 2020.) s https://circuitpython.org/ - ovaj proces opisan je u CircuitPython za Feather nRF52840.
  2. Provjerite instalaciju povezivanjem na serijsku konzolu putem USB -a. Odzivnik REPL prikazuje verziju. Verziju je moguće provjeriti i pregledom boot_out.txt na pogonu CIRCUITPY.
  3. Instalirajte ove knjižnice iz paketa s https://circuitpython.org/libraries u direktorij lib na CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (ne adafruit_bmp280)
    3. adafruit_st7735r (ne adafruit_st7735)
    4. adafruit_display_text
  4. Instalirajte ove knjižnice iz datoteke EnviroPlus-FeatherWing-1.0.zip s GiHub-a: pimoroni/EnviroPlus-FeatherWing: Verzija 1.0 u direktorij lib na CIRCUITPY:

    1. i2cdevice (ne treba se miješati s Adafruit -ovom bibliotekom i2c_device)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. igle pimoroni_fizičkog_perja
    5. pimoroni_pms5003
    6. Nemojte instalirati pimoroni_circuitpython_adapter odavde
  5. Instalirajte najnoviju knjižnicu adaptera Pimoroni CircuitPython preuzimanjem datoteke _init_.py u novostvoreni direktorij lib/pimoroni_circuitpython_adapter na CIRCUITPY.
  6. Preuzmite kombinirani primjer programa plotera u CIRCUITPY klikom na Spremi vezu kao… na plotters_combined.py
  7. Preimenujte ili izbrišite bilo koju postojeću datoteku code.py na CIRCUITPY, a zatim preimenujte plotters_combined.py u code.py. Ova se datoteka pokreće kada se prevoditelj CircuitPython pokrene ili ponovno učita.

Za ovaj vodič korištene su sljedeće verzije:

  • CircuitPython 6.0.0
  • Paket knjižnice CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Biblioteka EnviroPlus-FeatherWing Verzija 1.0
  • knjižnica pimoroni_circuitpython_adapter 9. prosinca 2020. f062036

Korak 4: Kombinirani ploter

Kombinirani ploter
Kombinirani ploter

Kombinirani ploter ima četiri ekrana:

  1. Zvuk i svjetlo.
  2. PM2,5 i PM10.
  3. Temperatura, tlak i vlaga.
  4. OX, CRVENI i NH3.

Zaslon čestica (PM) pojavljuje se samo ako je priključen Plantower PMS5003. Program provjerava prisutnost na početku i ispisuje ovu informativnu poruku ako nije povezana:

PMS5003 Vremensko ograničenje čitanja: Nije uspjelo čitanje početka bajta okvira

Vjerojatno nemate povezan pms5003, nastavljajući bez bilježenja čestica

Interval iscrtavanja postavljen je na 540 sekundi pri vrhu programa. Ovo se može prilagoditi za kontrolu brzine iscrtavanja.

Korak 5: Enviro+ igle za pero

Enviro+ igle za pero
Enviro+ igle za pero
Enviro+ igle za pero
Enviro+ igle za pero

Enviro+ FeatherWing koristi veliki broj igle Perja. Koriste se sljedeći, imena u zagradama su iz Pimoronijeve sheme imenovanja:

  • A0 (pin5) - MiCS6814 senzor plina amonijaka
  • A1 (pin6) - MiCS8614 osjetnik za smanjenje plina
  • A2 (pin7) - MiCS6814 osjetnik oksidirajućih plinova
  • A3 (pin8) - analogni mikrofon
  • A4 (pin9) - MiCS6814 omogućuje
  • D5 (pin19) - naredba za zaslon sabirnice SPI
  • D6 (pin20) - odabir čipa za zaslon SPI sabirnice
  • D9 (pin21) - pozadinsko osvjetljenje (PWM)
  • D10 (pin22) - PMS5003 omogućuje
  • D11 (pin23) - PMS5003 resetirano
  • D12 (pin24) - prekid LTR -559 (nije podržano u knjižnici CircuitPython)
  • SCK (pin11) - Sat sabirnice SPI
  • MO (pin12) - Glavni izlaz SPI sabirnice vanjski ulaz
  • MI (pin13) - master SPI sabirnice u slave out
  • RX (pin14) - PMS5003 odašiljanje (prijem preko pera)
  • TX (pin15) - prijem PMS5003 (prijenos s Feather -a)
  • SCL (pin18) - I2C sat
  • SDA (pin 17) - I2C podaci

To ostavlja A5, D2/DFU i D13 slobodnim za upotrebu.

Korak 6: Potrošnja energije

Potrošnja energije
Potrošnja energije

Potrošnja energije je unutar USB specifikacija čak i ako je priključena LiPo baterija i puni se. Upotreba je relevantnija za planiranje prelaska na baterijsko napajanje. Neka vrlo približna mjerenja struje su:

  • 100mA u stanju mirovanja, pozadinsko osvjetljenje isključeno;
  • Ploter 100mA radi, pozadinsko osvjetljenje slabo;
  • Ploter 120mA radi, pozadinsko osvjetljenje visoko.

U podatkovnom listu za Plantower PMS5003 navodi se da je struja manja od 100 mA, to bi bilo dodatak gore navedenim brojevima. Upotreba DC-DC pretvarača na Enviro+ FeatherWing-u može malo povećati ovaj broj.

Ploča Feather nRF52840 Express ima NeoPixel (RGB LED), ali razine svjetline za zadanu upotrebu kao pokazatelj stanja programa samo dodaju malu količinu potrošnji. Sama Feather ploča sama je ispod 10mA, FeatherWing je ploča koja je gladna energije.

Korak 7: Dodavanje Plantower PMS5003 osjetnika posebnih pitanja

Dodavanje Plantower PMS5003 senzora za posebne stvari
Dodavanje Plantower PMS5003 senzora za posebne stvari
Dodavanje Plantower PMS5003 senzora za posebne stvari
Dodavanje Plantower PMS5003 senzora za posebne stvari
Dodavanje Plantower PMS5003 senzora za posebne stvari
Dodavanje Plantower PMS5003 senzora za posebne stvari

Met One Instruments BAM 1020 uobičajen je prizor u cijelom svijetu za mjerenje čestica u gradovima. Postoji niz pristupačnijih uređaja, a Enviro+ FeatherWing dolazi s priključkom za Plantower PMS5003 osjetnik čestica.

Kôd knjižnice Pimoroni za ovaj senzor trenutno se čini krhkim. Jednostavno i brzo poboljšanje je hvatanje iznimki u programu. Program plotters_combined.py može se poboljšati dodavanjem ovoga pri vrhu:

uvoz pimoroni_pms5003

I zamjenom ove linije u glavnoj while petlji

# uzeti očitanja

pms_reading = pms5003.read ()

s:

# uzeti očitanja

pokušajte: pms_reading = pms5003.read () osim pimoroni_pms5003. ChecksumMismatchError: print ("pogreška kontrolne sume")

Korak 8: Idite dalje

Idući dalje
Idući dalje

Kad pokrenete Enviro+ FeatherWing, postoji nekoliko područja za istraživanje.

  • Dodavanje vanjskog osjetnika temperature. Senzor temperature u BME280 podložan je unutarnjem zagrijavanju i zagrijavanju iz obližnjih komponenti, a namijenjen je kalibriranju ostalih BME280 senzora. Vrijednost se može obraditi kako bi se pružila približna mjera temperature okolnog zraka, ali postoji mnogo pristupačnih, vrhunskih vanjskih opcija.
  • Kalibriranje senzora. Pritisak je lak koristeći vremenska promatranja ili kratkoročne prognoze (one će biti na 0 stopa nadmorske visine), ostale su teške.
  • Ispravljanje izlaza PMS5003 za relativnu vlagu. Formula je predstavljena na 8. stranici PDF -a o EPA -i: PurpleAir PM2.5 Korekcija u SAD -u i performanse tijekom događaja dima 4/2020
  • Dodavanje koda za emitiranje podataka senzora putem Bluetooth Low Energy energije na druge uređaje.
  • Istražuju kako smanjiti potrošnju energije. Neki od senzora imaju omogućene vodove, oni mogu ukloniti napajanje senzora ili ih prebaciti u način rada s niskom potrošnjom energije. Za senzore s vremenom zagrijavanja povremeno uzorkovanje možda nije praktično.
  • Kupnja, prilagodba ili izrada kućišta prikladnog za ugradnju vani s pažljivo osmišljenim unutarnjim protokom zraka i odgovarajućim mjerama opreza za izravnu sunčevu svjetlost. Senzor plina SensorTech MiCS-6814 najbolje radi s konstantnim protokom zraka niske brzine.
  • Ispitivanje kako vremenski uvjeti utječu na zagađenje na razini tla. Savjet: inverzije su značajne.
  • Pretvaranje u baterijsko napajanje ili solarno s napajanjem iz baterije. Solarna energija je izazovnija od jednostavnog dodavanja fotonaponske solarne ploče, pogledajte odjeljak Napomene o dizajnu u Adafruit Learn: USB, DC i solarni lipolni punjač.
  • Dodavanje drugih senzora za mjerenje uobičajenih zagađivača poput ozona (O3) i sumpor dioksida (SO2) ili stakleničkih plinova poput ugljičnog dioksida (CO2). Nekoliko senzora mjeri "eCO2" i nisu prikladni za mjerenje atmosferskog CO2. Adafruit sada prodaje vrijedan Sensirion SCD-30 NDIR CO2 senzor na ploči sa STEMMA QT i2c konektorima.
  • Ako želite istražiti slanje podataka putem interneta putem Wi-Fi-ja, čini se da je ploča FeatherS2 s mikrokontrolerom ESP32-S2 kompatibilna s Enviro+ FeatherWing. Postoji problematično ograničenje kod analogno-digitalnih pretvarača ESP32-S2 (ADC) koje sprječava pravilno mjerenje senzora plina. Za više informacija pogledajte Adafruit forumi: Usporedba ADC-a s perjem, uključujući 2.6V ograničeni ESP32-S2.

Povezani projekti:

  • Adafruit Learn: Usporedba i eksperimentiranje sa senzorima zapaljivih plinova
  • Adafruit Learn: TMP36 osjetnik temperature

Daljnje čitanje:

  • Smjernice Svjetske zdravstvene organizacije (WHO) o onečišćenju zraka
  • Britanska zaklada za pluća - Kvaliteta zraka (PM2,5 i NO2)
  • Breathe London-mreža koja nadopunjuje Londonsku mrežu kvalitete zraka sa "pristupačnim, lakim za ugradnju i održavanjem senzora kvalitete zraka za svakoga", koji trenutno koristi Clarity Node-S.
  • Svjetski indeks kvalitete zraka - prikuplja podatke iz mnogo različitih izvora s prikazima karata i povijesnim podacima.
  • Atmosphere Journal: Zagađenje zraka u zatvorenom prostoru sa stambenih peći: Ispitivanje poplave čestica u domove tijekom uporabe u stvarnom svijetu - ovo koristi Raspberry Pi verziju ploče Enviro+.
  • Zakonodavstvo: Propisi o standardima kvalitete zraka 2010 (UK)
  • Pimoroni Blog: Najzagađenija noć u godini (u Velikoj Britaniji)
  • The Economist: Ponoćno nebo - Poljsko grijanje kuća na ugljen stvara široko rasprostranjeno zagađenje (siječanj 2021)
  • BBC News: Prometna buka umanjuje sposobnosti pjevica (zagađenje bukom)
  • Softverske greške u biblioteci senzora čestica - pregled brige potrebne za robusnu raščlambu serijskog protokola PMS5003.