Arduino UNO R4 - Capteur d'alcool MQ-3
Ce guide vous montrera comment utiliser l'Arduino UNO R4 et le capteur d’alcool MQ-3 pour détecter la vapeur d’alcool et l’éthanol dans l’air. Ce capteur est couramment utilisé dans des projets d’éthylotest et de systèmes de détection d’alcool.
- Comment connecter le capteur d’alcool MQ-3 à l’Arduino UNO R4
- Comment écrire un code pour l’Arduino UNO R4 afin de lire la concentration d’alcool à partir du capteur

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos du capteur d’alcool MQ3
Le capteur d’alcool MQ3 est un capteur MOS (semi-conducteur à oxyde métallique), également connu sous le nom de Chemiresistor, car il détecte l’alcool en fonction du changement de résistance du matériau sensible lorsqu’il est exposé à la vapeur d’alcool. Il est spécialement conçu pour détecter la vapeur d’alcool (éthanol) dans l’air et il est extrêmement sensible aux concentrations d’alcool.
Le capteur utilise un revêtement en dioxyde d'étain (SnO2) sur un substrat céramique en oxyde d'aluminium en tant qu'élément de détection. Lorsqu'il est chauffé, le SnO2 devient sensible à l'alcool. Le capteur est recouvert d'un treillis en acier inoxydable (réseau anti-explosion) qui protège l'élément chauffant interne et filtre les particules en suspension tout en permettant aux éléments gazeux d'atteindre la chambre de détection.
Les applications courantes incluent des éthylotests, des systèmes de détection de la conduite en état d’ivresse, des alarmes de présence d’alcool et des projets nécessitant de surveiller la concentration d’alcool dans l’environnement.
Spécifications techniques
- Tension d'alimentation : 5 V CC
- Résistance de charge : 200 kΩ
- Résistance chauffante : 33 Ω ± 5%
- Consommation de chauffage : < 800 mW
- Résistance de détection : 1 MΩ – 8 MΩ
- Portée de détection : 25 – 500 ppm (parties par million)
- Temps de préchauffage : 24-48 heures pour la première utilisation
Que signifie ppm ? Les parties par million (ppm) constituent l'unité de mesure de la concentration des gaz. Par exemple, 500 ppm d'alcool signifie que sur un million de molécules de gaz, 500 sont de l'alcool et 999 500 sont d'autres gaz.
Brochage
Le capteur d’alcool MQ3 possède quatre broches :
- Broche VCC : Connectez cette broche au VCC (5V).
- Broche GND : Connectez cette broche à GND (0V).
- Broche DO : Il s'agit d'une broche de sortie numérique. Elle affiche BAS lorsque de l'alcool est détecté et HAUT sinon. Vous pouvez ajuster le seuil de détection d'alcool à l'aide du potentiomètre intégré.
- Broche AO : Il s'agit d'une broche de sortie analogique. Elle produit une tension qui varie en fonction de la concentration d'alcool. Une concentration d'alcool plus élevée entraîne une augmentation de la tension.

