Съдържание:

Използване на Pimoroni Enviro+ FeatherWing с пера Adafruit NRF52840 Express: 8 стъпки
Използване на Pimoroni Enviro+ FeatherWing с пера Adafruit NRF52840 Express: 8 стъпки

Видео: Използване на Pimoroni Enviro+ FeatherWing с пера Adafruit NRF52840 Express: 8 стъпки

Видео: Използване на Pimoroni Enviro+ FeatherWing с пера Adafruit NRF52840 Express: 8 стъпки
Видео: Използване на глюкомер - обучение за пациенти с диабет 2024, Ноември
Anonim
Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express
Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express
Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express
Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express
Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express
Използване на Pimoroni Enviro+ FeatherWing с Adafruit Feather NRF52840 Express

Pimoroni Enviro+ FeatherWing е дъска, пълна със сензори, предназначени да работят с дъските Adafruit Feather. Това е полезно място за начало за всеки, който се интересува от мониторинг на околната среда, замърсяване на атмосферата и промяна на данните. То включва:

  • Bosch BME280 - датчик за температура, налягане, влажност;
  • Lite-On LTR-559-сензор за светлина и близост;
  • SensorTech MiCS -6814 - окисляващи газове, редуциращи газове и сензор за амоняк;
  • Аналогов микрофон - измерване на шумовото замърсяване;
  • Конектор за сензор за прахови частици Plantower PMS5003 (не е включен в комплекта).

Триото металооксидни сензори на MiCS-6814 включва по-рядко срещан сензор за окисляващи газове. Това е полезно поради неговата чувствителност към азотен диоксид (NO2), замърсител, често срещан в градовете и в близост до големи пътища.

Pimoroni препоръчват или Adafruit

  • Перо M4 Express (120MHz, 192kB ram) или
  • Перо nRF52840 Express (64MHz, 256kB ram).

NRF52840 е избран за това ръководство, тъй като поддържа Bluetooth Low Energy (BLE), който дава възможност на платката да изпраща данни към друго устройство.

Feather и FeatherWing идват с необвързани мъжки заглавки. За подреждане на дъските са необходими женски заглавки. Това ръководство показва използването на „подреждане на заглавки“, което позволява перото да се поставя и в макет, което улеснява експериментирането с допълнителни сензори. Заглавките трябва да бъдат запоени към дъските, но това е доста лесно.

Enviro+ FeatherWing има една фина разлика в сравнение със своя братовчед, Enviro+ Air Quality за Raspberry Pi. Изглежда, че версията FeatherWing е проектирана да работи с напрежение под 5V, което позволява да се използва една литиево-полимерна (LiPo) батерия, произвеждаща 3.7V-4.3V. Той има DC-DC преобразувател, който осигурява 5V за опционалния PMS5003 и може да захранва вътрешните нагреватели MiCS-6814 поотделно, за да се справи с тези по-ниски напрежения.

Основната снимка показва Enviro+ FeatherWing, показващ данните PM2.5 и PM10 от PMS5003. Мачът на Swan Vestas е ударен по средата на заговора, за да запали свещта.

Втора статия обхваща начертаване на нива на въглероден диоксид с Pimoroni Enviro+ FeatherWing и Adafruit SCD-30.

