Isi kandungan:

Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express: 8 Langkah
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express: 8 Langkah

Video: Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express: 8 Langkah

Video: Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express: 8 Langkah
Video: Обновление Maker #211: Besties 2020 #Adafruit #Making #MakerUpdate @Adafruit 2024, Julai
Anonim
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express
Menggunakan Pimoroni Enviro + FeatherWing With Adafruit Feather NRF52840 Express

Pimoroni Enviro + FeatherWing adalah papan yang dipenuhi dengan sensor yang dirancang untuk berfungsi dengan siri papan Adafruit Feather. Ini adalah tempat yang berguna untuk memulakan bagi sesiapa yang berminat dalam pemantauan alam sekitar, pencemaran atmosfera dan pemetaan data. Ia mempunyai:

  • Bosch BME280 - sensor suhu, tekanan, kelembapan;
  • Lite-On LTR-559 - sensor cahaya dan jarak;
  • SensorTech MiCS-6814 - gas pengoksidaan, gas pengurangan dan sensor ammonia;
  • Mikrofon analog - mengukur pencemaran bunyi;
  • Penyambung untuk sensor zarah partikel Plantower PMS5003 (tidak termasuk).

Ketiga sensor logam-oksida pada MiCS-6814 merangkumi sensor yang kurang biasa untuk gas pengoksidaan. Ini berguna kerana kepekaannya terhadap nitrogen dioksida (NO2), bahan pencemar yang biasa berlaku di bandar dan berhampiran jalan raya utama.

Pimoroni mengesyorkan sama ada Adafruit

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

NRF52840 dipilih untuk panduan ini kerana ia menyokong Tenaga Rendah Bluetooth (BLE) yang memberi papan potensi untuk mengirim data ke perangkat lain.

Feather dan FeatherWing keduanya dilengkapi dengan header lelaki yang tidak dilampirkan. Header wanita dikehendaki meletakkan papan. Panduan ini menunjukkan penggunaan "stacking header" yang membolehkan papan Feather juga dimasukkan ke dalam papan roti yang memudahkan percubaan dengan sensor tambahan. Tajuk perlu disolder ke papan tetapi ini cukup mudah.

Enviro + FeatherWing mempunyai satu perbezaan yang halus dibandingkan dengan sepupunya, Enviro + Air Quality untuk Raspberry Pi. Versi FeatherWing nampaknya dirancang untuk berfungsi dengan voltan di bawah 5V yang membolehkan bateri polimer litium tunggal (LiPo) yang menghasilkan 3.7V-4.3V digunakan. Ia mempunyai penukar DC-DC untuk menyediakan 5V untuk PMS5003 pilihan dan mungkin memberi kuasa kepada pemanas dalaman MiCS-6814 secara berasingan untuk menangani voltan yang lebih rendah ini.

Gambar utama menunjukkan Enviro + FeatherWing memaparkan data PM2.5 dan PM10 dari PMS5003. Pertandingan Swan Vestas telah dilancarkan separuh jalan untuk menyalakan lilin.

Artikel kedua merangkumi Memaparkan Tahap Karbon Dioksida Dengan Pimoroni Enviro + FeatherWing dan Adafruit SCD-30.

