Sadržaj:

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

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

Video: Korištenje Pimoroni Enviro+ FeatherWing s Adafruit perom NRF52840 Express: 8 koraka
Video: работа акселерометра в микроконтроллере микробит 2024, Juli
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 - senzor temperature, pritiska, vlažnosti;
  • Lite-On LTR-559-senzor svjetlosti i blizine;
  • SensorTech MiCS -6814 - oksidirajući plinovi, reducirajući plinovi i senzor amonijaka;
  • Analogni mikrofon - mjerenje zagađenja bukom;
  • Konektor za Plantower PMS5003 senzor čestica (nije uključen).

Trio metal-oksidnih senzora na MiCS-6814 uključuje manje uobičajen senzor za oksidirajuće plinove. Ovo 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

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

NRF52840 je izabran za ovaj vodič jer podržava Bluetooth Low Energy (BLE) koji daje ploči potencijal za slanje 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 umetanje ploče od perja u matičnu ploču olakšavajući eksperimentiranje s dodatnim senzorima. Zaglavlja moraju biti lemljena na ploče, ali to je prilično jednostavno.

Enviro+ FeatherWing ima jednu suptilnu razliku u poređenju sa svojim rođakom, Enviro+ kvalitetom zraka za Raspberry Pi. Čini se da je verzija FeatherWing dizajnirana za rad s naponima ispod 5V dopuštajući upotrebu jedne litij-polimerne (LiPo) baterije koja proizvodi 3.7V-4.3V. Ima DC-DC pretvarač koji daje 5V za opcionalni PMS5003 i može napajati unutarnje grijače MiCS-6814 pojedinačno za rješavanje ovih nižih napona.

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

Drugi članak pokriva crtanje nivoa ugljen-dioksida pomoću Pimoroni Enviro+ FeatherWing i Adafruit SCD-30.

Potrošni materijal:

  • 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 | Adafruit - također se mogu koristiti normalna ženska zaglavlja ili FeatherWing dupliranje/trostruko
  • Solder
  • Opciono: Plantower PMS5003 senzor čestica - Pimoroni | Adafruit

Korak 1: Nadogradnja pokretačkog programa

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

Dvostrukim pritiskom na dugme za resetiranje pera, pogonski računar će se predstaviti disk jedinica 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 navedene greš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 -u je potrebno pričvrstiti muške zaglavlje, a Feerru je potrebno priložiti ženska zaglavlja za slaganje.

Uobičajena tehnika za lociranje pinova u ispravnom položaju tijekom lemljenja je njihovo umetanje u matičnu ploču. S ovim FeatherWingom potreban je određeni oprez jer je konektor za pikladu sa donje strane viši od plastičnih odstojnika na zaglavlju. To može uzrokovati nenamjerno lemljenje ploče pod kutom. Gornja slika prikazuje ugao. 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 pernata ploča čvrsto pritisnuta na njih. Gornja slika prikazuje pritisak koji se vrši 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 mora biti ponovno lemljen u neutralnoj atmosferi, bez isparenja fluksa lemljenja. Senzor ne smije biti izložen visokim koncentracijama organskih otapala, para silikona ili dima cigarete kako bi se izbjeglo trovanje osjetljivog sloja.

Mali komad maskirne trake koji prekriva senzor plina mudra je mjera opreza tokom lemljenja i čišćenja fluksa. Zaštita ekrana se također može ostaviti uključena u ovoj fazi kako bi se nosila s neizbježnim sitnim prskanjem fluksa od lemljenja peglom. Mikrofon bi također imao koristi od zaštite maskirnom trakom tokom 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 prema gore s jednog kraja.

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

Korak 3: Instaliranje primjera CircuitPythona i kombiniranog plotera

Primjer CircuitPythona i kombiniranog plotera
Primjer CircuitPythona i kombiniranog plotera

Ako niste upoznati sa 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 decembru 2020.) sa https://circuitpython.org/ - ovaj proces je opisan u CircuitPython za Feather nRF52840.
  2. Provjerite instalaciju povezivanjem na serijsku konzolu putem USB -a. Odzivnik REPL prikazuje verziju. Verziju možete provjeriti i pregledom boot_out.txt na pogonu CIRCUITPY.
  3. Instalirajte ove biblioteke iz paketa sa https://circuitpython.org/libraries u lib direktorij 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 biblioteke iz datoteke EnviroPlus-FeatherWing-1.0.zip sa GiHub-a: pimoroni/EnviroPlus-FeatherWing: Verzija 1.0 u direktorij lib na CIRCUITPY:

    1. i2cdevice (ne treba se miješati s Adafruit -ovom i2c_device bibliotekom)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Nemojte instalirati pimoroni_circuitpython_adapter odavde
  5. Instalirajte najnoviju biblioteku adaptera Pimoroni CircuitPython preuzimanjem datoteke _init_.py u novostvoreni direktorij lib/pimoroni_circuitpython_adapter na CIRCUITPY.
  6. Preuzmite primjer programa kombiniranog 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 datoteka se pokreće kada se prevoditelj CircuitPython pokrene ili ponovo učita.

Verzije korištene za ovaj vodič bile su:

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

Korak 4: Kombinovani ploter

Kombinovani ploter
Kombinovani ploter

Kombinovani ploter ima četiri ekrana:

  1. Zvuk i svjetlo.
  2. PM2.5 i PM10.
  3. Temperatura, pritisak i vlažnost.
  4. OX, RED i NH3.

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

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

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

