Le module MQ-7 est un détecteur de monoxyde de carbone : un capteur à oxyde d’étain (SnO2) déposé sur un tube céramique chauffé, protégé par une grille métallique inoxydable, monté sur une petite carte bleue avec un comparateur LM393 et un potentiomètre de réglage. Sa particularité dans la famille MQ est d’être le seul à viser un gaz toxique et inodore plutôt qu’un gaz combustible : le monoxyde de carbone ne se sent pas, ne se voit pas, et s’accumule sans prévenir dans un local mal ventilé.
La carte délivre deux signaux : une tension analogique continue qui suit la concentration, et une sortie numérique tout ou rien qui bascule au franchissement d’un seuil que vous fixez vous-même au tournevis. Le module se câble sur quatre fils, en 5 V, et devient en quelques lignes de programme un avertisseur qui fait sonner un buzzer, allume un voyant ou commande l’ouverture d’une ventilation.
À quoi sert un module MQ-7 ?
- Apprendre à mesurer un gaz toxique — c’est l’emploi le plus courant : suivre sur le moniteur série la réponse du capteur à une source de monoxyde, et comprendre comment un capteur à oxyde d’étain traduit une concentration en tension.
- Alerte d’atelier ou de garage — un moteur thermique qui tourne dans un local fermé dégage du monoxyde de carbone ; le module posé dans la pièce déclenche un voyant ou un buzzer quand le niveau monte.
- Commander une ventilation — par relais, démarrer un extracteur dès le franchissement du seuil, sans intervention humaine.
- Surveiller une chaudière ou un groupe électrogène — en complément d’un appareil homologué, pour enregistrer les moments où le niveau ambiant s’élève.
- Mallette pédagogique — le MQ-7 est le module de la famille MQ qui montre le mieux qu’un capteur à oxyde d’étain ne se contente pas d’une alimentation fixe, puisque son constructeur le fait fonctionner en chauffage alterné.
Caractéristiques techniques
| Référence | MQ-7 — module capteur de monoxyde de carbone, à sortie analogique et numérique |
|---|---|
| Élément sensible | Oxyde d’étain (SnO2) sur tube céramique chauffé, protégé par une grille métallique inox |
| Gaz visé | Monoxyde de carbone (CO). Le capteur réagit aussi à l’hydrogène et, plus faiblement, à d’autres gaz réducteurs |
| Plage annoncée | Environ 20 à 2 000 ppm de monoxyde de carbone pour le capteur seul |
| Sélectivité | Bonne visibilité du CO, avec une sensibilité parallèle à l’hydrogène ; les fumées de cuisson et l’alcool le sollicitent peu |
| Tension d’alimentation du module | 5,0 V en continu, chauffage et circuit confondus |
| Chauffage prévu par le constructeur | Un cycle alterné : 5,0 V pendant 60 secondes, puis 1,4 V pendant 90 secondes, répété en boucle |
| Résistance de chauffe | Environ 31 Ω sous la phase haute, soit à peu près 160 mA pendant cette phase |
| Résistance sensible (Rs) | De l’ordre de 2 à 20 kΩ dans 100 ppm de monoxyde de carbone |
| Résistance de charge | Ajustable, 10 kΩ en valeur usuelle |
| Sortie analogique | Tension continue qui suit le niveau détecté, à relire sur une entrée analogique du microcontrôleur |
| Sortie numérique | Comparateur LM393, seuil réglé par le potentiomètre de la carte |
| Témoins | Deux LED : mise sous tension, et état de la sortie numérique |
| Broches du module | 4 broches mâles au pas de 2,54 mm, sur carte d’environ 3,2 × 2 cm |
| Préchauffage | Le constructeur recommande plus de 48 heures de chauffe pour un étalonnage vraiment stable |
| Conditions de référence | Environ 20 °C et 65 % d’humidité relative, sous 21 % d’oxygène |
| Température de service | De −10 °C à +50 °C, humidité relative inférieure à 95 % |
Les quatre broches du module
C’est la sérigraphie de la carte qui donne l’ordre des broches, et elle seule fait foi :
VCC | Alimentation positive en 5 V. C’est aussi l’alimentation du chauffage du capteur. |
|---|---|
GND | La masse, référence commune du montage. |
DO | Sortie numérique du comparateur. Elle change d’état quand le niveau franchit le seuil réglé par le potentiomètre. |
AO | Sortie analogique, à relier à une entrée analogique du microcontrôleur. |
Le chauffage alterné, et ce que la carte en fait
La fiche du fabricant du capteur MQ-7 ne demande pas une alimentation fixe : elle décrit un cycle. Le capteur est porté à 5,0 V pendant 60 secondes — c’est la phase de nettoyage, qui brûle les molécules restées sur la surface sensible — puis retombe à 1,4 V pendant 90 secondes, phase pendant laquelle la mesure se fait. Ce va-et-vient permanent est la raison d’être du MQ-7 : c’est lui qui le rend sensible au monoxyde de carbone sans être aveuglé par les autres gaz.
La carte de cette page, comme la plupart des modules MQ-7 à quatre broches, ne comporte qu’une seule entrée d’alimentation et chauffe donc le capteur en continu sous 5 V. Il n’y a ni minuterie ni second canal de chauffe sur la carte : le cycle du constructeur n’est pas exécuté. C’est une précision utile, et non un détail : elle explique pourquoi ces modules donnent un niveau relatif qui dérive, et non une concentration en ppm. Le montage reste parfaitement utilisable pour une alarme à seuil réglé sur place, à condition de ne pas lui demander une mesure absolue.
Un module à deux entrées de chauffe
Certains vendeurs proposent des cartes MQ-7 avec deux entrées de chauffe séparées, qui permettent de piloter les deux phases depuis le programme — un transistor commandé par une sortie du microcontrôleur pour la phase haute, une résistance de limitation pour la phase basse. Si votre carte ne porte qu’un seul VCC, elle ne peut pas le faire : c’est la construction de la carte, pas un réglage à trouver.
La sortie analogique AO
Elle donne à lire en continu le niveau détecté, sur une échelle de 0 à 1023 avec le convertisseur 10 bits d’un Arduino. Cette valeur n’est pas une concentration en ppm : on s’en sert comme d’un repère, la valeur au repos dans l’air d’une pièce ventilée d’un côté, celle obtenue près d’une source de monoxyde de l’autre, et le seuil se place entre les deux.
La sortie numérique DO et le réglage du seuil
Le comparateur LM393 compare en permanence la tension du capteur à une référence fixée par le potentiomètre. Dès que le seuil est franchi, la sortie numérique bascule et la LED de sortie s’allume. Le réglage prend trente secondes : laissez le capteur chauffer, relevez la valeur de repos sur le moniteur série, puis tournez lentement le potentiomètre jusqu’à l’instant où la LED s’allume. Selon les cartes, DO peut passer au niveau bas quand le seuil est franchi ; c’est la LED, allumée dans tous les cas, qui reste le repère fiable.
Le choisir dans la famille MQ
Tous les modules de la série MQ partagent le même format de carte, le même brochage à quatre broches et le même principe à oxyde d’étain, mais chaque référence vise un gaz différent : le choix se fait uniquement sur le gaz à surveiller.
| MQ-7 | Monoxyde de carbone : le seul de la famille à viser un gaz toxique et non un gaz combustible. C’est le modèle de cette page. |
|---|---|
| MQ-9 | Monoxyde de carbone et gaz combustibles : plus large, donc moins sélectif sur le CO. |
| MQ-2 | Le polyvalent : gaz combustibles et fumées, GPL, propane, butane, hydrogène — la détection d’ambiance générale. |
| MQ-5 | GPL et gaz naturel : butane, propane, gaz de ville. La surveillance de la bouteille et du réchaud. |
| MQ-4 | Méthane et gaz naturel, avec une immunité marquée à l’alcool. |
Si l’objectif est la sécurité des personnes — le monoxyde de carbone dans un logement —, aucun module de cette famille ne remplace un détecteur homologué.
Mini-projet : un avertisseur de monoxyde de carbone
Un montage complet en une quinzaine de minutes : le module surveille l’air de la pièce, l’Arduino affiche en continu le niveau et l’état du comparateur, et un buzzer accompagné d’un voyant rouge se déclenche dès que le seuil est franchi. Le programme relève sa propre valeur de repos au démarrage plutôt que de travailler sur un chiffre écrit en dur, puisque cette valeur change d’un capteur et d’une pièce à l’autre.
Ce qu’il faut
| La détection | Le module MQ-7 — celui de cette page |
|---|---|
| Le cerveau | Une carte Arduino Uno R3 et son câble USB |
| Le son | Un buzzer actif de 5 V |
| Le voyant | Une diode rouge de 5 mm et sa résistance de 220 Ω |
| Le support | Une plaque d’essai et des fils de prototypage : le module réclame 5 V, deux signaux et une masse |
Le câblage
Module VCC | → Arduino 5V |
|---|---|
Module GND | → Arduino GND |
Module AO | → Arduino A0 |
Module DO | → Arduino D2 |
| Buzzer, fil rouge | → Arduino D8 |
| Buzzer, fil noir | → Arduino GND |
| Diode, anode par la résistance | Résistance sur D7, autre patte sur l’anode de la diode |
| Diode, cathode | → Arduino GND |
Le programme
À copier dans l’IDE Arduino, puis à téléverser sur la carte :
/*
* Avertisseur de monoxyde de carbone (CO) - module capteur MQ-7
* Carte : Arduino Uno R3
* Montage : module MQ-7 sur A0 et D2, buzzer actif sur D8,
* diode rouge en serie avec 220 ohms sur D7.
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_AO = A0; // sortie analogique du module
const byte PIN_DO = 2; // sortie numerique du comparateur
const byte PIN_BUZZER = 8; // buzzer actif
const byte PIN_LED = 7; // diode rouge, protegee par 220 ohms
int repos = 0; // valeur relevee dans l'air de la piece, capteur chaud
int seuil = 0; // seuil d'alarme, fixe par rapport a la valeur de repos
void setup() {
pinMode(PIN_DO, INPUT);
pinMode(PIN_BUZZER, OUTPUT);
pinMode(PIN_LED, OUTPUT);
Serial.begin(9600);
Serial.println("Chauffage du capteur, laissez la carte a l'air libre.");
delay(60000); // la carte chauffe en continu, on laisse la mesure se stabiliser
// Valeur de repos, relevee dans l'air de la piece.
repos = analogRead(PIN_AO);
seuil = repos + 300; // marge a ajuster selon la ventilation du local
Serial.print("Valeur de repos : ");
Serial.println(repos);
Serial.print("Seuil d'alarme : ");
Serial.println(seuil);
}
void loop() {
int niveau = analogRead(PIN_AO); // 0 a 1023
int etatDO = digitalRead(PIN_DO); // etat du comparateur du module
Serial.print("niveau = ");
Serial.print(niveau);
Serial.print(" sortie numerique = ");
Serial.println(etatDO);
// Alarme si le seuil du programme OU celui du potentiometre est franchi.
if (niveau >= seuil || etatDO == LOW) {
digitalWrite(PIN_LED, HIGH);
digitalWrite(PIN_BUZZER, HIGH);
} else {
digitalWrite(PIN_LED, LOW);
digitalWrite(PIN_BUZZER, LOW);
}
delay(1000);
}Comment ça marche
- Au démarrage, le programme attend soixante secondes puis relève la valeur de repos : celle de l’air de la pièce, capteur chaud. Le seuil de travail en découle, avec une marge de 300 points.
analogRead(PIN_AO)relit la tension de la sortie analogique, entre 0 et 1023. Plus la valeur monte au-dessus du repos, plus le capteur voit de gaz réducteur.digitalRead(PIN_DO)constate la décision du comparateur : le module a déjà tranché selon son potentiomètre, le programme ne fait que lire le résultat.- Les deux conditions sont mises côte à côte : le seuil du programme se modifie depuis le code, celui du potentiomètre se règle au tournevis sans retéléverser. L’un ou l’autre suffit à déclencher.
- Le buzzer employé est un modèle actif : il contient son propre oscillateur, un simple niveau haut le fait sonner. Avec un buzzer passif, il faudrait appeler
tone()en précisant la fréquence. - La diode rouge ne se branche jamais seule : sa résistance de 220 Ω fixe le courant autour de 14 mA, largement dans ses limites.
- La pause d’une seconde laisse le capteur respirer et garde le moniteur série lisible.
Mettre le seuil au juste niveau
Une alarme de monoxyde de carbone qui ne se déclenche jamais ne protège personne, et une alarme qui sonne sans raison se fait débrancher en une semaine. La méthode praticable tient en deux temps : laissez la carte dans la pièce à surveiller, toutes portes et fenêtres dans leur état habituel, et notez la valeur de repos affichée après une heure ; recommencez ensuite en tenant la carte quelques secondes près de la sortie d’un pot d’échappement ou près d’un briquet non allumé, pour voir de combien le niveau monte vraiment. La marge de 300 points du programme se règle ensuite entre ces deux relevés. Sur le terrain, mieux vaut une marge franche qu’un seuil collé à la valeur de repos : c’est la dérive lente du capteur, et non le gaz, qui déclenche les fausses alertes.
Variantes utiles
Brancher un écran pour suivre le niveau en continu
Pour surveiller la valeur sans ordinateur, un afficheur LCD 16 × 2 en version I2C se câble sur deux fils seulement et affiche le niveau en continu, à côté du seuil retenu. Les montages de veille y ajoutent souvent l’heure de la dernière alerte.
Déclencher une ventilation plutôt qu’un son
Pour commander un extracteur ou une alarme extérieure, la sortie numérique du module pilote l’entrée d’un module 1 relais 5 V : le contact du relais ouvre ou ferme la ligne à commander, en isolant complètement le circuit de puissance du circuit de commande. Comme pour tout montage en 230 V, coupez le disjoncteur avant d’intervenir, ne travaillez jamais sous tension et enfermez les bornes dans un boîtier isolant.
Tenir compte de la température et de l’humidité
La réponse d’un capteur à oxyde d’étain dépend de l’air ambiant : les courbes du constructeur ne valent qu’à 20 °C et 65 % d’humidité. Adjoindre un capteur DHT22 au montage permet de relever ces deux grandeurs et de comparer des mesures prises dans les mêmes conditions, plutôt que de subir une dérive que rien n’explique.
Alimenter le montage sans ordinateur
Le chauffage du capteur consomme à lui seul de l’ordre de 160 mA sous 5 V. Un montage autonome branché sur un simple adaptateur USB devra donc compter ce courant, et une alimentation 5 V 2 A laisse la marge nécessaire au module, à la carte et à l’alarme.
Points d’attention
- Ce module n’est pas un appareil de sécurité. Il ne porte aucune homologation et ne remplace en aucun cas un détecteur de monoxyde de carbone certifié. Le monoxyde de carbone tue chaque année des personnes dans des logements chauffés au bois, au gaz ou au charbon : la protection des personnes relève d’un appareil homologué, posé et entretenu selon sa notice.
- Il détecte, il ne dose pas. La sortie analogique est un niveau relatif, qui dérive avec la température, l’humidité et l’âge du capteur. Aucun résultat en ppm ne peut être annoncé sans étalonnage au gaz de référence, ce qu’un montage amateur ne peut pas faire de façon fiable.
- Le chauffage du MQ-7 est prévu pour être alterné, et la carte ne l’alterne pas. Un capteur maintenu en permanence sous 5 V s’écarte de son point de fonctionnement optimal : la sensibilité réelle et la stabilité à long terme sont moindres que celles annoncées dans la fiche du capteur. À retenir pour l’usage : une alarme à seuil réglé sur place, pas un instrument de mesure.
- Le préchauffage n’est pas une précaution de confort. Un capteur à peine mis sous tension affiche une valeur qui continue de dériver pendant des heures. Le constructeur parle de plus de quarante-huit heures de chauffe pour un étalonnage sérieux ; pour un simple essai, laissez au moins quelques minutes et refaites le réglage à froid.
- L’hydrogène est un faux ami. Le MQ-7 réagit aussi à l’hydrogène, et certaines cartes portent d’ailleurs un capteur d’une référence voisine. Un dégagement d’hydrogène — d’une batterie en charge, par exemple — peut donc faire réagir le module sans qu’il y ait de monoxyde de carbone.
- L’échauffement fait partie du fonctionnement. Le capteur chauffe réellement. Ne l’enfermez pas dans un boîtier clos, ne le collez pas à un plastique sensible à la chaleur et prévoyez une alimentation capable de fournir ce courant en plus du reste du montage.
- L’emplacement décide de l’efficacité. Le monoxyde de carbone a une densité très proche de celle de l’air : il se mélange à l’atmosphère de la pièce plutôt que de s’accumuler au sol comme le butane. Le capteur se place donc à hauteur de respiration, dans la pièce à surveiller, et jamais derrière une porte fermée ou dans un angle où l’air ne circule pas.
- Ne jamais intervenir sur une installation de combustion soi-même. Un montage électronique se teste à l’air libre, avec une source de gaz maîtrisée. Le ramonage, le réglage d’un brûleur, la vérification d’un conduit relèvent du chauffagiste.
Questions fréquentes
Peut-on connaître la concentration exacte en monoxyde de carbone ?
Pas de façon exploitable avec ce seul module. La réponse du capteur dépend de la température, de l’humidité, de l’âge du capteur et des autres gaz présents, et le constructeur ne garantit une correspondance qu’en conditions de référence et avec le chauffage alterné. Un étalonnage sérieux exige un gaz de concentration connue, donc un équipement de laboratoire.
Quelle différence avec le MQ-2 et le MQ-9 ?
Le MQ-2 est le plus large de la famille : il réagit aux fumées, au GPL, à l’hydrogène et à beaucoup d’autres vapeurs, ce qui en fait un détecteur d’ambiance mais un mauvais détecteur de CO. Le MQ-9 couvre le monoxyde de carbone et les gaz combustibles à la fois, donc avec moins de netteté sur le CO. Le MQ-7 est le seul dont la fiche du constructeur vise spécifiquement le monoxyde de carbone, avec un chauffage alterné prévu pour cela.
Pourquoi la valeur affichée descend-elle lentement le premier jour ?
Parce que le capteur est en cours de préchauffage et que sa résistance de repos n’est pas encore stabilisée. C’est le comportement normal d’un capteur à oxyde d’étain, et non un défaut de la carte. Le réglage du seuil ne devient fiable que lorsque la valeur de repos cesse de dériver.
Fonctionne-t-il en 3,3 V ?
Non, pas correctement. Le chauffage est prévu pour 5 V, et une alimentation en 3,3 V le fait chauffer insuffisamment : les mesures deviennent erratiques et la sortie analogique plafonne. Sur une carte en 3,3 V, alimentez le module en 5 V et adaptez le niveau du signal si votre microcontrôleur n’accepte pas cette tension en entrée.
Faut-il une carte spéciale pour le chauffage alterné ?
Oui, ou un montage à faire soi-même. Il faut deux entrées de chauffe distinctes sur la carte, puis une sortie du microcontrôleur qui commande un transistor pour la phase haute et un limiteur pour la phase basse. Sur un module à quatre broches comme celui-ci, il n’y a qu’un seul VCC : le cycle ne peut pas être exécuté, et c’est la construction de la carte qui le décide, pas le programme.
Combien de temps faut-il pour que l’alarme se déclenche ?
Le capteur réagit en quelques secondes à une forte concentration, et en quelques dizaines de secondes à une faible concentration. Ce délai dépend de l’air ambiant et de la distance à la source, et aucune temporisation interne ne le raccourcit : c’est la circulation de l’air autour du capteur qui fait la différence.
Comment savoir si le module fonctionne ?
La LED de mise sous tension s’allume dès l’alimentation, et la valeur analogique doit évoluer quand vous approchez une source de gaz réducteur — un briquet non allumé convient pour cet essai, il dégage du butane auquel le capteur réagit aussi. Si rien ne bouge, vérifiez d’abord l’ordre des broches sur la sérigraphie, puis l’alimentation en 5 V, puis laissez le capteur chauffer plus longtemps : un module froid se comporte comme un module muet.
À combiner avec
Le module se câble directement sur une carte à entrée analogique. Pour démarrer, une carte Arduino Uno R3 avec son câble USB suffit, posée sur une plaque d’essai de 400 points et reliée avec un jeu de câbles Dupont — quatre fils pour le module, deux pour l’alarme.
Pour l’alarme elle-même, un buzzer actif se met à sonner dès sa mise sous tension, sans réglage de fréquence, et une diode rouge 5 mm ajoute un voyant lumineux utile dans un local bruyant ou une pièce où l’alarme sonore passe inaperçue.
Pour comprendre où placer le capteur et à quels gaz l’exposer, la fiche détecter des gaz, polluants et fumées récapitule les familles de capteurs et leur domaine de surveillance.