Консумативи:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (друга подобна дъска съществува за Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Пиморони | Адафрут
  • Заглавки за подреждане на пера - Pimoroni | Adafruit - могат да се използват и нормални женски заглавки или FeatherWing удвоител/тройник
  • Припой
  • По избор: Plantower PMS5003 сензор за прахови частици - Pimoroni | Адафрут

Стъпка 1: Надстройка на Bootloader

Перото може да бъде проверено преди да бъде запоено, като го свържете към компютър чрез USB. Това е полезно време за проверка на буутлоудъра - старите версии могат да причинят объркващи, но безобидни грешки в Windows.

Двойното щракване върху бутона за нулиране на перото кара устройството, наречено FTHR840BOOT, да бъде представено на хост компютъра. Файл, наречен INFO_UF2. TXT, може да бъде отворен за проверка на версията, примерът по -долу показва съдържанието, показващо версия 0.2.6:

F2 Bootloader 0.2.6 lib/nrfx (v1.1.0-1-g096e770) lib/tinyusb (legacy-525-ga1c59649) s140 6.1.1

Модел: Adafruit Feather nRF52840 Express Board-ID: NRF52-Bluefruit-v0 Буутлоудър: s140 6.1.1 Дата: 21 декември 2018 г.

Версиите преди 0.2.9 страдат от гореспоменатия бъг. Леко изпълненият процес на надграждане е описан в Adafruit Learn: Представяне на Adafruit nRF52840 Feather: Update Bootloader и обсъден във Adafruit Forums: Грешките в Windows копират CircuitPython UF2 на FTHR840BOOT.

Стъпка 2: Запояване на заглавките

Запояване на хедерите
Запояване на хедерите
Запояване на хедерите
Запояване на хедерите
Запояване на хедерите
Запояване на хедерите

Enviro+ FeatherWing се нуждае от прикрепени мъжки заглавки, а перата се нуждаят от прикрепени женски заглавки.

Често срещана техника за намиране на щифтовете в правилната позиция по време на запояване е да ги поставите в макет. Изисква се известна предпазливост при това FeatherWing, тъй като конекторът на пиклоблада от долната страна е по -висок от пластмасовите дистанционери на заглавката. Това може да доведе до неволно запояване на платката под ъгъл. Снимката по -горе показва ъгъла. Това лесно се решава чрез равномерно повдигане на заглавките с 2-3 мм (0,1 инча) от дъската.

Женските заглавки за подреждане трябва да са перпендикулярни на дъската. Това може да се постигне, като се поставят върху равна повърхност и се гарантира, че дъската от пера е притисната здраво към тях. Снимката по-горе показва натиск, който се прилага с молив с устройство за помощ на ръцете, изстреляно, което поставя тежест върху молива. Някои резервни заглавки осигуряват допълнителна помощ при поддържане на разстояние.

Информационният лист MiCS-6814 гласи:

Сензорът трябва да бъде запоен отново в неутрална атмосфера, без изпарения на потока от запояване. Сензорът не трябва да бъде изложен на високи концентрации на органични разтворители, силиконови пари или цигарен дим, за да се избегне отравяне на чувствителния слой.

Малко парче маскираща лента, покриващо сензора за газ, е мъдра предпазна мярка по време на запояване и почистване на потока. Протекторът на екрана също може да бъде оставен включен на този етап, за да се справи с неизбежните малки пръски потоци от запояване с желязо. Микрофонът също би се възползвал от защита с маскираща лента по време на всяко почистване на потока.

Дългите редове щифтове могат лесно да се огъват, когато ги извадите от макет или друг контакт. Внимавайте да не повдигате дъската нагоре в единия край.

Adafruit имат ръководство за запояване на заглавки за подреждане, Pimoroni имат общо ръководство за запояване, което включва заглавки и има хубаво видео в YouTube, показващо как да запоявате заглавки върху подобна стилова платка, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins!

Стъпка 3: Инсталиране на пример за CircuitPython и комбиниран плотер

Пример за инсталиране на CircuitPython и комбиниран плотер
Пример за инсталиране на CircuitPython и комбиниран плотер

Ако не сте запознати с CircuitPython, тогава си струва първо да прочетете ръководството Добре дошли в CircuitPython.

Стъпките за инсталиране по-долу се основават на pimoroni / EnviroPlus-FeatherWing README и ръководството „Първи стъпки“с по-късна библиотека за обслужване на CircuitPython 6.x.

  1. Инсталирайте последната версия на CircuitPython (6.0.0 през декември 2020 г.) от https://circuitpython.org/ - този процес е описан в CircuitPython за Feather nRF52840.
  2. Проверете инсталацията, като се свържете към серийната конзола през USB. Подканата REPL показва версията. Версията може да се провери и чрез проверка на boot_out.txt на устройството CIRCUITPY.
  3. Инсталирайте тези библиотеки от пакет от https://circuitpython.org/libraries в директорията lib на CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (не adafruit_bmp280)
    3. adafruit_st7735r (не adafruit_st7735)
    4. adafruit_display_text
  4. Инсталирайте тези библиотеки от файла EnviroPlus-FeatherWing-1.0.zip от GiHub: pimoroni/EnviroPlus-FeatherWing: Версия 1.0 в директорията lib на CIRCUITPY:

    1. i2cdevice (да не се бърка с библиотеката i2c_device на Adafruit)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. Не инсталирайте pimoroni_circuitpython_adapter от тук
  5. Инсталирайте най -новата библиотека на адаптери на Pimoroni CircuitPython, като изтеглите файла _init_.py в новосъздадена директория lib/pimoroni_circuitpython_adapter в CIRCUITPY.
  6. Изтеглете комбинираната примерна програма за плотер в CIRCUITPY, като щракнете върху Запазване на връзката като… на plotters_combined.py
  7. Преименувайте или изтрийте всеки съществуващ файл code.py на CIRCUITPY, след което преименувайте plotters_combined.py на code.py. Този файл се изпълнява при стартиране или презареждане на преводача на CircuitPython.

Версиите, използвани за това ръководство, бяха:

  • CircuitPython 6.0.0
  • Пакет библиотека CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Библиотека EnviroPlus-FeatherWing Версия 1.0
  • библиотека pimoroni_circuitpython_adapter 9 декември 2020 г. f062036

Стъпка 4: Комбинираният плотер

Комбинираният плотер
Комбинираният плотер

Комбинираният плотер има четири екрана:

  1. Звук и светлина.
  2. PM2.5 и PM10.
  3. Температура, налягане и влажност.
  4. OX, RED и NH3.

Екранът за прахови частици (PM) се появява само ако е прикрепен Plantower PMS5003. Програмата проверява за присъствието си в началото и отпечатва това информационно съобщение, ако не е свързано:

PMS5003 Време за изчакване за четене: Неуспешно четене на началния кадър на байт

Вероятно нямате свързан pms5003, продължавайки без регистриране на частици

Графичният интервал е зададен на 540 секунди в горната част на програмата. Това може да се регулира, за да се контролира скоростта на графика.

Стъпка 5: Enviro+ щифтове FeatherWing

Enviro+ щифтове FeatherWing
Enviro+ щифтове FeatherWing
Enviro+ щифтове FeatherWing
Enviro+ щифтове FeatherWing

Enviro+ FeatherWing използва голям брой щифтове на перата. Използват се следните, имената в скоби са от схемата за именуване на Pimoroni:

  • A0 (pin5) - сензор за амонячен газ MiCS6814
  • A1 (pin6) - сензор за редуциращ газ MiCS8614
  • A2 (pin7) - MiCS6814 сензор за окисляващ газ
  • A3 (pin8) - аналогов микрофон
  • A4 (pin9) - активиране на MiCS6814
  • D5 (pin19) - команда на екрана на SPI шината
  • D6 (pin20) - Избор на чип на екрана на SPI шината
  • D9 (pin21) - подсветка (PWM)
  • D10 (pin22) - активиране на PMS5003
  • D11 (pin23) - PMS5003 нулиране
  • D12 (pin24) - прекъсване LTR -559 (не се поддържа в библиотеката CircuitPython)
  • SCK (pin11) - SPI автобусен часовник
  • MO (pin12) - SPI bus master out slave in
  • MI (pin13) - SPI bus master в slave out
  • RX (pin14) - PMS5003 предаване (приемане от Feather)
  • TX (pin15) - PMS5003 получаване (предаване от Feather)
  • SCL (pin18) - I2C часовник
  • SDA (щифт 17) - I2C данни

Това оставя A5, D2/DFU и D13 безплатни за използване.

Стъпка 6: Консумация на енергия

Консумация на енергия
Консумация на енергия

Консумацията на енергия е в рамките на USB спецификацията, дори ако LiPo батерията е свързана и се зарежда. Използването е по -подходящо за планиране на преминаване към захранване от батерията. Някои много приблизителни измервания на тока са:

  • 100mA празен ход, подсветката е изключена;
  • 100mA плотер работи, ниска подсветка;
  • 120mA плотер работи, високо осветление.

Информационният лист за Plantower PMS5003 посочва, че токът е по -малък от 100mA, това би било в допълнение към горните числа. Използването на DC-DC конвертор на Enviro+ FeatherWing може леко да увеличи този брой.

Платката Feather nRF52840 Express има NeoPixel (RGB LED), но нивата на яркост за използването й по подразбиране като индикатор за състоянието на програмата добавят само малка сума към консумацията. Самата платка Feather е под 10mA сама по себе си, FeatherWing е гладната платка.

Стъпка 7: Добавяне на сензор за особени материи Plantower PMS5003

Добавяне на сензор за особени материи Plantower PMS5003
Добавяне на сензор за особени материи Plantower PMS5003
Добавяне на сензор за особени материи Plantower PMS5003
Добавяне на сензор за особени материи Plantower PMS5003
Добавяне на сензор за особени материи Plantower PMS5003
Добавяне на сензор за особени материи Plantower PMS5003

Met One Instruments BAM 1020 е често срещана гледка по целия свят за измерване на прахови частици в градовете. Съществуват редица по -достъпни устройства и Enviro+ FeatherWing се доставя с конектор за сензора за твърди частици Plantower PMS5003.

Кодът на библиотеката на Pimoroni за този сензор в момента изглежда крехък. Просто и бързо подобрение е да се уловят изключения в програмата. Програмата plotters_combined.py може да бъде подобрена, като добавите това в горната част:

внос pimoroni_pms5003

И замяна на този ред в основния цикъл while

# вземете показания

pms_reading = pms5003.read ()

с:

# вземете показания

опитайте: pms_reading = pms5003.read () с изключение на pimoroni_pms5003. ChecksumMismatchError: print ("грешка в контролната сума")

Стъпка 8: Отидете по -нататък

Отиваме по -нататък
Отиваме по -нататък

След като стартирате Enviro+ FeatherWing, има няколко области, които да проучите.

  • Добавяне на външен температурен сензор. Температурният сензор в BME280 е обект на вътрешно отопление и отопление от близки компоненти и е предназначен за калибриране на другите сензори BME280. Стойността може да бъде обработена, за да осигури приблизителна мярка за температурата на околния въздух, но има много достъпни, превъзходни външни опции.
  • Калибриране на сензорите. Натискът е лесен с помощта на метеорологични наблюдения или краткосрочни прогнози (те ще бъдат на 0 фута надморска височина), останалите са трудни.
  • Коригиране на изхода на PMS5003 за относителна влажност. Формула е представена на страница 8 от PDF за EPA: PurpleAir PM2.5 Корекция и ефективност на САЩ по време на събития с дим 4/2020
  • Добавяне на код за излъчване на сензорни данни по Bluetooth Low Energy към други устройства.
  • Изследване как да се сведе до минимум консумацията на енергия. Някои от сензорите имат разрешаващи линии, които могат да премахнат захранването от сензорите или да ги поставят в режим на ниска мощност. За сензори с време на загряване периодичното вземане на проби може да не е практично.
  • Купуване, адаптиране или изработване на кутия, подходяща за монтаж навън с внимателно проектиран вътрешен въздушен поток и подходящи предпазни мерки за пряка слънчева светлина. Газовият сензор SensorTech MiCS-6814 работи най-добре с постоянен, нискоскоростен въздушен поток през него.
  • Проучване как метеорологичните условия влияят на замърсяването на нивото на земята. Съвет: инверсиите са значителни.
  • Конвертиране на батерия или слънчева енергия с батерия. Слънчевата енергия е по -предизвикателна от простото добавяне на фотоволтаичен слънчев панел, вижте раздела Бележки за дизайна в Adafruit Learn: USB, DC & Solar Lipoly Charger.
  • Добавяне на други сензори за измерване на често срещани замърсители като озон (O3) и серен диоксид (SO2) или парникови газове като въглероден диоксид (CO2). Няколко сензора измерват "eCO2" и не са подходящи за измерване на атмосферния CO2. Adafruit сега продава Sensirion SCD-30 NDIR CO2 сензор с голяма стойност на дъска със конектори STEMMA QT i2c.
  • Ако искате да разследвате изпращането на данни през интернет чрез Wi-Fi, тогава платката FeatherS2 с микроконтролер ESP32-S2 изглежда е съвместима с Enviro+ FeatherWing. Съществува проблемно ограничение с аналогово-цифровите преобразуватели ESP32-S2 (ADC), което възпрепятства правилното измерване на сензорите за газ. Вижте форумите на Adafruit: Сравнение на ADC с пера, включително 2.6V ограничен ESP32-S2 за повече информация.

Свързани проекти:

  • Adafruit Learn: Сравнение и експериментиране със сензори за запалими газове
  • Adafruit Learn: Температурен сензор TMP36

Допълнителна информация:

  • Насоки на Световната здравна организация (СЗО) за замърсяване на въздуха
  • British Lung Foundation - Качество на въздуха (PM2.5 и NO2)
  • Breathe London-мрежа за допълване на Лондонската мрежа за качество на въздуха с „достъпни, лесни за инсталиране и поддържане сензори за качество на въздуха за всеки“, като в момента се използва Clarity Node-S.
  • Световен индекс за качество на въздуха - събира данни от много различни източници с изгледи на карти и исторически данни.
  • Atmosphere Journal: Замърсяване на въздуха в помещенията от жилищни печки: Изследване на наводняването на прахови частици в домове по време на използване в реални условия - това използва версията на Raspberry Pi на Enviro+.
  • Законодателство: Правилата за стандартите за качество на въздуха 2010 (Великобритания)
  • Блог Pimoroni: Най -замърсената нощ на годината (във Великобритания)
  • The Economist: Среднощно небе - Полското отопление на въглища създава широко замърсяване (януари 2021 г.)
  • BBC News: Шумът от трафика влошава способностите на пойните птици (шумово замърсяване)
  • Софтуерни грешки в библиотека със сензори за частици - поглед към грижите, необходими за стабилно анализиране на серийния протокол PMS5003.