(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 | + | {{#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 | + | 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 : == | ||
− | + | {{#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 | + | !Capteur BME 680 |
+ | |- | ||
+ | | rowspan="2" |Avant le setup | ||
+ | |Importation des bibliothèques | ||
+ | |#include "bsec.h" | ||
|- | |- | ||
− | | | + | |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 |
− | // | + | 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) |
− | // | + | { |
+ | 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= | + | |Complete=Published |
}} | }} |
Capteur BME 680 de la qualité de l'air : température, humidité, pression, gaz
Ce module permet la mesure de 4 paramètres différents liés à la qualité de l'air :
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
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.
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) } |
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 }
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 :Voici les indices de qualité de l'air intérieur en fonction de la résistance obtenue :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 Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #