Item:Capteur de qualité de l'air BME 680 : Différence entre versions

 
(15 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 57 : Ligne 57 :
 
|1 sec
 
|1 sec
 
|}
 
|}
 +
Documentation complète du capteur : https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf
  
 
==Bibliothèque : ==
 
==Bibliothèque : ==
{{#annotatedImageLight:Fichier:Item-Capteur de qualite de lair BME 680 800-455-max.png|0=800px|hash=|jsondata=|mediaClass=Image|type=frameless|align=center|src=https://www.wikidebrouillard.org/images/f/fe/Item-Capteur_de_qualite_de_lair_BME_680_800-455-max.png|href=./Fichier:Item-Capteur de qualite de lair BME 680 800-455-max.png|resource=./Fichier:Item-Capteur de qualite de lair BME 680 800-455-max.png|caption=|size=800px}}
+
{{#annotatedImageLight:Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-21 11-22-22.png|0=800px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Item-Capteur de qualite de lair BME 680 800-455-max.png|align=center|src=https://www.wikidebrouillard.org/images/2/22/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-21_11-22-22.png|href=./Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-21 11-22-22.png|resource=./Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-21 11-22-22.png|caption=|size=800px}}
  
  
  
Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque BME680 d'Adafruit (présente dans le gestionnaire de bibliothèques Arduino). Cette bibliothèque est dépendante de l'installation d'autres bibliothèques Adafruit, notamment la bibliothèque Adafruit Unified Sensor (https://github.com/adafruit/Adafruit_Sensor) qui vous seront demandées lors de son installation (cf. capture ci-dessus). Plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]].
+
Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque BSEC du constructeur BOSH [https://www.bosch-sensortec.com/software-tools/software/bsec/ (https://www.bosch-sensortec.com/software-tools/software/bsec/]), présente dans le gestionnaire de bibliothèques Arduino.Cette bibliothèque permet d'obtenir des mesures plus fiables grâce à son algorythme de calculs intégrés, elle permet aussi de mesurer la qualité de l'air intérieur, contrairement aux autres bibliothèques. Plus d'infos pour [[Importer des bibliothèques dans l'interface Arduino]].
 +
 
 +
 
 +
'''Attention,''' cette bibliothèque n'est pas opensource est est soumise à un copyright. Bosh ne fournit pas les calculs pour obtenir l'indice de qualité de l'air, nous sommes donc obligés de passer par cette bibiothèque pour pouvoir avoir des valeurs fiables.<br />
  
 
==Câblage : ==
 
==Câblage : ==
Insérer capture Fritzing
+
{{#annotatedImageLight:Fichier:Item-Capteur de qualite de lair BME 680 BME680 bb.jpg|0=519px|hash=|jsondata=|mediaClass=Image|type=frameless|align=center|src=https://www.wikidebrouillard.org/images/0/0a/Item-Capteur_de_qualite_de_lair_BME_680_BME680_bb.jpg|href=./Fichier:Item-Capteur de qualite de lair BME 680 BME680 bb.jpg|resource=./Fichier:Item-Capteur de qualite de lair BME 680 BME680 bb.jpg|caption=|size=519px}}<br />
  
 
==Code minimal : ==
 
==Code minimal : ==
Ligne 73 : Ligne 77 :
 
!
 
!
 
!
 
!
!Capteur de qualité de l'air BME 680
+
!Capteur BME 680
 +
|-
 +
| rowspan="2" |Avant le setup
 +
|Importation des bibliothèques
 +
|#include "bsec.h"
 
|-
 
|-
|Avant le setup
+
|Création de l’objet
|
+
|Bsec ''objet;''
|
 
 
|-
 
|-
 
|Dans le setup
 
|Dans le setup
|
+
|Démarrage de l’objet
|
+
|Wire.begin();
 +
''objet''.begin(BME680_I2C_ADDR_SECONDARY, Wire);
 +
 
 +
//Configuration du capteur
 +
 
 +
bsec_virtual_sensor_t sensorList[4] = {   
 +
 
 +
BSEC_OUTPUT_RAW_PRESSURE,
 +
 
 +
BSEC_OUTPUT_IAQ,
 +
 
 +
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
 +
 
 +
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
 +
 
 +
};
 +
 
 +
''objet''.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP);
 +
<br />
 
|-
 
|-
 
|Dans le loop
 
|Dans le loop
|
+
|Utilisation
|
+
|if(''objet''.run()){ // Dès que la mesure est effectuée, on affiche les valeurs
|}
+
''objet''.temperature;
  
 +
''objet''.humidity;
 +
 +
''objet''.pressure;
 +
 +
''objet''.iaq; //indice de qualité de l'ai 0 -500
 +
 +
''objet''.accuracy;  // fiabilité des mesures (0 -> calibration 3-> mesures fiables)
 +
 +
}
 +
|}<br />
 
==Exemple : ==
 
==Exemple : ==
 
<syntaxhighlight lang="arduino" line="1" start="1">
 
<syntaxhighlight lang="arduino" line="1" start="1">
void setup() {
+
#include "bsec.h" // ajout de la bibliothèque Bsec de Bosh
   // put your setup code here, to run once:
+
Bsec iaqSensor; // creation de l'objet Iaq
 +
 
 +
void setup(void)
 +
{
 +
   Serial.begin(115200); // Initialisation de la connexion série
 +
  Wire.begin(); // Démarrage de la connexion I2C avec le capteur
  
 +
  iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur
 +
  bsec_virtual_sensor_t sensorList[4] = { // Configuration du capteur
 +
    BSEC_OUTPUT_RAW_PRESSURE,
 +
    BSEC_OUTPUT_IAQ,
 +
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
 +
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
 +
  };
 +
 +
  iaqSensor.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); // configuration du capteur
 
}
 
}
  
void loop() {
+
void loop(void)
   // put your main code here, to run repeatedly:
+
{
 +
   if (iaqSensor.run()) { // Dès que l'on reçoit des mesures
 +
    Serial.print("temperature : ");
 +
    Serial.println(iaqSensor.temperature); // Affichage de la température
 +
 
 +
    Serial.print("humidite : ");
 +
    Serial.println(iaqSensor.humidity); // Affichage de l'humidité
 +
 
 +
    Serial.print("pression : ");
 +
    Serial.println(iaqSensor.pressure); // Affichage de la pression en Pascal
  
 +
    Serial.print("IAQ : ");
 +
    Serial.println(iaqSensor.iaq); // Indice de la qualité de l'air
 +
 +
    Serial.print("iAQ accuracy : ");
 +
    Serial.println(iaqSensor.iaqAccuracy); // Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)
 +
  }
 
}
 
}
</syntaxhighlight><br />
+
</syntaxhighlight><br />Note sur la mesure de COV (Composés Organiques Volatiles) :
 +
 
 +
 
 +
Ce capteur est étalonné en laboratoire, il est capable de donner une indication de la qualité de l'air intérieur en fonction de la mesure de la résistance de celui-ci. Un indice d'état de la mesure (indice de calibration) nous indique la fiabilité de la mesure :
 +
 
 +
Au démarrage du capteur, les valeurs fournies sont un indice de 25 de qualité de l'air et un indice d'etat de 0, il faut attendre au moins 2h pour commencer à avoir des resultats fiables (indice égal à 3). (La documentation  indique 4 jours de calibration)
 +
 
 +
Les gas ciblés par ce capteur sont les suivants :{{#annotatedImageLight:Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-22-06.png|0=895px|hash=|jsondata=|mediaClass=Image|type=frameless|align=center|src=https://www.wikidebrouillard.org/images/2/27/Item-Capteur_de_qualite_de_lair_BME_680_Capture_decran_du_2022-01-20_14-22-06.png|href=./Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-22-06.png|resource=./Fichier:Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-22-06.png|caption=|size=895px}}Voici les indices de qualité de l'air intérieur en fonction de la résistance obtenue :
 +
<br />{{#annotatedImageLight:Fichier:Item-Capteur de qualite de lair BME 680 Iaq table 700.jpg|0=700px|hash=|jsondata=|mediaClass=Image|type=frameless|alt=Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-16-04.png|align=center|src=https://www.wikidebrouillard.org/images/b/b4/Item-Capteur_de_qualite_de_lair_BME_680_Iaq_table_700.jpg|href=./Fichier:Item-Capteur de qualite de lair BME 680 Iaq table 700.jpg|resource=./Fichier:Item-Capteur de qualite de lair BME 680 Iaq table 700.jpg|caption=|size=700px}}<br />
 
}}
 
}}
 
{{Tuto Status
 
{{Tuto Status
|Complete=Draft
+
|Complete=Published
 
}}
 
}}

Version actuelle datée du 21 janvier 2022 à 12:30


Item-Capteur de qualit de l air BME 680 BME680-capteur-de-temp-rature-humidit-capteur-de-pression-d-air-pression-hauteur-d-veloppement-conseil.jpg q50.jpg

Capteur de qualité de l'air BME 680

Capteur BME 680 de la qualité de l'air : température, humidité, pression, gaz

15EUR (€)


Description longue

Principe :

Ce module permet la mesure de 4 paramètres différents liés à la qualité de l'air :

  • la température ;
  • l'humidité ;
  • la pression atmosphérique ;
  • la concentration en composés organiques volatils (COV) via un capteur MOx, qui contient une couche sensible semi-conductrice (oxydes métalliques) dont la conductivité est dépendante de la composition de l’air qui l’entoure. Le signal obtenu correspond donc à une résistance variable en fonction de l’évolution de la conductivité liée à la teneur en gaz COV.

Caractéristiques :

Généralités Alimentation 3 à 5 Vcc
Interface I2C et SPI sur connecteur au pas de 2,54 mm
Dimensions 30 x 14 x 10 mm
Poids 10 g
Température Plage de mesure - 40 à 85 °C
Humidité Plage de mesure 0 à 100 % RH
Précision relative ± 3 % RH
Temps de réponse 8 sec
Pression atmosphérique Plage de mesure 300 à 1100 hPa
Précision absolue ± 1 hPa
Qualité de l'air (IAQ) Plage de mesure 0 à 500 (valeur de résistance)
Temps de réponse 1 sec

Documentation complète du capteur : https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf

Bibliothèque :

Item-Capteur de qualite de lair BME 680 800-455-max.png


Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque BSEC du constructeur BOSH (https://www.bosch-sensortec.com/software-tools/software/bsec/), présente dans le gestionnaire de bibliothèques Arduino.Cette bibliothèque permet d'obtenir des mesures plus fiables grâce à son algorythme de calculs intégrés, elle permet aussi de mesurer la qualité de l'air intérieur, contrairement aux autres bibliothèques. Plus d'infos pour Importer des bibliothèques dans l'interface Arduino.


Attention, cette bibliothèque n'est pas opensource est est soumise à un copyright. Bosh ne fournit pas les calculs pour obtenir l'indice de qualité de l'air, nous sommes donc obligés de passer par cette bibiothèque pour pouvoir avoir des valeurs fiables.

Câblage :

Item-Capteur de qualite de lair BME 680 BME680 bb.jpg

Code minimal :

Capteur BME 680
Avant le setup Importation des bibliothèques #include "bsec.h"
Création de l’objet Bsec objet;
Dans le setup Démarrage de l’objet Wire.begin();

objet.begin(BME680_I2C_ADDR_SECONDARY, Wire);

//Configuration du capteur

bsec_virtual_sensor_t sensorList[4] = {

BSEC_OUTPUT_RAW_PRESSURE,

BSEC_OUTPUT_IAQ,

BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,

BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,

};

objet.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP);

Dans le loop Utilisation if(objet.run()){ // Dès que la mesure est effectuée, on affiche les valeurs

objet.temperature;

objet.humidity;

objet.pressure;

objet.iaq; //indice de qualité de l'ai 0 -500

objet.accuracy; // fiabilité des mesures (0 -> calibration 3-> mesures fiables)

}


Exemple :

 1 #include "bsec.h" // ajout de la bibliothèque Bsec de Bosh
 2 Bsec iaqSensor; // creation de l'objet Iaq
 3 
 4 void setup(void)
 5 {
 6   Serial.begin(115200); // Initialisation de la connexion série
 7   Wire.begin(); // Démarrage de la connexion I2C avec le capteur
 8 
 9   iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur
10   bsec_virtual_sensor_t sensorList[4] = { // Configuration du capteur
11     BSEC_OUTPUT_RAW_PRESSURE,
12     BSEC_OUTPUT_IAQ,
13     BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
14     BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
15   };
16 
17   iaqSensor.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); // configuration du capteur
18 }
19 
20 void loop(void)
21 {
22   if (iaqSensor.run()) { // Dès que l'on reçoit des mesures
23     Serial.print("temperature : ");
24     Serial.println(iaqSensor.temperature); // Affichage de la température
25 
26     Serial.print("humidite : ");
27     Serial.println(iaqSensor.humidity); // Affichage de l'humidité
28 
29     Serial.print("pression : ");
30     Serial.println(iaqSensor.pressure); // Affichage de la pression en Pascal
31 
32     Serial.print("IAQ : ");
33     Serial.println(iaqSensor.iaq); // Indice de la qualité de l'air
34 
35     Serial.print("iAQ accuracy : ");
36     Serial.println(iaqSensor.iaqAccuracy); // Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)
37   }
38 }

Note sur la mesure de COV (Composés Organiques Volatiles) :


Ce capteur est étalonné en laboratoire, il est capable de donner une indication de la qualité de l'air intérieur en fonction de la mesure de la résistance de celui-ci. Un indice d'état de la mesure (indice de calibration) nous indique la fiabilité de la mesure :

Au démarrage du capteur, les valeurs fournies sont un indice de 25 de qualité de l'air et un indice d'etat de 0, il faut attendre au moins 2h pour commencer à avoir des resultats fiables (indice égal à 3). (La documentation indique 4 jours de calibration)

Les gas ciblés par ce capteur sont les suivants :
Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-22-06.png
Voici les indices de qualité de l'air intérieur en fonction de la résistance obtenue :
Item-Capteur de qualite de lair BME 680 Capture decran du 2022-01-20 14-16-04.png

Pages liées

Commentaires

Published