Il dispose également de deux voyants LED :
- Une LED PWR indique que l'alimentation est sous tension.
- Une LED DO indique l'état de détection d'alcool selon la valeur de la broche DO : elle s'allume lorsque l'alcool est détecté et s'éteint lorsqu'aucun alcool n'est détecté.
Comment cela fonctionne
Le capteur MQ3 fonctionne sur le principe des variations de la résistance électrique de l'élément en dioxyde d'étain (SnO2) :
Dans l'air pur : Lorsque le semi-conducteur SnO2 est chauffé, des molécules d'oxygène sont adsorbées à la surface, créant une couche de déplétion électronique. Cela forme une barrière de potentiel qui rend le matériau fortement résistant, empêchant le passage du courant.
En présence d'alcool : La vapeur d'alcool réagit avec l'oxygène adsorbé, réduisant la densité d'oxygène à la surface et abaissant la barrière de potentiel. Cela libère des électrons dans le dioxyde d'étain, permettant au courant de circuler librement. Plus il y a d'alcool, plus la résistance est faible.
Le capteur fournit deux types de sorties :
Pour la borne DO (Sortie numérique) :
- Le module comprend un potentiomètre pour régler le seuil de sensibilité à la détection d’alcool.
- Si la concentration d’alcool dépasse le seuil défini, la broche de sortie du capteur passe à bas et la LED DO s’allume.
- Si la concentration d’alcool est inférieure au seuil, la broche de sortie du capteur passe à haut et la LED DO s’éteint.
Pour la broche AO (sortie analogique) :
- La tension de sortie est proportionnelle à la concentration d'alcool.
- Une concentration plus élevée de vapeur d'alcool produit une tension plus élevée.
- Une concentration plus faible de vapeur d'alcool produit une tension plus faible.
- Le potentiomètre n'affecte pas la valeur de la broche AO.
Préchauffage et étalonnage du capteur MQ-3
Temps d'échauffement
Le capteur d’alcool MQ-3 doit être chauffé avant utilisation pour obtenir des lectures précises :
- Première utilisation ou après un stockage prolongé (plus d'un mois) : Laissez-le se réchauffer pendant 24 à 48 heures pour obtenir des résultats stables et précis.
- Utilisation récente : Il faut seulement 5 à 10 minutes pour le réchauffer. Au début, les lectures peuvent être élevées, mais elles se stabiliseront après un court instant.
Pour chauffer le capteur MQ3, connectez ses broches VCC et GND à une source d'alimentation ou au VCC et GND d'un Arduino UNO R4, et laissez-le connecté pendant la période de préchauffage.
Calibration des valeurs seuils
Comme le MQ-3 est un capteur alimenté par un élément chauffant, l'étalonnage peut dériver s'il est laissé en stockage pendant une longue période. Pour calibrer le capteur et trouver les valeurs seuils pour votre projet d'éthylotest:
- Enregistrer les valeurs de référence : Faites fonctionner le capteur dans de l'air propre et enregistrez les lectures analogiques (généralement autour de 100-150).
- Test avec de l'alcool : Utilisez de l'alcool isopropylique ou du gel hydroalcoolique (ne mettez pas de liquide sur le capteur - uniquement des vapeurs). Pressez le flacon près du capteur pour libérer les vapeurs et enregistrer les lectures (généralement entre 400 et 900 selon la concentration).
- Définir les seuils : En fonction de vos lectures, vous pouvez définir des niveaux seuils :
- Sobre : En dessous de la valeur de référence + 20 (par ex, < 120)
- Dans les limites légales : Entre la valeur de référence et le niveau modéré (par ex, 120-400)
- Au-dessus des limites légales : Au-delà du niveau modéré (par ex, > 400)
Remarque : Ces valeurs varient en fonction de votre capteur et de votre environnement. Calibrez toujours votre propre capteur avant utilisation.
Réglage du seuil de sortie numérique
Pour régler le seuil de la broche DO à l’aide du potentiomètre intégré :
- Exposez le capteur aux vapeurs d'alcool.
- Tournez le potentiomètre dans le sens des aiguilles d'une montre jusqu'à ce que la LED d'état s'allume.
- Tournez le potentiomètre dans le sens inverse des aiguilles d'une montre jusqu'à ce que la LED s'éteigne.
- Votre seuil est maintenant réglé.
Diagramme de câblage
Le module du capteur d’alcool MQ3 possède deux sorties. Vous pouvez en utiliser une ou les deux, selon vos besoins.
| MQ3 Alcohol Sensor | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | Pin 2 |
| AO | A0 |

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code Arduino UNO R4 - Lire la valeur de la broche DO
Étapes rapides
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur Arduino UNO R4 - Installation du logiciel..
- Connectez la carte Arduino Uno R4 au capteur d'alcool MQ3 selon le schéma fourni.
- Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d'un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur Arduino UNO R4.
- Exposez le capteur MQ3 à la vapeur d'alcool (vous pouvez utiliser du gel hydroalcoolique ou de l'alcool à friction sur une boule de coton près du capteur).
- Vérifiez le résultat dans le Moniteur série.
Note : Si la sortie du capteur ne reflète pas la présence réelle d'alcool (par exemple, elle détecte de l'alcool alors qu'il n'y en a pas, ou ne détecte pas lorsqu'il y en a), vous devez ajuster le seuil de déclenchement en tournant le potentiomètre sur le module du capteur. Tournez-le dans le sens des aiguilles d'une montre pour augmenter la sensibilité ou dans le sens inverse pour diminuer la sensibilité jusqu'à ce que la détection corresponde à la réalité.
Arduino UNO R4 Code - Lire la valeur de la broche AO
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le dans l'IDE Arduino
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers l'Arduino UNO R4
- Exposez le capteur MQ3 à la vapeur d'alcool (vous pouvez utiliser du gel hydroalcoolique ou de l'alcool isopropylique)
- Vérifiez le résultat sur le Moniteur série.
Sur la base des valeurs issues du DO ou de l'AO, vous pouvez définir des seuils de détection d'alcool et déclencher une alarme, activer une LED d'avertissement ou enregistrer les données pour des applications d'éthylotest.
Code Arduino UNO R4 - Alcootest simple avec seuils
Cet exemple avancé utilise la sortie analogique pour estimer le niveau d'alcoolémie en se basant sur des seuils calibrés.
Étapes rapides
- Important : Avant d'utiliser ce code, exécutez le sketch de calibration ci-dessus pour trouver les valeurs seuil de votre capteur dans l'air propre et en présence d'alcool.
- Remplacez les valeurs seuil dans le code (SOBER_THRESHOLD et DRUNK_THRESHOLD) par vos valeurs calibrées.
- Téléversez le code sur Arduino UNO R4.
- Testez en exposant le capteur à la vapeur d'alcool (gel désinfectant pour les mains ou alcool isopropylique).
- Vérifiez le résultat sur le Moniteur série.
Remarque : Ceci est destiné à des fins éducatives uniquement. N'en faites pas usage comme éthylotest légal ni pour déterminer l'aptitude à la conduite.