Ligne 60 : | Ligne 60 : | ||
==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]]. |
<br /> | <br /> | ||
Ligne 80 : | Ligne 80 : | ||
| rowspan="2" |Avant le setup | | rowspan="2" |Avant le setup | ||
|Importation des bibliothèques | |Importation des bibliothèques | ||
− | |# | + | |#include "bsec.h" |
− | |||
− | |||
|- | |- | ||
|Création de l’objet | |Création de l’objet | ||
− | | | + | |Bsec ''objet;'' |
|- | |- | ||
|Dans le setup | |Dans le setup | ||
|Démarrage de l’objet | |Démarrage de l’objet | ||
− | |''objet''.begin(); | + | |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 | |Utilisation | ||
− | |''objet''. | + | |if(''objet''.run()){ // Dès que la mesure est effectuée, on affiche les valeurs |
''objet''.temperature; | ''objet''.temperature; | ||
Ligne 99 : | Ligne 115 : | ||
''objet''.pressure; | ''objet''.pressure; | ||
+ | |||
+ | ''objet''.iaq; //indice de qualité de l'ai 0 -500 | ||
+ | |||
+ | ''objet''.accuracy; // fiabilité des mesures (0 -> calibration 3-> mesures fiables) | ||
+ | |||
+ | } | ||
|}<br /> | |}<br /> | ||
==Exemple : == | ==Exemple : == | ||
<syntaxhighlight lang="arduino" line="1" start="1"> | <syntaxhighlight lang="arduino" line="1" start="1"> | ||
− | + | #include "bsec.h" // ajout de la bibliothèque Bsec de Bosh | |
− | + | Bsec iaqSensor; // creation de l'objet Iaq | |
− | #include " | ||
− | // | + | // Entry point for the example |
− | + | void setup(void) | |
+ | { | ||
+ | Serial.begin(115200); // Initialisation de la connexion série | ||
+ | Wire.begin(); // Démarrage de la connexion I2C avec le capteur | ||
− | void | + | iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur |
− | Serial. | + | 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 | ||
+ | } | ||
+ | |||
+ | // Function that is looped forever | ||
+ | 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 />Note sur la mesure de COV (Composés Organiques Volatiles) : | </syntaxhighlight><br />Note sur la mesure de COV (Composés Organiques Volatiles) : |
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.
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 // Entry point for the example
5 void setup(void)
6 {
7 Serial.begin(115200); // Initialisation de la connexion série
8 Wire.begin(); // Démarrage de la connexion I2C avec le capteur
9
10 iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur
11 bsec_virtual_sensor_t sensorList[4] = { // Configuration du capteur
12 BSEC_OUTPUT_RAW_PRESSURE,
13 BSEC_OUTPUT_IAQ,
14 BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
15 BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
16 };
17
18 iaqSensor.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); // configuration du capteur
19 }
20
21 // Function that is looped forever
22 void loop(void)
23 {
24 if (iaqSensor.run()) { // Dès que l'on reçoit des mesures
25 Serial.print("temperature : ");
26 Serial.println(iaqSensor.temperature); // Affichage de la température
27
28 Serial.print("humidite : ");
29 Serial.println(iaqSensor.humidity); // Affichage de l'humidité
30
31 Serial.print("pression : ");
32 Serial.println(iaqSensor.pressure); // Affichage de la pression en Pascal
33
34 Serial.print("IAQ : ");
35 Serial.println(iaqSensor.iaq); // Indice de la qualité de l'air
36
37 Serial.print("iAQ accuracy : ");
38 Serial.println(iaqSensor.iaqAccuracy); // Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)
39 }
40 }
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.
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #