Arduino Nano ESP32 - Capteur d'alcool MQ3
Ce tutoriel vous guide dans l'utilisation de l'Arduino Nano ESP32 avec le capteur d'alcool MQ3 pour détecter et mesurer les concentrations d'éthanol et de vapeur d'alcool. Le capteur MQ3 est idéal pour construire des systèmes d'analyse de souffle, des alarmes de vapeur d'alcool et des outils d'évaluation de la qualité de l'air.
Dans ce tutoriel, vous apprendrez à :
- Connecter le module capteur d'alcool MQ3 à Arduino Nano ESP32
- Programmer Arduino Nano ESP32 pour lire et traiter les données de concentration d'alcool

Matériel nécessaire
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur d'alcool MQ3
Le MQ3 est un chimiorésisteur à semi-conducteur d'oxyde métallique (MOS) qui détecte la présence d'alcool en surveillant les variations de résistance dans son élément de détection. Ce capteur est spécialisé dans la détection de vapeur d'éthanol, offrant des performances constantes sur un large spectre de concentration.
Le composant actif du capteur présente une couche de Dioxyde d'Étain (SnO2) appliquée sur un substrat céramique en Oxyde d'Aluminium. L'activation thermique rend le matériau SnO2 réactif aux molécules d'alcool environnantes. Un maillage protecteur en acier inoxydable enveloppe le capteur, protégeant les composants internes tout en permettant aux molécules de gaz d'accéder à la chambre de détection.
Les applications typiques comprennent les systèmes maison d'alcootest, les appareils de détection de conduite altérée, les systèmes d'alerte de vapeur d'alcool et les stations de surveillance environnementale d'alcool.
Spécifications techniques
- Tension de fonctionnement : 5V DC
- Résistance de charge : 200 KΩ
- Résistance de chauffe : 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
Qu'est-ce que ppm ? Le terme ppm (parties par million) exprime le rapport de concentration des molécules de gaz cible aux molécules totales. Par exemple, 500 ppm indique que 500 molécules d'alcool existent dans chaque 1 000 000 molécules de gaz, les 999 500 restantes étant d'autres composants atmosphériques.
Brochage
Le module capteur MQ3 offre quatre bornes de connexion :
- Broche VCC : Connecter à une source d'alimentation +5V.
- Broche GND : Connecter à la masse (0V).
- Broche DO : La sortie numérique passe à LOW lorsque l'alcool dépasse le seuil, ou HIGH en dessous. Le seuil est ajustable via le potentiomètre intégré.
- Broche AO : La sortie analogique fournit une tension proportionnelle à la concentration d'alcool. Plus d'alcool crée une tension de sortie plus élevée.