Interval crtanja 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 za pero. Koriste se sljedeći, imena u zagradama su iz Pimoronijeve sheme imenovanja:

  • A0 (pin5) - MiCS6814 senzor plina amonijaka
  • A1 (pin6) - MiCS8614 senzor za smanjenje plina
  • A2 (pin7) - MiCS6814 senzor oksidirajućeg plina
  • A3 (pin8) - analogni mikrofon
  • A4 (pin9) - MiCS6814 omogućavanje
  • D5 (pin19) - Naredba zaslona SPI sabirnice
  • D6 (pin20) - odabir čipa na ekranu SPI sabirnice
  • D9 (pin21) - pozadinsko osvjetljenje (PWM)
  • D10 (pin22) - PMS5003 omogućeno
  • D11 (pin23) - PMS5003 resetirano
  • D12 (pin24) - prekid LTR -559 (nije podržano u biblioteci CircuitPython)
  • SCK (pin11) - Sat sabirnice SPI
  • MO (pin12) - SPI master master out slave ulaz
  • MI (pin13) - master SPI sabirnice u pomoćnom izlazu
  • RX (pin14) - PMS5003 odašiljanje (prijem preko pera)
  • TX (pin15) - prijem PMS5003 (prenos od Feather -a)
  • SCL (pin18) - I2C sat
  • SDA (pin 17) - I2C podaci

Ovo ostavlja A5, D2/DFU i D13 besplatnim 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 mirovanju, pozadinsko osvetljenje isključeno;
  • 100mA kater radi, pozadinsko osvjetljenje slabo;
  • Crtač 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 nivoi svjetline za zadanu upotrebu kao indikator 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 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
Dodavanje Plantower PMS5003 senzora za posebne stvari

Met One Instruments BAM 1020 uobičajen je prizor širom svijeta za mjerenje čestica u gradovima. Postoji niz pristupačnijih uređaja, a Enviro+ FeatherWing dolazi s konektorom za Plantower PMS5003 senzor čestica.

Kôd biblioteke Pimoroni za ovaj senzor trenutno se čini krhkim. Jednostavno i brzo poboljšanje je hvatanje izuzetaka u programu. Program plotters_combined.py može se poboljšati dodavanjem ovoga na vrh:

import pimoroni_pms5003

I zamjenom ove linije u glavnoj while petlji

# uzeti čitanja

pms_reading = pms5003.read ()

sa:

# uzeti čitanja

pokušajte: pms_reading = pms5003.read () osim pimoroni_pms5003. ChecksumMismatchError: print ("error error error")

Korak 8: Idite dalje

Idemo dalje
Idemo dalje

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

  • Dodavanje vanjskog senzora temperature. Senzor temperature u BME280 podložan je unutrašnjem zagrijavanju i grijanju iz obližnjih komponenti, a namjeravan je za kalibraciju 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.
  • Kalibracija senzora. Pritisak je lak koristeći meteorološke opservacije ili kratkoročne prognoze (one će biti na 0 ft nmv), ostale su teške.
  • Ispravljanje izlaza PMS5003 za relativnu vlažnost. Formula je predstavljena na 8. stranici PDF -a o EPA -i: PurpleAir PM2.5 Američka korekcija i performanse tokom 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 režim niske potrošnje energije. Za senzore s vremenom zagrijavanja periodično uzorkovanje možda nije praktično.
  • Kupujete, prilagođavate ili pravite kućište prikladno za montažu vani s pažljivo osmišljenim unutrašnjim protokom zraka i odgovarajućim mjerama predostrožnosti za direktnu sunčevu svjetlost. Senzor plina SensorTech MiCS-6814 najbolje radi s konstantnim protokom zraka niske brzine.
  • Ispitivanje kako vremenski uslovi utiču na zagađenje na nivou tla. Savjet: inverzije su značajne.
  • Pretvaranje u baterijsko napajanje ili solarno napajanje iz baterije. Solarna energija je veći izazov nego jednostavno dodavanje fotonaponskih solarnih panela, 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 Sensirion SCD-30 NDIR CO2 senzor velike vrijednosti 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 ESP32-S2 analogno-digitalnih pretvarača (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 senzor temperature

Dalje čitanje:

  • Smjernice Svjetske zdravstvene organizacije (WHO) za zagađivanje zraka
  • Britanska fondacija za pluća - Kvalitet vazduha (PM2.5 i NO2)
  • Breathe London-mreža koja nadopunjuje Londonsku mrežu kvalitete zraka sa "pristupačnim, lakim za ugradnju i održavanje 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 poplava čestica u domove tokom upotrebe u stvarnom svijetu - ovo koristi Raspberry Pi verziju ploče Enviro+.
  • Zakonodavstvo: Propisi o standardima kvaliteta vazduha 2010 (UK)
  • Pimoroni Blog: Najzagađenija noć u godini (u Velikoj Britaniji)
  • The Economist: Ponoćno nebo - Poljsko grijanje kuća na ugalj stvara široko rasprostranjeno zagađenje (januar 2021)
  • BBC News: Saobraćajna buka umanjuje sposobnosti ptica pevačica (zagađenje bukom)
  • Softverske greške u biblioteci senzora čestica - pregled pažnje potrebne za robusnu raščlanjivanje serijskog protokola PMS5003.