Arduino - Capteur d'alcool MQ3
Ce tutoriel démontre l'interfaçage d'un capteur d'alcool MQ3 avec Arduino pour surveiller les niveaux d'éthanol et de vapeurs d'alcool dans votre environnement. Le capteur MQ3 trouve une utilisation répandue dans les dispositifs d'éthylotest DIY, les alarmes de détection d'alcool et les projets de surveillance de la qualité de l'air.
Vous découvrirez :
- Le câblage du module de capteur d'alcool MQ3 à votre carte Arduino
- L'écriture de code Arduino pour mesurer et interpréter les valeurs de concentration d'alcool

Matériel requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables STEM V3 (Arduino inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur d'alcool MQ3
Fonctionnant comme un Chémirésistor, le MQ3 est un dispositif à semiconducteur à oxyde métallique (MOS) qui identifie la présence d'alcool par des changements de résistance dans son matériau de détection. Ce module excelle dans la détection de vapeur d'éthanol avec une haute sensibilité à travers une gamme de concentrations.
À sa base, le capteur emploie une couche de dioxyde d'étain (SnO2) déposée sur une base céramique d'oxyde d'aluminium. Le chauffage active le SnO2, le rendant sensible aux molécules d'alcool. Un maillage protecteur en acier inoxydable (écran anti-explosion) entoure le capteur, protégeant l'élément chauffant tout en permettant aux molécules de gaz de passer vers la chambre de détection.
Les utilisations populaires de ce capteur couvrent la construction d'éthylotests, les équipements de détection d'alcool au volant, les systèmes d'alarme d'alcool et les applications de surveillance environnementale de l'alcool.
Spécifications techniques
- Tension de fonctionnement : 5V DC
- Résistance de charge : 200 KΩ
- Résistance de chauffage : 33Ω ± 5%
- Consommation de chauffage : < 800mW
- Résistance de détection : 1 MΩ – 8 MΩ
- Plage de détection : 25 – 500 ppm (parties par million)
- Temps de préchauffage : 24-48 heures pour la première utilisation
Comprendre les ppm : L'abréviation ppm signifie parties-par-million, représentant le rapport des molécules de gaz cible au total des molécules. En termes pratiques, une lecture de 500 ppm indique que 500 molécules d'alcool existent parmi chaque 1 000 000 de molécules de gaz totales, les 999 500 restantes étant d'autres gaz atmosphériques.
Brochage
Quatre broches de connexion sont disponibles sur le module de capteur MQ3 :
- Broche VCC : Alimentez avec +5V par cette connexion.
- Broche GND : Connectez à la masse (0V).
- Broche DO : Sortie numérique qui passe à LOW lors de la détection d'alcool au-dessus du seuil, ou HIGH quand en dessous. Le potentiomètre intégré permet l'ajustement du seuil.
- Broche AO : Sortie analogique fournissant une tension variable correspondant aux niveaux d'alcool. Une augmentation d'alcool produit une augmentation de la tension de sortie.

Deux LEDs indicatrices fournissent un retour visuel :
- PWR-LED : S'illumine quand l'alimentation est fournie au module.
- DO-LED : Reflète l'état de la sortie numérique—s'allumant pendant la détection d'alcool et restant éteinte autrement.
Comment ça fonctionne
Le mécanisme de détection du MQ3 repose sur les variations de résistance dans son élément semiconducteur de dioxyde d'étain (SnO2) :
Conditions d'air pur : La chaleur appliquée au SnO2 fait que l'oxygène se lie à sa surface, piégeant les électrons et créant une couche de déplétion. Ce piège à électrons génère une barrière qui restreint la conductivité électrique, maintenant la résistance élevée.
Exposition à l'alcool : Les molécules d'alcool interagissent avec l'oxygène de surface, brisant les liaisons d'oxygène et libérant les électrons piégés dans la structure de dioxyde d'étain. Cela augmente significativement la conductivité—une plus grande concentration d'alcool signifie une résistance électrique plus faible.
Deux modes de sortie sont disponibles sur ce capteur :
Sortie numérique (broche DO) :
- Un potentiomètre ajustable définit le niveau de seuil de détection.
- Quand l'alcool détecté dépasse le réglage du seuil, DO sort LOW tandis que l'indicateur LED s'illumine.
- Quand l'alcool reste en dessous du seuil, DO reste HIGH et la LED reste éteinte.
Sortie analogique (broche AO) :
- La sortie de tension se corrèle directement avec les niveaux d'alcool détectés.
- Plus de vapeur d'alcool présente = lecture de tension plus élevée.
- Moins de vapeur d'alcool présente = lecture de tension plus faible.
- Note : L'ajustement du potentiomètre n'affecte que la sortie numérique, pas le signal analogique.
Réchauffage et calibrage
Exigences de préchauffage
Des mesures précises du MQ3 nécessitent un chauffage approprié avant fonctionnement :
- Utilisation initiale ou stockage prolongé (30+ jours) : Permettez 24-48 heures de chauffage continu pour la stabilisation du capteur et des mesures fiables.
- Utilisation régulière : Un bref réchauffage de 5-10 minutes suffit. Les lectures initiales peuvent paraître élevées mais se normaliseront rapidement.
Pour réchauffer le capteur, connectez simplement VCC et GND à une alimentation 5V ou directement aux broches d'alimentation de votre Arduino, maintenant la connexion pendant toute la durée de réchauffage.
Trouver vos valeurs de seuil
Un stockage prolongé peut causer une dérive de calibrage dans les capteurs basés sur chauffage comme le MQ3. Établissez des valeurs de seuil précises pour les applications d'éthylotest en suivant cette procédure :
- Établir une ligne de base d'air pur : Faites fonctionner le capteur dans l'air frais et notez la sortie analogique (attendez-vous à des valeurs près de 100-150).
- Introduire de la vapeur d'alcool : Tenez de l'alcool isopropylique ou du désinfectant pour les mains près (pas sur) du capteur, permettant seulement aux vapeurs de l'atteindre. Enregistrez les lectures élevées (communément 400-900 basé sur la densité de vapeur).
- Définir les zones de détection : Utilisez vos valeurs enregistrées pour établir des gammes :
- Pas d'intoxication : Lectures sous ligne de base + 20 (exemple : < 120)
- Consommation modérée : Valeurs de milieu de gamme (exemple : 120-400)
- Intoxication élevée : Lectures dépassant le seuil modéré (exemple : > 400)
Important : Les caractéristiques des capteurs varient entre les unités et les environnements. Effectuez toujours un calibrage avec votre matériel spécifique avant le déploiement.
Réglage du seuil numérique
Configurez le point de déclenchement de la broche DO via le potentiomètre de réglage intégré :
- Positionnez de la vapeur d'alcool près du capteur.
- Tournez le potentiomètre dans le sens horaire jusqu'à ce que vous voyiez la LED s'activer.
- Tournez lentement dans le sens antihoraire jusqu'à ce que la LED se désactive juste.
- Le seuil de déclenchement est maintenant correctement calibré.
Schéma de câblage
Les deux broches de sortie sont disponibles sur le module MQ3. Sélectionnez l'une ou utilisez les deux simultanément selon les exigences de votre projet.
| Capteur d'alcool MQ3 | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 |
| AO | A0 |

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino - Lecture de sortie numérique
Étapes rapides
- Ouvrez le code ci-dessus dans Arduino IDE
- Téléversez vers votre carte Arduino via le bouton Upload
- Positionnez une source de vapeur d'alcool près du capteur MQ3 (désinfectant pour les mains ou alcool à friction sur coton fonctionne bien)
- Surveillez la sortie dans le Moniteur série
Note : Quand les lectures ne correspondent pas aux conditions réelles (faux positifs ou détections manquées), ajustez finement le seuil de détection en utilisant le potentiomètre du module. La rotation dans le sens horaire augmente la sensibilité ; dans le sens antihoraire la diminue. Ajustez jusqu'à ce que la précision de détection s'améliore.
Code Arduino - Lecture de sortie analogique
Étapes rapides
- Chargez le code dans Arduino IDE
- Téléversez via le bouton Upload
- Introduisez de la vapeur d'alcool au capteur (désinfectant pour les mains ou alcool isopropylique)
- Observez les lectures dans le Moniteur série
En utilisant soit les sorties numériques ou analogiques, vous pouvez implémenter des décisions basées sur des seuils pour activer des alarmes, contrôler des indicateurs d'avertissement, ou enregistrer des données pour la fonctionnalité d'éthylotest.
Code Arduino - Éthylotest avec détection de seuil
Cet exemple démontre l'interprétation de sortie analogique par des seuils calibrés pour estimer les niveaux d'intoxication.
Étapes rapides
- Critique : Calibrez d'abord votre capteur en utilisant l'exemple de lecture analogique pour déterminer les valeurs de seuil appropriées pour votre environnement.
- Mettez à jour les constantes SOBER_THRESHOLD et DRUNK_THRESHOLD dans le code avec vos nombres calibrés.
- Chargez et téléversez le code modifié vers Arduino
- Testez avec de la vapeur d'alcool (vapeur d'alcool isopropylique ou désinfectant pour les mains)
- Révisez les messages de statut dans le Moniteur série
Avertissement : Ce projet sert exclusivement des fins éducatives. Ne vous fiez jamais à cet appareil pour des fonctions d'éthylotest légales ou des évaluations de sécurité de conduite.