Deux indicateurs LED offrent un statut visuel :
- LED PWR : S'illumine lorsque le module est alimenté.
- LED DO : Reflète le statut de la sortie numérique — s'allume lors de la détection d'alcool, reste éteinte sinon.
Comment ça fonctionne
Le principe de détection du MQ3 repose sur les variations de résistance dans son semi-conducteur de Dioxyde d'Étain (SnO2) :
Dans l'air propre : Le chauffage fait adhérer les molécules d'oxygène à la surface du SnO2, piégeant les électrons et formant une couche de déplétion. Ces électrons piégés créent une barrière de conduction, résultant en une haute résistance électrique.
Lors de l'exposition à l'alcool : Les molécules d'alcool interagissent avec l'oxygène de surface, brisant les liaisons et libérant les électrons piégés dans le réseau de dioxyde d'étain. Cette libération d'électrons augmente considérablement la conductivité — de plus grandes concentrations d'alcool produisent des valeurs de résistance plus faibles.
Le capteur offre deux modes de sortie :
Sortie numérique (broche DO) :
- Un potentiomètre de réglage intégré contrôle le seuil de détection.
- La détection d'alcool au-dessus du seuil met DO à LOW et active l'indicateur LED.
- La détection en dessous du seuil maintient DO à HIGH avec la LED éteinte.
Sortie analogique (broche AO) :
- La tension varie directement avec la concentration d'alcool.
- Augmentation de la vapeur d'alcool = tension de sortie élevée.
- Diminution de la vapeur d'alcool = tension de sortie réduite.
- Remarque : Le potentiomètre de réglage affecte uniquement le seuil numérique, pas la sortie analogique.
Préchauffage et calibration
Exigences de préchauffage
Le capteur MQ3 a besoin d'un chauffage approprié pour des mesures fiables :
- Premier déploiement ou stockage prolongé (30+ jours) : Maintenez un chauffage continu pendant 24-48 heures pour stabiliser le capteur et assurer la précision des mesures.
- Utilisation récente : Un court préchauffage de 5-10 minutes est suffisant. Les valeurs initiales peuvent sembler élevées mais se normaliseront rapidement.
Pour réchauffer le capteur, connectez VCC et GND à 5V et à la masse — soit via une alimentation dédiée soit directement aux broches d'alimentation de votre Arduino Nano ESP32.
Trouver vos valeurs de seuil
Les capteurs de gaz avec éléments chauffants comme le MQ3 peuvent subir une dérive de calibration après le stockage. Pour les projets d'alcootest, établissez des valeurs de seuil appropriées grâce à cette séquence de calibration :
- Mesurer la ligne de base en air propre : Faites fonctionner le capteur dans de l'air frais sans alcool présent. Enregistrez la valeur analogique (typiquement 100-150).
- Tester avec de la vapeur d'alcool : Positionnez de l'alcool isopropylique ou du gel hydroalcoolique près du capteur (sans le toucher), permettant à la vapeur d'atteindre le détecteur. Enregistrez les lectures augmentées (généralement 400-900 selon la concentration de vapeur).
- Définir les seuils de détection : En utilisant vos données enregistrées, établissez des zones de détection :
- Zone sobre : Valeurs inférieures à la ligne de base + 20 (exemple : < 120)
- Zone modérée : Valeurs intermédiaires (exemple : 120-400)
- Zone élevée : Valeurs dépassant la limite modérée (exemple : > 400)
Important : Les unités de capteur individuelles et les conditions environnementales produisent des valeurs variables. Calibrez toujours en utilisant votre matériel spécifique avant le déploiement.
Régler le seuil numérique
Configurez le point d'activation de la broche DO en utilisant le potentiomètre du module :
- Exposez le capteur à de la vapeur d'alcool.
- Tournez le potentiomètre dans le sens des aiguilles d'une montre jusqu'à ce que la LED s'active.
- Tournez progressivement dans le sens inverse jusqu'à ce que la LED se désactive juste.
- Le seuil numérique est maintenant calibré.
Schéma de câblage
Le module MQ3 offre des sorties numériques et analogiques. Sélectionnez l'une ou l'autre sortie ou utilisez les deux simultanément selon les besoins de votre application.
- Le schéma de câblage entre Arduino Nano ESP32 et le capteur d'alcool MQ3 lors de l'alimentation via le port USB.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Capteur d'alcool MQ3 | Arduino Nano ESP32 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | D2 |
| AO | A5 |
- Le schéma de câblage entre Arduino Nano ESP32 et le capteur d'alcool MQ3 lors de l'alimentation via la broche Vin.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino Nano ESP32 - Lecture de la sortie numérique
Étapes rapides
- Si c'est la première fois que vous utilisez Arduino Nano ESP32, consultez Installation du logiciel Arduino Nano ESP32..
- Copiez le code ci-dessus dans Arduino IDE
- Cliquez sur le bouton Téléverser pour programmer Arduino Nano ESP32
- Approchez une source de vapeur d'alcool près du capteur MQ3 (le gel hydroalcoolique ou l'alcool à friction sur du coton fonctionne bien)
- Consultez les résultats de détection dans le Moniteur Série
Gardez à l'esprit que si le statut de la LED reste constamment allumé ou éteint, ajustez le potentiomètre pour affiner la sensibilité du capteur pour une détection précise.
Code Arduino Nano ESP32 - Lecture de la sortie analogique
Étapes rapides
- Copiez le code ci-dessus dans Arduino IDE
- Cliquez sur le bouton Téléverser pour programmer Arduino Nano ESP32
- Introduisez de la vapeur d'alcool au capteur (vapeurs de gel hydroalcoolique ou d'alcool isopropylique)
- Surveillez les valeurs dans le Moniteur Série
En utilisant les sorties numériques ou analogiques, vous pouvez créer une logique basée sur des seuils pour déclencher des alarmes, contrôler des indicateurs d'avertissement ou capturer des données pour les applications d'alcootest.
Code Arduino Nano ESP32 - Alcootest avec détection de seuil
Ce code démontre l'interprétation de la sortie analogique à travers des seuils calibrés pour évaluer les niveaux de consommation d'alcool.
Étapes rapides
- Essentiel : Calibrez d'abord votre capteur spécifique en utilisant l'exemple de lecture analogique pour trouver des valeurs de seuil appropriées.
- Remplacez les constantes SOBER_THRESHOLD et DRUNK_THRESHOLD dans le code par vos valeurs calibrées.
- Téléversez le code modifié sur Arduino Nano ESP32
- Testez en exposant à de la vapeur d'alcool (vapeur d'alcool isopropylique ou de gel hydroalcoolique)
- Observez les messages de statut dans le Moniteur Série