[Mise à jour le 26/6/2024]
Le monoxyde de carbone (CO) est un gaz très dangereux qui est inodore, incolore et sans goût. Les symptômes les plus courants de l'intoxication au CO sont les maux de tête, les nausées, les vomissements, les vertiges, la fatigue et une sensation de faiblesse. Les signes neurologiques comprennent la confusion, la désorientation, les troubles visuels, la syncope et les convulsions.
Le monoxyde de carbone est produit par l'oxydation partielle de composés contenant du carbone; il se forme lors du fonctionnement d'un poêle ou d'un moteur à combustion interne dans un espace clos. Wikipédia
Ordres de grandeur
ppm | |
---|---|
Atmosphère naturelle | 0,1 |
Maison | 0,5 à 5 |
Près d'une gazinière | 5 à 15 |
Feu de bois domestique | 5000 |
// Arduino Sample Code // Non conforme : A modifier void setup() { Serial.begin(9600); // Set serial baud rate to 9600 bps } void loop() { int val; val=analogRead(0); // Read Gas value from analog 0 Serial.println(val,DEC);// Print the value to serial port delay(100); }
Le dioxyde de carbone, aussi appelé gaz carbonique ou anhydride carbonique, est un composé inorganique dont la formule chimique est CO2, la molécule ayant une structure linéaire de la forme O=C=O. Il se présente, sous les conditions normales de température et de pression, comme un gaz incolore, inodore, à la saveur piquante. Le CO2 est utilisé par l'anabolisme des végétaux pour produire de la biomasse à travers la photosynthèse, processus qui consiste à réduire le dioxyde de carbone par l'eau, grâce à l'énergie lumineuse reçue du soleil et captée par la chlorophylle, en libérant de l'oxygène pour produire des oses, et en premier lieu du glucose par le cycle de Calvin.
À partir d'une certaine concentration dans l'air, ce gaz s'avère dangereux, voire mortel. La valeur limite d'exposition est de 3 % sur une durée de 15 minutes. Cette valeur ne doit jamais être dépassée. Au-delà, les effets sur la santé sont d'autant plus graves que la teneur en CO2 augmente.
Près de 87% des émissions de dioxyde de carbone attribuables à l'homme proviennent de la combustion de combustibles fossiles, tels que le charbon, le gaz naturel et le pétrole. Wikipédia
Les niveaux de CO2 dans l'air et les problèmes de santé potentiels sont :
// Matériels : Adafruit Feather Huzzah ESP8266 + Support Particle, Adafruit OLED SH1107, Adafruit SGP30, câble Qwiic. // Logiciel : Arduino // Bibliothèques #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SH110X.h> #include "Adafruit_SGP30.h" #define BUTTON_A 0 #define BUTTON_B 16 #define BUTTON_C 2 // Constructeurs Adafruit_SH1107 display = Adafruit_SH1107(64, 128, &Wire); Adafruit_SGP30 sgp; void setup() { // Bus I2C Wire.begin(); // Initialisation Wire.setClock(400000); display.begin(0x3C, true); // L'adresse de l'afficheur est 0x3C par défaut // Configuration de l'affichage display.setRotation(1); // Affichage horizontal display.setTextSize(1); display.setTextColor(SH110X_WHITE); display.clearDisplay(); // Pour ne pas afficher le logo Adafruit chargé // automatiquement à la mise sous tension // Test de la communication avec le capteur if (!sgp.begin()) { display.println("Le capteur de repond pas"); while (1) ; } display.print("Numero de serie #"); display.print(sgp.serialnumber[0], HEX); display.print(sgp.serialnumber[1], HEX); display.println(sgp.serialnumber[2], HEX); display.display(); // Transfert du buffer sur l'écran delay(2000); // Connexion des boutons-poussoirs pinMode(BUTTON_A, INPUT_PULLUP); pinMode(BUTTON_B, INPUT_PULLUP); pinMode(BUTTON_C, INPUT_PULLUP); } void loop() { // Efface le buffer display.clearDisplay(); // Test des boutons display.setCursor(0, 0); if (!digitalRead(BUTTON_A)) display.print("[A]"); if (!digitalRead(BUTTON_B)) display.print("[B]"); if (!digitalRead(BUTTON_C)) display.print("[C]"); // Titre display.setCursor(40, 0); display.println("SGP30"); // Numéro de série display.setCursor(0, 12); display.print("Numero : #"); display.print(sgp.serialnumber[0], HEX); display.print(sgp.serialnumber[1], HEX); display.println(sgp.serialnumber[2], HEX); // Mesures if (!sgp.IAQmeasure()) { Serial.println("Measurement failed"); return; } // Mesures et affichage display.print("TVOC : "); display.print(sgp.TVOC); display.println(" ppb"); display.print("eCO2 : "); display.print(sgp.eCO2); display.println(" ppm"); // Infos display.setCursor(5, 52); display.print("Appuyer sur A, B, C"); display.display(); // Transfert du buffer sur l'écran delay(500); }