| 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) } |
#include "bsec.h" // ajout de la bibliothèque Bsec de Bosh
Bsec iaqSensor; // creation de l'objet Iaq
// 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
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
}
// 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)
}
}
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 :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #