Accueil | Arduino | MQ135 : Mesurer la qualité de l’air et des polluants (Arduino)

MQ135 : Mesurer la qualité de l’air et des polluants (Arduino)

Le MQ135 est un capteur qui permet de mesurer la qualité de l’air. Le MQ135 est sensible à aux principaux polluants présents dans l’atmosphère de la maison. Ce capteur est sensible au CO2, à l’alcool, au Benzène, à l’oxyde d’azote (NOx) et à l’ammoniac (NH3). Ce capteur est plus économique que son grand frère le MQ811 si vous avez besoin de mesurer la présence de CO2 dans une pièce.

Présentation du capteur MQ-135

Ce capteur utilise le dioxyde d’étain (SnO2) dont la conductivité électrique varie en fonction de la présence de polluant(s). La documentation technique est disponible à cette adresse. Comme tous les capteurs de la série MQ (dont vous pouvez trouver la liste complète à la fin de cet article), il faudra procéder à une calibration dans une atmosphère de référence pour mesurer la présence d’un polluant en particulier.

mq135 detection polluant atmospheriques

Pour encore plus de précision, il est également conseillé de procéder à une correction de la mesure en fonction de la température et de l’humidité. Cette opération peut être utilisée en utilisant un DHT11/DHT22 détaillé dans cet article.

mq135 correction fonction humidite temperature

Attention, n’utilisez pas ce détecteur pour réaliser des applications pouvant mettre en danger la sécurité des personnes (applications médicales, industrielles…)

Attention. Le capteur chauffe après quelques minutes d’utilisation. C’est normal, c’est le principe même de fonctionnement de tous les capteurs physicochimiques. Tenez en compte dans la conception de votre projet.

Matériel nécessaire pour tester le MQ135 sur un Arduino

Pour ce projet, vous aurez besoin du matériel suivant :

Utilisez des Jumpers Dupont M/F ou une breadbord si le connecteur n’est pas soudé trop en retrait sur le PCB.

Reliez les Pins Vcc et GND du capteur au 5V et au GND de l’Arduino

Reliez le Pin D0 du capteur à l’entrée analogique A0 de l’Arduino

Code et calibration

Le polluant le plus présent et le plus facile à calibrer dans l’atmosphère reste le CO2. En effet, la teneur en CO2 est une grandeur très suivie. La première chose à faire est donc de récupérer la teneur moyenne en CO2 dans l’atmosphère. Pour cela vous pouvez utiliser le niveau mesuré par la NOAA (National Oceanic and Atmospheric Administration) disponible ici. Les concentrations moyennes mensuelles sont calculées à partir de mesures continues. La NOAA utilise les mesures de 130 stations de mesure du CO2 réparties sur la planète.

Dans une maison bien aérée ou en extérieure, elle est maintenant de 401.62 ppm (mesure de décembre 2015). Pour réaliser la calibration, j’ai utilisé la librairie mise à disposition par Georg Krocker sur hackaday.io. La librairie est disponible sur le github de Georg Krocker à cette adresse.

Dans le code ci-dessous, vous devez tout d’abord modifier la variable ATMOCO2 qui se trouve à la ligne 39 du fichier MQ135.h

Avant la première utilisation, laissez le capteur sous tension durant 48h.

Ensuite, exécutez le code suivant durant 30 minutes, puis relancez le. Au lancement, la valeur de la résistance R0 est affichée sur la console. Mettez maintenant à jour la variable RZERO qui se trouve à la ligne 27 du fichier MQ135.h

La calibration est terminée, vous pouvez mesurer la teneur en CO2 chez vous.

  • dominique fournet

    Bonjour

    J’ai lue avec grand intérêt l’article sur le MQ135 en vue d’une
    conception data-logger co2,

    j’ai un souci c’est
    le l’affichage est de A0 au lieu R0 sur le moniteur série

    • Bonjour Dominique. R0 est lu lue uniquement à l’initialisation (dans le setup). Commentez les sorties dans la boucle loop ou décochez le défilement automatique du moniteur série pour récupérer la valeur initiale. A très bientôt.