Ceci est une ancienne révision du document !
Oda Bø: coordinatrice
Dorine Chakhtoura: construction physique
Léo Lavillunière: modélisation du support
Einat Altman: codage/informatique
Victor Perrin-Turenne: modélisation électronique
La bibliograhpie est ici
Si l'on entend souvent parler de rechauffement climatique et de pollution, c'est parce que ce sont des sujets d'inquiétude qui deviennent de plus en plus importants tous les jours. Selon Le Monde1), la pollution de l'air tue plus de 2 millions de personnes par an en Asie et est aujourd'hui une des dix premières causes de décès dans le monde. Comparé aux niveaux de pollution hallucinants dans beaucoup de villes Asiatiques, la qualité de l'air en France reste relativement faible. Mais les pics de pollutions à Paris (dernier pic le 20 janvier 2016) et dans d'autres grandes villes, peuvent être un vrai danger pour la santé publique. En d'autre termes, la pollution est un sujet important et très actuel, raisons pour lesquelles la création d'un capteur de qualité d'air nous a inspiré. Ainsi, nous envisageons de créer un capteur de gaz qui peut être fixé sur le bord d'une fenêtre pour y mesurer la qualité de l'air au quotidien.
On a choisit d'acheter des capteurs du système Grove parce qu'ils ont des branchements de grande taille qui sont faciles à manipuler.
Grove 101020015
Capteur de température qui délivre un signal analogique de 0 à 5 Vcc en fonction de la température mesurée.
La qualité de l'air dépend des particules et substances polluantes dans l'air, mais elle dépend également des conditions métérologiques, et notamment la température. En effet, la température agit sur la chimie des particules polluantes. L'augmentation de la température est favorable à la formation d'ozone (gaz que notre capteur ne détecte pas), tandis que la diminution de la température peut provoquer la formation d'une couche d'inversion qui peut dégrader la qualité de l'air car les polluants primaires s'accumulent.
Pour cela il est intéressant de détecter la température en même temps que les gaz dangereuses pour pouvoir les mettre en relation entre eux. Grace à ce capteur de température, notre capteur de qualité de l'air va également avoir une utilité supplémentaire, il va fonctionner en tant que thérmomètre.
Grove Dust Sensor
Capteur pour la poussière, la qualité de l'air, la fumée de cigarettes etc. Le capteur peut enregistrer des particules jusqu'à 1 um.
Grove 101020088
Module Grove qui délivre un signal analogique de 3,1 à 5,25 Vcc. Grace à 3 capteurs indépendants, ce module peut détecter simultanément 3 gaz différents.
Vu notre objectif de détecter la pollution et la qualité de l'air à l'extérieur, on va utiliser ce capteur pour détecter le Monoxyde de carbone (CO), le Dioxyde d'azote (NO2) et le Méthane (CH4). Le capteur peut également être utilisé pour détecter le Dihydrogène (H2) et l'Ammoniaque (NH3).
CO2 (MG-811)
Capteur de Dioxyde de carbone, le CO2, gaz de l'effet de serre, ce qui nous permettera de connaître le niveau de pollution à l'extérieur.
Idée globale : ce qu'on attend du code.
On attend de ce code qu'il lise les valeurs obtenues par les différents capteurs, qui devront être converties depuis le voltage obtenu en sortie de chaque capteur à un pourcentage de molécules/particules dans l'air et une température que l'on affichera successivement sur l'écran LCD.
De plus, on désire prévenir l'usager lorsqu'une ou plusieurs valeurs dépassent un seuil de danger pour la santé. Pour cela, lorsque les valeurs seront lues, le programme comparera la valeur à son seuil de danger associé, et s'il est dépassé, cette valeur est affichée en priorité, plus longtemps, et est accompagnée d'un message destiné à l'usager pour le prévenir du danger.
Écran LCD i2c
Avant toute chose, il faut installer la librairie permettant de coder l'affichage, ainsi que celle permettant de communiquer avec l'écran.
On écrit donc dans le programme, avant le setup :
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
Ces librairies sont composées de fonctions pré-programmées qui nous serons utiles pour la programmation de l'affichage des valeurs enregistrées par chaque capteur sans trop alourdir le code.
On définit ensuite l'adresse de l’écran ainsi que son format par la ligne de code :
LiquidCrystal_I2C lcd(0x27,16,2);
L'écran est branché en 0x27, a 16 colonnes et 2 lignes.
Capteurs
On définit avant le setup les pins correspondant a chaque capteur. Ce sont des valeurs entières qui resteront constantes tout au long du programme, on utilise donc la fonction 'const int'.
Ainsi, pour le capteur de température par exemple, on a la ligne de code:
const int crTemp = 2;
où crTemp est le nom qu'on associera au capteur de température et 2 le pin où est branché ce dernier.
Code complet
Au mardi 8 mars 2016
- AirParif : http://airparif.fr/
- Hack Spark : https://hackspark.fr/fr/blog/2015/06/controler-et-comprendre-la-qualite-de-lair-interieur-avec-arduino/
- AIRAG : http://www.airaq.asso.fr/pollution/meteo-et-pollution/1181-l-influence-de-la-climatologie.html. Téléchargé le 08.04.16