Table des matières:

Utiliser le Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express : 8 étapes
Utiliser le Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express : 8 étapes

Vidéo: Utiliser le Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express : 8 étapes

Vidéo: Utiliser le Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express : 8 étapes
Vidéo: Pirate Radio 0x00 - Raspberry Pi Pico software support - where we're at! 2024, Juillet
Anonim
Utilisation du Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express
Utilisation du Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express
Utilisation du Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express
Utilisation du Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express
Utilisation du Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express
Utilisation du Pimoroni Enviro+ FeatherWing avec le Adafruit Feather NRF52840 Express

La Pimoroni Enviro+ FeatherWing est une carte remplie de capteurs conçus pour fonctionner avec la série de cartes Adafruit Feather. C'est un point de départ utile pour quiconque s'intéresse à la surveillance de l'environnement, à la pollution atmosphérique et à la collecte de données. Il comporte:

  • Bosch BME280 - capteur de température, pression, humidité;
  • Lite-On LTR-559 - capteur de lumière et de proximité;
  • SensorTech MiCS-6814 - gaz oxydants, gaz réducteurs et capteur d'ammoniac;
  • Microphone analogique - mesure de la pollution sonore;
  • Connecteur pour capteur de particules Plantower PMS5003 (non inclus).

Le trio de capteurs à oxyde métallique du MiCS-6814 comprend un capteur moins courant pour les gaz oxydants. Ceci est utile pour sa sensibilité au dioxyde d'azote (NO2), un polluant commun dans les villes et à proximité des grands axes routiers.

Pimoroni recommande soit l'Adafruit

  • Feather M4 Express (120 MHz, 192 Ko de RAM) ou
  • Plume nRF52840 Express (64 MHz, 256 Ko de RAM).

Le nRF52840 a été choisi pour ce guide car il prend en charge Bluetooth Low Energy (BLE), ce qui donne à la carte la possibilité d'envoyer des données à un autre appareil.

Le Feather et le FeatherWing sont tous deux livrés avec des en-têtes mâles non attachés. Des en-têtes femelles sont nécessaires pour empiler les planches. Ce guide montre l'utilisation d'"en-têtes d'empilage" qui permettent à la carte Feather d'être également insérée dans une planche à pain facilitant l'expérimentation avec des capteurs supplémentaires. Les en-têtes doivent être soudés aux cartes, mais c'est assez simple.

L'Enviro+ FeatherWing a une différence subtile par rapport à son cousin, l'Enviro+ Air Quality pour Raspberry Pi. La version FeatherWing semble être conçue pour fonctionner avec des tensions inférieures à 5V, ce qui permet d'utiliser une seule batterie lithium-polymère (LiPo) produisant 3,7V-4,3V. Il dispose d'un convertisseur CC-CC pour fournir 5 V au PMS5003 en option et il peut alimenter les réchauffeurs internes MiCS-6814 individuellement pour faire face à ces tensions plus basses.

L'image principale montre l'Enviro+ FeatherWing affichant les données PM2.5 et PM10 du PMS5003. Un match Swan Vestas a été frappé à mi-chemin du complot pour allumer la bougie.

Un deuxième article couvre le traçage des niveaux de dioxyde de carbone avec le Pimoroni Enviro + FeatherWing et Adafruit SCD-30.

Fournitures:

  • Pimoroni Enviro+ FeatherWing - Pimoroni | Adafruit - (une autre carte similaire existe pour le Raspberry Pi)
  • Adafruit nRF52840 Feather Express - Pimoroni | Adafruit
  • En-têtes empilables à plumes - Pimoroni | Adafruit - des en-têtes femelles normaux ou un doubleur / tripleur FeatherWing pourraient également être utilisés
  • Souder
  • En option: Capteur de particules Plantower PMS5003 - Pimoroni | Adafruit

Étape 1: mise à niveau du chargeur de démarrage

La carte Feather peut être vérifiée avant d'être soudée en la connectant à un ordinateur via USB. C'est un moment utile pour vérifier le chargeur de démarrage - les anciennes versions peuvent produire des erreurs déroutantes mais inoffensives sous Windows.

En double-cliquant sur le bouton de réinitialisation de Feather, un lecteur appelé FTHR840BOOT est présenté à l'ordinateur hôte. Un fichier appelé INFO_UF2. TXT peut être ouvert pour inspecter la version, l'exemple ci-dessous montre le contenu indiquant la version 0.2.6:

Chargeur de démarrage F2 0.2.6 lib/nrfx (v1.1.0-1-g096e770) lib/tinyusb (legacy-525-ga1c59649) s140 6.1.1

Modèle: Adafruit Feather nRF52840 Express Board-ID: NRF52-Bluefruit-v0 Bootloader: s140 6.1.1 Date: 21 décembre 2018

Les versions antérieures à la 0.2.9 souffrent du bogue susmentionné. Le processus de mise à niveau légèrement fastidieux est décrit dans Adafruit Learn: Présentation de la plume Adafruit nRF52840: Update Bootloader et discuté dans les forums Adafruit: les erreurs Windows copient CircuitPython UF2 vers FTHR840BOOT.

Étape 2: Souder les en-têtes

Souder les en-têtes
Souder les en-têtes
Souder les en-têtes
Souder les en-têtes
Souder les en-têtes
Souder les en-têtes

L'Enviro+ FeatherWing a besoin de ses en-têtes mâles attachés et le Feather a besoin des en-têtes femelles empilables attachés.

Une technique courante pour localiser les broches dans la bonne position lors de la soudure consiste à les insérer dans une maquette. Une certaine prudence est requise avec ce FeatherWing car le connecteur picoblade sur le dessous est plus grand que les entretoises en plastique sur l'en-tête. Cela pourrait entraîner la soudure involontaire de la carte à un angle. L'image ci-dessus montre l'angle. Ceci est facilement résolu en élevant uniformément les en-têtes de 2-3 mm (0,1 pouce) de la planche à pain.

Les en-têtes femelles d'empilage doivent être perpendiculaires à la carte. Ceci peut être réalisé en les plaçant sur une surface plane et en s'assurant que le panneau Feather est fermement pressé contre eux. L'image ci-dessus montre une pression appliquée avec un crayon avec un dispositif d'aide à la main hors de portée mettant du poids sur le crayon. Certains en-têtes de rechange fournissent une aide supplémentaire pour maintenir l'espacement.

La fiche technique MiCS-6814 indique:

Le capteur doit être soudé par refusion en atmosphère neutre, sans vapeurs de flux de soudure. Le capteur ne doit pas être exposé à de fortes concentrations de solvants organiques, de vapeurs de silicone ou de fumée de cigarette afin d'éviter d'empoisonner la couche sensible.

Un petit morceau de ruban adhésif recouvrant le capteur de gaz est une sage précaution lors du soudage et du nettoyage du flux. Le protecteur d'écran peut également être laissé en place à ce stade pour faire face aux inévitables minuscules éclaboussures de flux de soudure avec un fer à repasser. Le microphone bénéficierait également d'une protection avec du ruban adhésif lors de tout nettoyage de flux.

Les longues rangées de broches peuvent être facilement pliées lors de leur retrait d'une planche à pain ou d'une autre prise. Veillez à ne pas soulever la planche à une extrémité.

Adafruit a un guide sur la soudure des en-têtes d'empilage, Pimoroni a un guide de soudure général qui comprend des en-têtes et il y a une belle vidéo sur YouTube montrant comment souder des en-têtes sur une carte de style similaire, GurgleApps: Raspberry Pi Pico Upgrade Number1 - Snazzy Header Pins !

Étape 3: Installation de CircuitPython et exemple de traceur combiné

Exemple d'installation de CircuitPython et de traceur combiné
Exemple d'installation de CircuitPython et de traceur combiné

Si vous n'êtes pas familier avec CircuitPython, il vaut la peine de lire d'abord le guide Bienvenue dans CircuitPython.

