Le module MQ-3 est un détecteur de vapeurs d’alcool — d’éthanol — à sortie analogique et numérique. Il repose sur un capteur à oxyde d’étain (SnO2) porté à température par un chauffage interne, dont la conductivité grimpe au contact des vapeurs d’alcool. Le constructeur annonce une sensibilité marquée à l’éthanol, une sensibilité faible à la benzine et une bonne tenue devant la fumée et la vapeur d’eau : c’est le capteur retenu dans la famille MQ pour les projets d’éthylométrie, de contrôle d’alcool dans l’air expiré et de surveillance d’un local où l’on manipule de l’alcool.
La carte porte le capteur sous son capot, un comparateur et un potentiomètre de réglage. Elle expose deux signaux : une tension analogique continue qui suit la concentration, et un signal numérique tout ou rien qui bascule au franchissement d’un seuil réglé au tournevis. Le programme peut donc relever un niveau, le comparer à un repère et déclencher un buzzer, une LED ou une ventilation.
À quoi sert un module MQ-3 ?
- Alcootest de démonstration — suivre en direct la montée du signal quand on approche un chiffon imbibé d’alcool ou une haleine chargée. C’est le projet d’école le plus courant avec ce module.
- Détection de vapeurs dans un local — repérer une atmosphère chargée d’alcool à brûler ou de solvant alcoolisé dans un atelier, une cave ou un laboratoire, et déclencher une ventilation.
- Mesure pédagogique — tracer la réponse du capteur, observer son temps de réaction, sa dérive et l’effet de la température sur une simple liaison série.
- Automatisation par relais — couper ou mettre en route un appareil dès que le niveau franchit le seuil, sans passer par le microcontrôleur.
- Comparaison de capteurs — mettre le MQ-3 à côté d’un MQ-2 ou d’un MQ-4 sur la même carte et constater lequel réagit à quoi.
Caractéristiques techniques
| Référence | MQ-3 — module capteur de vapeurs d’alcool, à sortie analogique et numérique |
|---|---|
| Élément sensible | Oxyde d’étain (SnO2) déposé sur un tube céramique chauffé, sous une grille métallique inoxydable |
| Gaz visé | Vapeurs d’alcool (éthanol) |
| Sélectivité | Sensibilité marquée à l’éthanol, faible à la benzine, bonne résistance aux perturbations par la fumée et par la vapeur d’eau |
| Plage annoncée | 0,04 à 4 mg/L d’alcool dans l’air ; le constructeur étalonne son capteur autour de 0,4 mg/L, soit environ 200 ppm |
| Sensibilité | Rapport de résistance air propre / 0,4 mg/L d’alcool supérieur ou égal à 5 |
| Tension de chauffage | 5,0 V ± 0,2 V, en continu ou en alternatif |
| Consommation du chauffage | Au plus 900 mW, soit de l’ordre de 150 à 180 mA sous 5 V — la partie la plus gourmande du module |
| Résistance de charge | Réglable sur la carte ; le constructeur recommande une valeur de l’ordre de 200 kΩ, entre 100 kΩ et 470 kΩ |
| Sortie analogique | Tension continue proportionnelle à la concentration, à relire sur une entrée analogique du microcontrôleur |
| Sortie numérique | Comparateur embarqué, seuil réglé par le potentiomètre de la carte |
| Broches | 4 broches mâles au pas de 2,54 mm, celui des plaques d’essai |
| Fixation | Carte à trous de fixation aux angles, capot du capteur maintenu par la carte elle-même |
| Préchauffage | Le constructeur parle de plus de 24 heures de chauffe pour un étalonnage réellement stable |
| Conditions de référence | 20 °C et 65 % d’humidité relative ; usage annoncé de -10 °C à +50 °C |
Les quatre broches du module
La famille MQ partage le même brochage. La sérigraphie de la carte donne l’ordre réel des broches, et c’est elle seule qui fait foi : repérez-la avant de câbler.
VCC | L’alimentation positive, en 5 V. Elle alimente aussi le chauffage du capteur. |
|---|---|
GND | La masse, référence commune du montage. |
DO | La sortie numérique du comparateur. Elle change d’état quand la concentration franchit le seuil réglé sur la carte. |
AO | La sortie analogique, à relier à une entrée analogique du microcontrôleur. |
Comment le capteur fabrique sa mesure
Le capteur est chauffé en permanence : sa surface, portée à température, réagit avec l’oxygène de l’air et acquiert une résistance élevée. Quand des vapeurs d’alcool arrivent à son contact, cette résistance chute, d’autant plus que la concentration est forte. Le module transforme cette résistance en tension, exploitée deux fois.
La sortie analogique AO
Elle donne à lire un niveau continu, de 0 à 1023 avec le convertisseur 10 bits d’un Arduino Uno. Cette valeur n’est pas une concentration en ppm ni un taux d’alcoolémie : le constructeur publie une courbe de correspondance, mais elle ne vaut qu’à température et humidité de référence, avec un capteur étalonné au gaz connu. Dans un montage amateur, la sortie analogique sert de repère relatif : la valeur au repos dans l’air du local, puis celle obtenue près de la source, et le seuil se place entre les deux.
La sortie numérique DO et le réglage du seuil
Le comparateur de la carte compare en permanence la tension du capteur à une référence fixée par le potentiomètre, et bascule sa sortie dès que le seuil est franchi. Le réglage se fait en trente secondes, sans retéléverser : approchez la source à la distance où l’alarme doit partir, tournez lentement le potentiomètre et surveillez le passage de la sortie numérique de son état de repos à son état actif, en l’affichant sur le moniteur série. Sur plusieurs exemplaires, la sortie numérique passe au niveau bas quand le seuil est franchi ; c’est le changement d’état qui compte, pas le niveau lui-même.
L’alcool, et ce que le capteur distingue
Un capteur à oxyde d’étain réagit à toute vapeur réductrice : c’est ce qui rend le MQ-3 sensible à l’alcool mais aussi, dans une moindre mesure, aux autres solvants. Le constructeur le caractérise justement par cet écart — forte réponse à l’éthanol, réponse faible à la benzine — et par une bonne tenue devant la fumée et la vapeur d’eau, deux perturbateurs qui font dériver les capteurs généralistes. Dans un local où l’on manipule de l’alcool, cette sélectivité suffit à distinguer l’alcool des autres odeurs présentes ; sur un mélange de solvants, en revanche, elle ne permet pas de dire lequel est présent.
Le choisir dans la famille MQ
Toutes les références de la série MQ se ressemblent et partagent le brochage ; ce qui change est le gaz visé et le dopage de l’oxyde d’étain. Le choix dépend donc du gaz à surveiller, et non de la référence la plus répandue.
| MQ-3 | Vapeurs d’alcool (éthanol). C’est le modèle de cette page. |
|---|---|
| MQ-2 | Gaz combustibles et fumées — GPL, propane, butane, méthane, hydrogène. Le modèle polyvalent, quand le gaz à surveiller n’est pas connu à l’avance. |
| MQ-4 | Gaz naturel et méthane, avec une meilleure sélectivité sur le gaz de ville. |
| MQ-7 | Monoxyde de carbone. C’est le seul de la famille à viser un gaz toxique plutôt qu’un gaz combustible, et il se reconnaît à son cycle de chauffage alterné. |
Mini-projet : un alcootest de démonstration
Le capteur ne donne pas un taux d’alcoolémie, mais il donne très bien un écart par rapport à l’air du local. Le montage qui suit mesure d’abord la ligne de base dans l’air propre, puis affiche en continu le rapport entre la mesure et cette ligne de base : 1,0 dans l’air propre, davantage dès qu’une vapeur d’alcool apparaît. Un buzzer se déclenche au-delà d’un seuil relatif.
Ce qu’il faut
| La détection | Le module MQ-3 — 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 support | Une plaque d’essai et des fils de prototypage : le module demande 5 V, un signal et une masse |
Le câblage
Module VCC | → Arduino 5V |
|---|---|
Module GND | → Arduino GND |
Module AO | → Arduino A0 |
| Buzzer, fil rouge | → Arduino D8 |
| Buzzer, fil noir | → Arduino GND |
La sortie numérique n’est pas utilisée ici : le programme décide lui-même à partir du signal analogique, ce qui laisse le seuil modifiable dans le code. Rien n’interdit de câbler aussi DO sur une entrée numérique pour lire la décision du potentiomètre en parallèle.
Le programme
À copier dans l’IDE Arduino, puis à téléverser sur la carte :
/*
* Alcootest de demonstration - module capteur MQ-3
* Carte : Arduino Uno R3
* Montage : module MQ-3 (AO sur A0) et un buzzer actif
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_AO = A0; // sortie analogique du module
const byte PIN_BUZZER = 8; // buzzer actif
const int NB_LECTURES = 50; // nombre de lectures pour lisser
const float SEUIL = 1.6; // 60 pour cent au-dessus de la ligne de base
const int CHAUFFE_SECONDES = 120;
float ligneDeBase = 1.0;
// Moyenne de plusieurs lectures : le capteur est bruite, une lecture seule saute.
float lireMoyenne() {
long somme = 0;
for (int i = 0; i != NB_LECTURES; i = i + 1) {
somme = somme + analogRead(PIN_AO);
delay(10);
}
return (float)somme / (float)NB_LECTURES;
}
void setup() {
pinMode(PIN_BUZZER, OUTPUT);
Serial.begin(9600);
Serial.println("Prechauffage du capteur, laissez le module a l air libre.");
for (int s = CHAUFFE_SECONDES; s != 0; s = s - 1) {
delay(1000);
}
ligneDeBase = lireMoyenne();
Serial.print("Ligne de base dans l air propre : ");
Serial.println(ligneDeBase);
Serial.println("Soufflez maintenant vers le capteur, a quelques centimetres.");
}
void loop() {
float mesure = lireMoyenne();
float rapport = mesure / ligneDeBase; // 1.0 = air propre
Serial.print("mesure = ");
Serial.print(mesure);
Serial.print(" rapport = ");
Serial.println(rapport);
bool alerte = false;
if (rapport > SEUIL) {
alerte = true;
}
if (alerte) {
digitalWrite(PIN_BUZZER, HIGH);
} else {
digitalWrite(PIN_BUZZER, LOW);
}
delay(300);
}Comment ça marche
lireMoyenne()prend cinquante lectures et en fait la moyenne : la réponse d’un capteur à oxyde d’étain saute d’une lecture à l’autre, et comparer deux valeurs instantanées ne veut rien dire.- La ligne de base est mesurée une fois au démarrage, dans l’air du local. Elle dépend de la température, de l’humidité et de l’état du capteur : c’est pourquoi le programme la relit au lieu de la fixer en dur.
- Le rapport mesure / ligne de base gomme justement cette ligne de base : il vaut 1,0 dans l’air propre et monte avec la concentration. C’est plus lisible qu’une valeur brute qui change d’un local à l’autre.
- Le seuil à 1,6 correspond à 60 % au-dessus du repos. Placez-le d’abord haut, soufflez vers le capteur, et descendez jusqu’à ce que la détection se fasse sans se déclencher toute seule.
- Le buzzer est un modèle actif : il contient son propre oscillateur et un simple niveau haut le fait sonner, sans réglage de fréquence. Avec un buzzer passif, il faudrait employer
tone()en précisant la fréquence. - La pause de 300 ms laisse le capteur respirer et garde le moniteur série lisible. Une pause beaucoup plus longue fait manquer le pic d’une expiration courte.
Étalonner le montage
Laissez le module chauffer à l’air libre — deux minutes suffisent pour un essai, plusieurs heures pour une mesure qui ne dérive plus — puis relevez la ligne de base affichée. Soufflez ensuite vers le capteur à quelques centimètres : le rapport doit monter franchement, puis redescendre en quelques secondes quand vous vous écartez. Si rien ne bouge, vérifiez d’abord l’ordre des broches sur la sérigraphie, puis l’alimentation en 5 V, puis la durée de chauffe. Si le buzzer sonne en permanence dans l’air propre, la ligne de base a été mesurée trop bas : redémarrez la carte après quelques minutes supplémentaires de chauffe.
Variante : agir au lieu de biper
Pour commander une ventilation ou couper une alimentation, 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 et isole 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.
Points d’attention
- Ce module n’est pas un éthylotest. Il ne porte aucune homologation et ne dit rien d’un taux d’alcoolémie. Aucune décision concernant la conduite ou la sécurité des personnes ne peut être prise sur sa réponse : cela relève d’un appareil homologué, seul habilité à cet usage.
- Il détecte, il ne dose pas. La sortie analogique est un niveau relatif, dérivé de la température et de l’humidité ambiantes. Aucune concentration en ppm ni en mg/L ne peut être annoncée sans étalonnage à un gaz de référence, ce qu’un montage amateur ne peut pas faire de façon fiable.
- Il réagit à d’autres vapeurs que l’alcool. Désinfectant hydroalcoolique, parfum, vapeur de solvant, alcool à brûler et haleine produisent la même réponse. Une odeur forte dans la pièce suffit à faire monter le signal : c’est au montage d’être placé là où une fausse détection est improbable.
- 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. Pour une mesure sérieuse, le constructeur parle de plus de 24 heures de chauffe ; pour un essai, laissez au moins quelques minutes et refaites la ligne de base à froid.
- L’échauffement fait partie du fonctionnement. Le capteur chauffe réellement et consomme le courant d’un petit appareil. Ne l’enfermez pas dans un boîtier clos, ne le collez pas contre un plastique sensible à la chaleur et prévoyez une alimentation capable de fournir ce courant en plus du reste du montage.
- Le capteur s’encrasse. Vapeurs grasses de cuisine, pulvérisations et poussière finissent par dégrader la réponse. Éloignez-le d’une source de graisse et laissez-lui de l’air libre : le capot métallique protège l’élément, il ne le rend pas inaltérable.
Questions fréquentes
Peut-on en faire un éthylotest fiable ?
Non. Le MQ-3 réagit à l’alcool, mais sa réponse dépend de la température, de l’humidité, de l’âge du capteur et de la distance à la bouche, et il ne distingue pas l’alcool d’autres vapeurs réductrices. Un contrôle d’alcoolémie exploitable demande un capteur étalonné, un volume d’air expiré maîtrisé et une homologation : c’est un appareil de mesure, pas un module de détection.
Pourquoi le module réagit-il à un désinfectant ou à un parfum ?
Parce qu’ils contiennent de l’alcool. Un gel hydroalcoolique dégage de l’éthanol, et le capteur le détecte exactement comme l’alcool d’un verre : c’est la preuve qu’il fonctionne, pas une anomalie. Retenez simplement que « alcool détecté » ne veut pas dire « alcool bu ».
Quelle différence avec le MQ-2 ou le MQ-4 ?
Le gaz visé. Le MQ-2 est polyvalent sur les gaz combustibles et la fumée, le MQ-4 vise le méthane et le gaz de ville, le MQ-3 est le seul de la famille à être caractérisé sur l’éthanol. Aucun des trois ne dose : ils signalent tous un franchissement de niveau.
Peut-on le laisser sous tension en permanence ?
Oui, le capteur est conçu pour un chauffage continu, et c’est même la condition d’une réponse stable. Comptez sa consommation dans le bilan de l’alimentation : de l’ordre de 150 à 180 mA sous 5 V, en plus de tout le reste du montage. Un montage sur batterie devra en tenir compte.
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 chauffe trop peu le capteur : la réponse devient erratique 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 l’entrée de votre microcontrôleur n’accepte pas cette tension.
Pourquoi la valeur bouge-t-elle sans alcool dans la pièce ?
C’est le comportement normal d’un capteur à oxyde d’étain : sa résistance de repos suit la température et l’humidité de l’air. C’est précisément pour cela que le mini-projet mesure une ligne de base au démarrage au lieu de comparer à une valeur fixe.
À 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 — trois 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. Si le montage doit agir plutôt que biper, la variante ci-dessus avec un module relais est la suite naturelle du projet.