Bekalan:

  • Pimoroni Enviro + FeatherWing - Pimoroni | Adafruit - (papan lain yang serupa ada untuk Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • Tajuk Penumpukan Bulu - Pimoroni | Adafruit - header wanita normal atau pengganda / tripler FeatherWing juga dapat digunakan
  • Pateri
  • Pilihan: Sensor bahan zarah penanam PMS5003 - Pimoroni | Adafruit

Langkah 1: Meningkatkan Bootloader

Papan Feather dapat diperiksa sebelum dipateri dengan menyambungkannya ke komputer menggunakan USB. Ini adalah masa yang berguna untuk memeriksa bootloader - versi lama dapat menghasilkan kesalahan yang membingungkan tetapi tidak berbahaya pada Windows.

Mengklik dua kali butang reset Feather menyebabkan pemacu yang bernama FTHR840BOOT dipersembahkan ke komputer hos. Fail bernama INFO_UF2. TXT dapat dibuka untuk memeriksa versi, contoh di bawah menunjukkan kandungan yang menunjukkan versi 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 Tarikh: 21 Dis 2018

Versi sebelum 0.2.9 mengalami bug yang disebutkan di atas. Proses penambahbaikan yang sedikit digambarkan dalam Adafruit Learn: Memperkenalkan Adafruit nRF52840 Feather: Update Bootloader dan dibincangkan di Adafruit Forum: Kesalahan Windows menyalin CircuitPython UF2 ke FTHR840BOOT.

Langkah 2: Memateri Tajuk

Memateri Tajuk
Memateri Tajuk
Memateri Tajuk
Memateri Tajuk
Memateri Tajuk
Memateri Tajuk

Enviro + FeatherWing memerlukan header lelaki dilampirkan dan Feather memerlukan header wanita susun terpasang.

Teknik biasa untuk meletakkan pin pada kedudukan yang betul semasa menyolder adalah memasukkannya ke papan roti. Berhati-hati dengan FeatherWing ini kerana penyambung picoblade di bahagian bawah lebih tinggi daripada spacer plastik pada header. Ini boleh menyebabkan papan tidak disolder secara tidak sengaja pada sudut. Gambar di atas menunjukkan sudut. Ini dapat diselesaikan dengan mudah dengan menaikkan tajuk secara seragam dengan jarak 2-3mm (0.1in) dari papan roti.

Header wanita yang bertumpuk mestilah tegak lurus ke papan. Ini dapat dicapai dengan meletakkannya di permukaan rata dan memastikan papan Feather ditekan dengan kuat ke atasnya. Gambar di atas menunjukkan tekanan diberikan dengan pensil dengan alat bantu tangan yang keluar dari pukulan meletakkan berat pada pensil. Beberapa header ganti memberikan bantuan tambahan dalam menjaga jarak.

Lembar data MiCS-6814 menyatakan:

Sensor mesti disolder reflow dalam suasana netral, tanpa memateri wap fluks. Sensor tidak boleh terdedah kepada kepekatan pelarut organik, wap silikon atau asap rokok yang tinggi untuk mengelakkan keracunan lapisan sensitif.

Sekeping pita pelindung kecil yang menutupi sensor gas adalah langkah berjaga-jaga semasa pematerian dan pembersihan fluks. Pelindung skrin juga dapat dibiarkan pada tahap ini untuk mengatasi percikan kecil yang tidak dapat dielakkan dari pematerian dengan besi. Mikrofon juga akan mendapat perlindungan dari pita pelindung semasa pembersihan fluks.

Baris pin yang panjang dapat dengan mudah ditekuk ketika mengeluarkannya dari papan roti atau soket lain. Berhati-hatilah untuk mengelakkan dari mengangkat papan pada satu hujung.

Adafruit mempunyai panduan untuk menyolder header susun, Pimoroni mempunyai panduan solder umum yang merangkumi header dan ada video yang bagus di YouTube yang menunjukkan cara menyolder header ke papan gaya yang serupa, GurgleApps: Naik Taraf Raspberry Pi Pico1 - Pin Pin Header Snazzy!

Langkah 3: Memasang Contoh CircuitPython dan Combined Plotter

Memasang Contoh CircuitPython dan Combined Plotter
Memasang Contoh CircuitPython dan Combined Plotter

Sekiranya anda tidak biasa dengan CircuitPython maka perlu membaca panduan Welcome to CircuitPython terlebih dahulu.

Langkah pemasangan di bawah adalah berdasarkan pimoroni / EnviroPlus-FeatherWing README dan panduan Bermula dengan perpustakaan kemudian untuk memenuhi CircuitPython 6.x.

  1. Pasang versi terbaru CircuitPython (6.0.0 pada Disember 2020) dari https://circuitpython.org/ - proses ini dijelaskan dalam CircuitPython for Feather nRF52840.
  2. Sahkan pemasangan dengan menyambung ke konsol bersiri melalui USB. Gesaan REPL menunjukkan versi. Versi juga boleh diperiksa dengan memeriksa boot_out.txt pada pemacu CIRCUITPY.
  3. Pasang perpustakaan ini dari kumpulan dari https://circuitpython.org/libraries ke dalam direktori lib di CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (bukan adafruit_bmp280)
    3. adafruit_st7735r (bukan adafruit_st7735)
    4. adafruit_display_text
  4. Pasang perpustakaan ini dari fail EnviroPlus-FeatherWing-1.0.zip dari GiHub: pimoroni / EnviroPlus-FeatherWing: Versi 1.0 ke dalam direktori lib pada CIRCUITPY:

    1. i2cdevice (tidak boleh dikelirukan dengan perpustakaan i2c_device Adafruit)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Jangan pasang pimoroni_circuitpython_adapter dari sini
  5. Pasang pustaka penyesuai Pimoroni CircuitPython terkini dengan memuat turun fail _init_.py ke dalam direktori lib / pimoroni_circuitpython_adapter yang baru dibuat di CIRCUITPY.
  6. Muat turun program contoh plotter gabungan ke CIRCUITPY dengan mengklik Simpan pautan sebagai… di plotters_combined.py
  7. Ganti nama atau hapus fail code.py yang ada pada CIRCUITPY, kemudian namakan semula plotters_combined.py menjadi code.py. Fail ini dijalankan semasa jurubahasa CircuitPython dimulakan atau dimuat semula.

Versi yang digunakan untuk panduan ini adalah:

  • CircuitPython 6.0.0
  • Paket perpustakaan CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Perpustakaan EnviroPlus-FeatherWing Versi 1.0
  • pimoroni_circuitpython_adapter library 9-Dec-2020 f062036

Langkah 4: Plotter Gabungan

The Plotter Gabungan
The Plotter Gabungan

Penyusun gabungan mempunyai empat skrin:

  1. Suara dan Cahaya.
  2. PM2.5 dan PM10.
  3. Suhu, tekanan dan kelembapan.
  4. OX, MERAH dan NH3.

Skrin zarah zarah (PM) hanya muncul jika Plantower PMS5003 terpasang. Program ini memeriksa keberadaannya pada awal dan mencetak mesej maklumat ini jika tidak disambungkan:

Batas Waktu Baca PMS5003: Gagal membaca permulaan bait bingkai

Anda mungkin tidak mempunyai pms5003 yang disambungkan, berterusan tanpa penebangan partikulat

Selang plot ditetapkan kepada 540 saat di bahagian atas program. Ini dapat disesuaikan untuk mengawal kadar plot.

Langkah 5: Pin Enviro + FeatherWing

Pin Enviro + FeatherWing
Pin Enviro + FeatherWing
Pin Enviro + FeatherWing
Pin Enviro + FeatherWing

Enviro + FeatherWing menggunakan sebilangan besar pin Feather. Berikut ini digunakan, nama dalam tanda kurung berasal dari skema penamaan Pimoroni:

  • A0 (pin5) - Sensor gas amonia MiCS6814
  • A1 (pin6) - Sensor gas pengurangan MiCS8614
  • A2 (pin7) - Sensor gas pengoksidaan MiCS6814
  • A3 (pin8) - mikrofon analog
  • A4 (pin9) - MiCS6814 aktifkan
  • D5 (pin19) - Perintah skrin bas SPI
  • D6 (pin20) - pilih cip skrin bas SPI
  • D9 (pin21) - lampu latar (PWM)
  • D10 (pin22) - PMS5003 mengaktifkan
  • D11 (pin23) - Tetapkan semula PMS5003
  • D12 (pin24) - gangguan LTR-559 (tidak disokong di perpustakaan CircuitPython)
  • SCK (pin11) - Jam bas SPI
  • MO (pin12) - Bas SPI menguasai budak masuk
  • MI (pin13) - Master bas SPI di budak keluar
  • RX (pin14) - penghantaran PMS5003 (terima oleh Feather)
  • TX (pin15) - PMS5003 menerima (menghantar dari Feather)
  • SCL (pin18) - Jam I2C
  • SDA (pin 17) - Data I2C

Ini membiarkan A5, D2 / DFU dan D13 percuma untuk digunakan.

Langkah 6: Penggunaan Tenaga

Penggunaan kuasa
Penggunaan kuasa

Penggunaan kuasa berada dalam spesifikasi USB walaupun bateri LiPo terpasang dan sedang dicas semula. Penggunaannya lebih relevan untuk merancang pemindahan tenaga bateri. Beberapa pengukuran arus yang sangat hampir adalah:

  • 100mA terbiar, lampu latar mati;
  • 100mA plotter berjalan, lampu belakang rendah;
  • 120mA plotter berjalan, lampu belakang tinggi.

Lembar data untuk Plantower PMS5003 menyatakan arus kurang dari 100mA, ini adalah tambahan untuk nombor di atas. Penggunaan penukar DC-DC pada Enviro + FeatherWing dapat meningkatkan jumlah ini sedikit.

Papan Feather nRF52840 Express mempunyai NeoPixel (RGB LED) tetapi tahap kecerahan untuk penggunaan lalai sebagai petunjuk keadaan program hanya menambahkan sedikit penggunaannya. Papan Feather sendiri berada di bawah 10mA sendiri, FeatherWing adalah papan yang lapar.

Langkah 7: Menambah Sensor Matrik Tertumpu Plantower PMS5003

Menambah Sensor Perkara Terutama Plantower PMS5003
Menambah Sensor Perkara Terutama Plantower PMS5003
Menambah Sensor Perkara Terutama Plantower PMS5003
Menambah Sensor Perkara Terutama Plantower PMS5003
Menambah Sensor Perkara Terutama Plantower PMS5003
Menambah Sensor Perkara Terutama Plantower PMS5003

Met One Instruments BAM 1020 adalah pemandangan umum di seluruh dunia yang mengukur zarah di bandar. Terdapat pelbagai peranti yang lebih berpatutan dan Enviro + FeatherWing dilengkapi dengan penyambung untuk sensor zarah partikel Plantower PMS5003.

Kod perpustakaan Pimoroni untuk sensor ini pada masa ini kelihatan rapuh. Penambahbaikan yang mudah dan cepat adalah dengan mendapatkan pengecualian dalam program ini. Program plotters_combined.py dapat diperbaiki dengan menambahkannya di bahagian atas:

import pimoroni_pms5003

Dan menggantikan garisan ini di gelung utama sementara

# ambil bacaan

pms_reading = pms5003.read ()

dengan:

# ambil bacaan

cuba: pms_reading = pms5003.read () kecuali pimoroni_pms5003. ChecksumMismatchError: print ("checksum error")

Langkah 8: Melangkah Lebih Lanjut

Melangkah Lebih Lanjut
Melangkah Lebih Lanjut

Terdapat sebilangan bidang yang harus dijelajahi setelah Enviro + FeatherWing berjalan.

  • Menambah sensor suhu luaran. Sensor suhu di BME280 tertakluk kepada pemanasan dalaman dan pemanasan dari komponen berdekatan dan bertujuan untuk menentukur sensor BME280 yang lain. Nilainya dapat diproses untuk memberikan ukuran anggaran suhu udara sekitar tetapi terdapat banyak pilihan luaran yang berpatutan dan unggul.
  • Menentukur sensor. Tekanan mudah menggunakan pemerhatian cuaca atau ramalan jangka pendek (ini akan berada pada 0 kaki amsl), selebihnya sukar.
  • Membetulkan output PMS5003 untuk kelembapan relatif. Satu formula dibentangkan di halaman 8 PDF pada EPA: Pembetulan dan Prestasi A. S. PurpleAir PM2.5 A. S semasa Acara Asap 4/2020
  • Menambah kod untuk menyiarkan data sensor melalui Tenaga Rendah Bluetooth ke peranti lain.
  • Menyiasat bagaimana meminimumkan penggunaan tenaga. Sebilangan sensor mempunyai talian pengaktifan, ini mungkin mengeluarkan kuasa dari sensor atau memasukkannya ke mod kuasa rendah. Bagi sensor dengan masa pemanasan, pengambilan sampel secara berkala mungkin tidak praktikal.
  • Membeli, menyesuaikan atau membuat casing yang sesuai untuk dipasang di luar dengan aliran udara dalaman yang dirancang dengan teliti dan langkah berjaga-jaga yang sesuai untuk cahaya matahari langsung. Sensor gas SensorTech MiCS-6814 berfungsi paling baik dengan aliran udara yang tetap dan rendah di seberang itu.
  • Meneliti bagaimana keadaan cuaca mempengaruhi pencemaran di permukaan tanah. Petunjuk: penyongsangan adalah ketara.
  • Menukar tenaga bateri atau solar dengan kuasa bateri. Tenaga suria lebih mencabar daripada hanya menambahkan panel solar fotovoltaik, lihat bahagian Nota Reka Bentuk di Adafruit Learn: USB, DC & Solar Lipoly Charger.
  • Menambah sensor lain untuk mengukur pencemaran biasa seperti Ozon (O3) dan sulfur dioksida (SO2) atau gas rumah hijau seperti karbon dioksida (CO2). Beberapa sensor mengukur "eCO2" dan tidak sesuai untuk mengukur CO2 atmosfera. Adafruit kini menjual sensor Sensirion SCD-30 NDIR CO2 bernilai hebat di papan dengan penyambung STEMMA QT i2c.
  • Sekiranya anda ingin menyiasat pengiriman data melalui Internet menggunakan Wi-Fi maka papan FeatherS2 dengan mikrokontroler ESP32-S2 nampaknya sesuai dengan Enviro + FeatherWing. Terdapat batasan bermasalah dengan analog ESP32-S2 kepada penukar digital (ADC) yang menghalang pengukuran sensor gas dengan betul. Lihat Forum Adafruit: Perbandingan ADC bulu termasuk ESP32-S2 terhad 2.6V untuk maklumat lebih lanjut.

Projek berkaitan:

  • Belajar Adafruit: Perbandingan dan Eksperimen dengan Sensor Gas Mudah Terbakar
  • Belajar Adafruit: Sensor Suhu TMP36

Bacaan lanjut:

  • Garis Panduan Pencemaran Udara Pertubuhan Kesihatan Sedunia (WHO)
  • British Lung Foundation - Kualiti Udara (PM2.5 dan NO2)
  • Breathe London - rangkaian untuk melengkapkan Rangkaian Kualiti Udara London dengan "sensor kualiti udara yang berpatutan, mudah dipasang dan dikekalkan kepada sesiapa sahaja", yang kini menggunakan Clarity Node-S.
  • Indeks Kualiti Udara Dunia - mengumpulkan data dari banyak sumber yang berbeza dengan pandangan peta dan data sejarah.
  • Jurnal Suasana: Pencemaran Udara Dalaman dari Kompor Kediaman: Memeriksa Banjir Bahan Partikulat ke Rumah semasa Penggunaan Dunia Nyata - ini menggunakan versi Raspberry Pi dari papan Enviro +.
  • Perundangan: Peraturan Piawaian Kualiti Udara 2010 (UK)
  • Blog Pimoroni: Malam Paling Cemerlang Tahun Ini (di UK)
  • The Economist: Midnight sky - Pemanasan rumah dengan arang batu di Poland menimbulkan pencemaran yang meluas (Januari 2021)
  • Berita BBC: Kebisingan lalu lintas merosakkan kemampuan burung penyanyi (pencemaran bunyi)
  • Bug Perisian di Perpustakaan Sensor Matrik Partikulat - melihat penjagaan yang diperlukan untuk menguraikan protokol bersiri PMS5003 dengan kuat.