Les étapes d'installation ci-dessous sont basées sur le fichier README pimoroni / EnviroPlus-FeatherWing et le guide de démarrage avec une bibliothèque ultérieure pour prendre en charge CircuitPython 6.x.

  1. Installez la dernière version de CircuitPython (6.0.0 en décembre 2020) à partir de https://circuitpython.org/ - ce processus est décrit dans CircuitPython pour Feather nRF52840.
  2. Vérifiez l'installation en vous connectant à la console série via USB. L'invite REPL affiche la version. La version peut également être vérifiée en inspectant boot_out.txt sur le lecteur CIRCUITPY.
  3. Installez ces bibliothèques à partir d'un bundle de https://circuitpython.org/libraries dans le répertoire lib sur CIRCUITPY:

    1. adafruit_bus_device
    2. adafruit_bme280 (pas adafruit_bmp280)
    3. adafruit_st7735r (pas adafruit_st7735)
    4. adafruit_display_text
  4. Installez ces bibliothèques à partir du fichier EnviroPlus-FeatherWing-1.0.zip de GiHub: pimoroni/EnviroPlus-FeatherWing: Version 1.0 dans le répertoire lib sur CIRCUITPY:

    1. i2cdevice (à ne pas confondre avec la bibliothèque i2c_device d'Adafruit)
    2. pimoroni_envirowing
    3. pimoroni_ltr559
    4. pimoroni_physical_feather_pins
    5. pimoroni_pms5003
    6. N'installez pas pimoroni_circuitpython_adapter à partir d'ici
  5. Installez la dernière bibliothèque d'adaptateurs Pimoroni CircuitPython en téléchargeant le fichier _init_.py dans un répertoire lib/pimoroni_circuitpython_adapter nouvellement créé sur CIRCUITPY.
  6. Téléchargez l'exemple de programme de traceur combiné sur CIRCUITPY en cliquant sur Enregistrer le lien sous… sur plotters_combined.py
  7. Renommez ou supprimez tout fichier code.py existant sur CIRCUITPY, puis renommez plotters_combined.py en code.py. Ce fichier est exécuté lorsque l'interpréteur CircuitPython démarre ou se recharge.

Les versions utilisées pour ce guide étaient:

  • Circuit Python 6.0.0
  • Ensemble de bibliothèque CircuitPython adafruit-circuitpython-bundle-6.x-mpy-20201208.zip
  • Bibliothèque EnviroPlus-FeatherWing Version 1.0
  • bibliothèque pimoroni_circuitpython_adapter 9-déc-2020 f062036

Étape 4: Le traceur combiné

Le traceur combiné
Le traceur combiné

Le traceur combiné a quatre écrans:

  1. Son et Lumière.
  2. PM2,5 et PM10.
  3. Température, pression et humidité.
  4. OX, ROUGE et NH3.

L'écran des particules (PM) n'apparaît que si le Plantower PMS5003 est connecté. Le programme vérifie sa présence au démarrage et imprime ce message d'information s'il n'est pas connecté:

Délai de lecture PMS5003: échec de lecture de l'octet de début de trame

Vous n'avez probablement pas de pms5003 connecté, continuez sans journalisation des particules

L'intervalle de tracé est fixé à 540 secondes au début du programme. Ceci peut être ajusté pour contrôler le taux de tracé.

Étape 5: Épingles Enviro+ FeatherWing

Épingles Enviro+ FeatherWing
Épingles Enviro+ FeatherWing
Épingles Enviro+ FeatherWing
Épingles Enviro+ FeatherWing

L'Enviro+ FeatherWing utilise un grand nombre d'épingles de Feather. Les noms suivants sont utilisés, les noms entre parenthèses proviennent du schéma de nommage de Pimoroni:

  • A0 (broche5) - Capteur de gaz ammoniac MiCS6814
  • A1 (broche6) - Capteur de gaz réducteur MiCS8614
  • A2 (broche7) - Capteur de gaz comburant MiCS6814
  • A3 (broche 8) - microphone analogique
  • A4 (broche 9) - Activer MiCS6814
  • D5 (broche 19) - Commande d'écran du bus SPI
  • D6 (pin20) - Sélection de la puce d'écran du bus SPI
  • D9 (broche 21) - rétroéclairage (PWM)
  • D10 (broche 22) - PMS5003 activé
  • D11 (broche 23) - PMS5003 réinitialisé
  • D12 (pin24) - Interruption LTR-559 (non prise en charge dans la bibliothèque CircuitPython)
  • SCK (broche 11) - Horloge du bus SPI
  • MO (broche12) - SPI bus master out slave in
  • MI (broche 13) - Maître du bus SPI en sortie esclave
  • RX (broche 14) - Transmission PMS5003 (recevoir par Feather)
  • TX (broche 15) - PMS5003 réception (transmission depuis Feather)
  • SCL (broche 18) - Horloge I2C
  • SDA (broche 17) - Données I2C

Cela laisse A5, D2/DFU et D13 libres d'utilisation.

Étape 6: Consommation d'énergie

Consommation d'énergie
Consommation d'énergie

La consommation d'énergie est bien dans la spécification USB même si une batterie LiPo est connectée et se recharge. L'utilisation est plus pertinente pour planifier un passage à l'alimentation par batterie. Quelques mesures très approximatives du courant sont:

  • 100mA inactif, rétroéclairage éteint;
  • Traceur 100mA en marche, rétroéclairage faible;
  • Traceur 120mA en marche, rétroéclairage élevé.

La fiche technique du Plantower PMS5003 indique que le courant est inférieur à 100 mA, ce qui s'ajouterait aux chiffres ci-dessus. L'utilisation d'un convertisseur DC-DC sur l'Enviro+ FeatherWing peut augmenter légèrement ce nombre.

La carte Feather nRF52840 Express a un NeoPixel (LED RVB) mais les niveaux de luminosité pour son utilisation par défaut comme indicateur de l'état du programme n'ajoutent qu'une infime quantité à la consommation. La carte Feather elle-même est inférieure à 10 mA, la FeatherWing est la carte gourmande en énergie.

Étape 7: Ajout du capteur de matière particulière Plantower PMS5003

Ajout du capteur de matière particulière Plantower PMS5003
Ajout du capteur de matière particulière Plantower PMS5003
Ajout du capteur de matière particulière Plantower PMS5003
Ajout du capteur de matière particulière Plantower PMS5003
Ajout du capteur de matière particulière Plantower PMS5003
Ajout du capteur de matière particulière Plantower PMS5003

Le Met One Instruments BAM 1020 est un appareil couramment utilisé dans le monde pour mesurer les particules dans les villes. Il existe une gamme d'appareils plus abordables et l'Enviro+ FeatherWing est livré avec un connecteur pour le capteur de particules Plantower PMS5003.

Le code de la bibliothèque Pimoroni de ce capteur semble actuellement fragile. Une amélioration simple et rapide consiste à intercepter les exceptions dans le programme. Le programme plotters_combined.py peut être amélioré en ajoutant ceci en haut:

importer pimoroni_pms5003

Et en remplaçant cette ligne dans la boucle while principale

# prendre des lectures

pms_reading = pms5003.read()

avec:

# prendre des lectures

essayez: pms_reading = pms5003.read() sauf pimoroni_pms5003. ChecksumMismatchError: print("erreur de somme de contrôle")

Étape 8: Aller plus loin

Aller plus loin
Aller plus loin

Il y a un certain nombre de domaines à explorer une fois que l'Enviro+ FeatherWing est en marche.

  • Ajout d'un capteur de température externe. Le capteur de température du BME280 est soumis à la fois à un échauffement interne et à un échauffement des composants à proximité et est destiné à étalonner les autres capteurs du BME280. La valeur peut être traitée pour fournir une mesure approximative de la température de l'air ambiant, mais il existe de nombreuses options externes abordables et supérieures.
  • Calibrage des capteurs. La pression est facile à l'aide d'observations météorologiques ou de prévisions à court terme (celles-ci seront à 0 ft amsl), le reste est difficile.
  • Correction de la sortie PMS5003 pour l'humidité relative. Une formule est présentée à la page 8 du PDF sur l'EPA: PurpleAir PM2.5 U. S. Correction and Performance during Smoke Events 4/2020
  • Ajout de code pour diffuser les données du capteur via Bluetooth Low Energy vers d'autres appareils.
  • Enquêter sur la façon de minimiser la consommation d'énergie. Certains capteurs ont des lignes d'activation, celles-ci peuvent couper l'alimentation des capteurs ou les mettre en mode basse consommation. Pour les capteurs avec un temps de préchauffage, l'échantillonnage périodique peut ne pas être pratique.
  • Acheter, adapter ou fabriquer un boîtier adapté au montage à l'extérieur avec un flux d'air interne soigneusement conçu et des précautions appropriées pour la lumière directe du soleil. Le capteur de gaz SensorTech MiCS-6814 fonctionne mieux avec un flux d'air constant à faible débit.
  • Examiner comment les conditions météorologiques influencent la pollution au niveau du sol. Indice: les inversions sont importantes.
  • Conversion à l'alimentation par batterie ou solaire avec l'alimentation par batterie. L'énergie solaire est plus difficile que d'ajouter simplement un panneau solaire photovoltaïque, voir la section Notes de conception dans Adafruit Learn: USB, DC & Solar Lipoly Charger.
  • Ajout d'autres capteurs pour mesurer les polluants courants comme l'ozone (O3) et le dioxyde de soufre (SO2) ou les gaz à effet de serre comme le dioxyde de carbone (CO2). Quelques capteurs mesurent "eCO2" et ne sont pas adaptés pour mesurer le CO2 atmosphérique. Adafruit vend maintenant le capteur de CO2 Sensirion SCD-30 NDIR de grande valeur sur une carte avec des connecteurs STEMMA QT i2c.
  • Si vous souhaitez étudier l'envoi de données sur Internet en utilisant le Wi-Fi, la carte FeatherS2 avec le microcontrôleur ESP32-S2 semble être compatible avec l'Enviro+ FeatherWing. Il existe une limitation problématique avec les convertisseurs analogique-numérique (ADC) ESP32-S2 qui empêche une mesure correcte des capteurs de gaz. Voir les forums Adafruit: comparaison Feather ADC, y compris ESP32-S2 limité à 2,6 V pour plus d'informations.

Projets liés:

  • Adafruit Learn: Comparaison et expérimentation avec des capteurs de gaz inflammables
  • Adafruit Learn: Capteur de température TMP36

Lectures complémentaires:

  • Directives sur la pollution atmosphérique de l'Organisation mondiale de la santé (OMS)
  • British Lung Foundation - Qualité de l'air (PM2,5 et NO2)
  • Breathe London - un réseau pour compléter le London Air Quality Network avec « des capteurs de qualité de l'air abordables, faciles à installer et à entretenir pour tous », utilisant actuellement le Clarity Node-S.
  • Indice mondial de la qualité de l'air - collecte des données de nombreuses sources différentes avec des vues cartographiques et des données historiques.
  • Journal de l'atmosphère: Pollution de l'air intérieur par les poêles résidentiels: examen de l'inondation de particules dans les maisons lors d'une utilisation réelle - il utilise la version Raspberry Pi de la carte Enviro+.
  • Législation: Air Quality Standards Regulations 2010 (Royaume-Uni)
  • Blog Pimoroni: La nuit la plus polluée de l'année (au Royaume-Uni)
  • The Economist: Ciel de minuit - Le chauffage domestique au charbon en Pologne crée une pollution généralisée (janvier 2021)
  • BBC News: Le bruit de la circulation altère les capacités des oiseaux chanteurs (pollution sonore)
  • Bogues logiciels dans une bibliothèque de capteurs de particules - un aperçu du soin requis pour analyser de manière robuste le protocole série PMS5003.