m (Révocation des modifications de Antonydbzh (discussion) vers la dernière version de Julienrat) (Balise : Révocation) |
|||
Ligne 49 : | Ligne 49 : | ||
| valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Loop | | valign="middle" height="17" bgcolor="#999999" align="center" |Dans le Loop | ||
| valign="middle" bgcolor="#999999" align="center" |Utilisation | | valign="middle" bgcolor="#999999" align="center" |Utilisation | ||
− | | valign="middle" align="left" |int CO2 = monCapteur.getCO2_Raw(); | + | | valign="middle" align="left" |int CO2 = monCapteur.getCO2_Raw(); |
|}Astuce: il est possible RX et TX soient inversé, dans ce cas il vous suffit d'inverser D3 et D4 dans votre code. ATTENTION Valable uniquement pour un wemos ESP8266 | |}Astuce: il est possible RX et TX soient inversé, dans ce cas il vous suffit d'inverser D3 et D4 dans votre code. ATTENTION Valable uniquement pour un wemos ESP8266 | ||
==Exemple== | ==Exemple== | ||
Ligne 69 : | Ligne 69 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | ==Le capteurs en ASCII pour de beaux codes !== | + | == Le capteurs en ASCII pour de beaux codes ! == |
− | + | <syntaxhighlight lang="arduino"> | |
− | + | /* | |
− | + | Senseair S8 | |
− | + | ________________________ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|*/ | |*/ | ||
Le capteur CO2 Sensair S8, est un capteur NDIR (InfraRouge non Dispersif), le principe de mesure est un principe optique :
Une chambre de mesure est parcourue par un faisceau infrarouge et de l'autre coté de la chambre un capteur ultra sensible mesure les variations d’absorption de la lumière. En fonction des ondes absorbées par la présence de CO2 il en déduit la quantité. Cette mesure utilise le principe de la spectrométrie. (expérience en lien Lumière : dispersion de la lumière )
Selon le Fablab Central Supélec La Fabrique, les capteurs NDIR sont plus fiables et robustes que les capteurs de CO2 utilisant d'autres technologies (chimiques, MOX ...). Plus d'infos http://projetco2.fr/documents/presentation_PM_webinaireco2_v5_bpd.pdf
Document PDF : http://co2meters.com/Documentation/Manuals/DS_SE_0119_CM_0177_Revised8.pdf
Pour utiliser facilement ce capteur, nous vous conseillons d'utiliser la bibliothèque AirGradient Air Quality Sensor que vous trouverez dans le catalogue de bibliothèques d'Arduino plus d'infos pour la procédure Importer des bibliothèques dans l'interface Arduino
Avant le Setup | Importation de la bibliothèque | #include <AirGradient.h> |
Création de l’objet | AirGradient monCapteur = AirGradient(); | |
Dans le Setup | Démarrage de l’objet | monCapteur.CO2_Init(D4,D3); // coté wemos broche RX (D4), broche TX (D3) |
Dans le Loop | Utilisation | int CO2 = monCapteur.getCO2_Raw(); |
0 #include <AirGradient.h> // import de la bibliothèque Air Gradient
1 AirGradient monCapteur = AirGradient(); // Création de l'objet "monCapteur"
2
3 void setup(){
4 Serial.begin(9600); // Démarrage de la liaison série
5 monCapteur.CO2_Init(D4,D3); // Démarrage et initialisation de l'objet, définition des broches RX (D4) et TX (D3) du Wemos
6 }
7
8 void loop(){
9 int CO2 = monCapteur.getCO2_Raw(); // mesure brute du CO2 placée dans la variable "CO2"
10 Serial.print("Taux de CO2 : ");
11 Serial.println(CO2); // Affichage du CO2 en ppm
12 delay(5000); // attente de 5 secondes (le temps de mesure du capteur est de 2s)
13 }
/*
Senseair S8
________________________
|*/
/* D1 mini
BROCHAGE
_________________
/ D1 mini \
|[ ]RST TX[ ]|
|[ ]A0 -GPIO RX[ ]|
|[ ]D0-16 5-D1[ ]|
|[ ]D5-14 4-D2[ ]|
|[ ]D6-12 0-D3[X]| -> UART_RxD
|[ ]D7-13 2-D4[X]| -> UART_TxD
|[ ]D8-15 GND[X]| -> G0
|[ ]3V3 . 5V[X]| -> G+
| +---+ |
|_______|USB|_______|
________________________
| |° ° ° ° ° °| | |
+5V <- G+ |[X]| ° ° ° ° °/ |[ ]| DVCC_out
GND <- G0 |[X]|° ° ° ° °/ |[X]| UART_RxD -> D3
Alarm_OC |[ ]|_°_°_°_°| |[X]| UART_TxD -> D4
PWM 1Khz |[ ]| |[ ]| UART_R/T
| | SenseAir® S8 |[ ]| bCAL_in/CAL
|___|________________|___|
*/
Il est possible que votre capteur de dérègle ou que vous le receviez non étalonné. Pour calibrer votre capteur il suffit de le placer à l'extérieur, à l’abri de toute pollution (évitez les abords d'une autoroute. ) et d'appuyer sur le bouton calibration pendant 6 secondes (entre 4 et 8 secondes, pas plus sinon au bout de 13 secondesil passe dans un autre mode de calibration ).
Votre capteur devrait alors indiquer 400 ppm valeur nominale de quantité de CO2 à l'extérieur.
Projet CO2 :
http://lafabrique.centralesupelec.fr/projetco2/document/la_fabrique_projetCO2_v7.pdf
Expériences en lien avec le fonctionnement du capteur (absorption de la lumière, spectrométrie) :
Lumière : dispersion de la lumière
Gonfler un ballon sans souffler
Un capteur connecté :
Créer un compte chez AdafruitIO pour envoyer des données dans le web
Envoyer des données sur le WEB grâce à MQTT
Une interface WEB :
Créer une Interface Web pour ESP32
Un capteur avec un écran :
Item:Ecran OLED 1.3 pouces I2C
Item-Capteur_de_CO2_SENSEAIR_S8_imagegen.png Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #