Arduino UNO Q - Capteur d'Alcool MQ3
Le capteur d'alcool MQ3 détecte la vapeur d'éthanol dans l'air. Il fournit à la fois une sortie numérique (alcool/pas d'alcool) et une sortie analogique (niveau de concentration d'alcool). Avec Bridge et Telegram, votre Arduino UNO Q peut envoyer des alertes instantanées de détection d'alcool sur votre téléphone et même servir d'éthylomètre.
Dans ce tutoriel, vous apprendrez :
- Comment fonctionne le capteur d'alcool MQ3 et pourquoi il a besoin d'un temps de chauffe
- Comment câbler le MQ3 au MCU Arduino UNO Q
- Comment lire les sorties numérique (DO) et analogique (AO)
- Comment construire un éthylomètre simple avec des niveaux de seuil sur Arduino UNO Q
- Comment utiliser Bridge pour exposer l'état et les événements d'alcool au côté Linux (Python)
- Comment recevoir des alertes de détection d'alcool Telegram depuis Arduino UNO Q
- Comment utiliser OpenClaw sur Arduino UNO Q avec le capteur d'alcool MQ3

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 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) qui détecte la vapeur d'éthanol (alcool). Son élément sensible interne en Dioxyde d'Étain (SnO2) change de résistance en présence de vapeur d'alcool — une concentration d'alcool plus élevée réduit la résistance, ce qui augmente la tension de sortie.

Brochage
- Broche VCC : Alimentation 5V (l'élément chauffant nécessite 5V)
- Broche GND : Masse
- Broche DO : Sortie numérique — HIGH = pas d'alcool, LOW = alcool détecté. Sensibilité ajustée par le potentiomètre intégré.
- Broche AO : Sortie analogique — valeur plus élevée = concentration d'alcool plus importante
Indicateurs LED
- LED-PWR : Indicateur d'alimentation
- LED-DO : S'allume lorsque de l'alcool est détecté (broche DO LOW)
Spécifications Techniques
- Tension de fonctionnement : 5V DC
- Résistance du chauffage : 33 Ω ± 5%
- Consommation du chauffage : < 800 mW
- Plage de détection : 25 – 500 ppm (parties par million)
Temps de Chauffe Requis
- Première utilisation ou après un long stockage (>1 mois) : Chauffage pendant 24 à 48 heures
- Utilisation normale : 5 à 10 minutes ; les premières mesures peuvent être élevées et se stabiliseront
Le code inclut un délai de chauffe de 20 secondes dans setup() comme délai de travail minimum.
※ Note:
La broche AO du MQ3 peut produire jusqu'à ~5V lorsqu'elle est alimentée en 5V. La référence ADC du MCU Arduino UNO Q est 3,3V — les valeurs AO supérieures à 3,3V seront saturées à 4095. Utilisez la broche DO comme méthode de détection principale. Les lectures AO servent uniquement d'indicateurs d'intensité relative.
Calibrage des Seuils d'Éthylomètre
Les seuils d'éthylomètre dépendent de votre capteur spécifique et de l'environnement. Pour calibrer :
- Ligne de base en air pur : Faites fonctionner le capteur en air pur et enregistrez la valeur AO (généralement 300 à 600 en gamme 12 bits après chauffe)
- Test avec vapeur d'alcool : Utilisez de l'alcool isopropylique ou du gel hydroalcoolique (vapeurs seulement — ne mettez pas de liquide sur le capteur) et notez la valeur AO
- Définissez les seuils : Définissez SOBER_THRESHOLD juste au-dessus de votre ligne de base en air pur ; définissez DRUNK_THRESHOLD sur la base des mesures en présence d'alcool
L'exemple de code utilise SOBER_THRESHOLD = 480 et DRUNK_THRESHOLD = 1600 — remplacez-les par vos valeurs calibrées.
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche Capteur d'Alcool MQ3 | MCU Arduino UNO Q |
|---|---|
| VCC | 5V |
| GND | GND |
| DO | D2 |
| AO | A0 |
Comment Programmer le Capteur d'Alcool MQ3
- Configurez la broche DO comme entrée numérique :
- Lisez les deux sorties :
- Vérifiez la présence d'alcool depuis la sortie numérique :
Code Arduino UNO Q
L'Arduino UNO Q dispose de deux processeurs fonctionnant ensemble :
- Le STM32 MCU chauffe le capteur pendant 20 secondes, puis lit DO et AO toutes les 500 ms
- Le Qualcomm MPU exécute Debian Linux avec Wi-Fi — dans cette section, seul le MCU est programmé. Une section ultérieure montre comment les deux processeurs fonctionnent ensemble via Bridge.
Étapes Rapides
Première utilisation d'Arduino UNO Q ? Suivez le tutoriel Démarrer avec Arduino UNO Q avant de continuer.
- Connectez : Câblez le capteur d'alcool MQ3 à l'Arduino UNO Q MCU comme indiqué dans le schéma de câblage.
- Ouvrez Arduino App Lab : Lancez Arduino App Lab et attendez qu'il détecte votre Arduino UNO Q.
- Créez une nouvelle App : Cliquez sur le bouton Create New App.

- Donnez un nom à l'App, par exemple : AlcoholSensor
- Cliquez sur Create pour confirmer.

- Collez le sketch : Copiez le code MCU ci-dessus et collez-le dans sketch/sketch.ino.
- Téléversez : Cliquez sur le bouton Run dans Arduino App Lab.

- Attendez le message de chauffe de 20 secondes dans le Moniteur Série.
- Tenez délicatement des vapeurs d'alcool isopropylique près du capteur (ne renversez pas de liquide dessus) et observez la sortie du Moniteur Série.
- Ajustez le potentiomètre si la LED DO ne répond pas comme prévu.
Sortie de la Console App Lab
Code Arduino UNO Q — Éthylomètre
Utilisez la sortie analogique (AO) pour mesurer l'intensité de l'alcool et classer le résultat en niveaux : Sobre, Dans les limites ou Élevé.
※ Note:
Calibrez les seuils pour votre capteur spécifique. Remplacez SOBER_THRESHOLD et DRUNK_THRESHOLD par les valeurs mesurées avec votre propre capteur en air pur et lors d'une exposition à l'alcool.
Sortie de la Console App Lab
Bridge : Linux + MCU
Cette section montre comment programmer les deux processeurs de l'Arduino UNO Q pour que le côté Linux puisse lire l'état de l'alcool, la valeur d'intensité et le niveau d'éthylomètre via Bridge :
- Le capteur d'alcool est connecté au MCU — le MCU chauffe pendant 20 secondes, puis lit DO et AO toutes les 500 ms
- Le MPU ne peut pas lire les broches du capteur directement — il appelle des fonctions Bridge pour obtenir l'état, la valeur, le niveau ou les événements
- Le MPU dispose du Wi-Fi — exécutant Debian Linux complet, il peut envoyer des alertes Telegram instantanées lorsque de l'alcool est détecté
- Arduino_RouterBridge permet la communication RPC entre les deux processeurs
- ⚠️ /dev/ttyHS1 (Linux) et Serial1 (MCU) sont RÉSERVÉS par le router — ne les ouvrez jamais dans le code utilisateur
Code MCU (Bridge)
Code Python (Bridge)
Étapes Rapides
- Connectez : Câblez le capteur d'alcool MQ3 à l'Arduino UNO Q comme indiqué dans le schéma de câblage.
- Ouvrez Arduino App Lab et créez une nouvelle App nommée AlcoholSensorBridge.
- Collez le sketch MCU dans sketch/sketch.ino.
- Collez le code Python dans le fichier Python.
- Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.

- Search for Arduino_RouterBridge created by Arduino and click the Install button.
- Téléversez : Cliquez sur le bouton Run. Attendez la fin de la période de chauffe.

- Exposez le capteur à des vapeurs d'alcool et observez l'événement apparaître dans les deux consoles.
Sortie de la Console App Lab
Telegram
Recevez des alertes instantanées de détection d'alcool Telegram depuis l'Arduino UNO Q, et interrogez l'état, l'intensité ou le niveau d'éthylomètre du capteur à distance.
Sketch MCU : Conservez le même sketch MCU de la section Bridge précédente.
Code Python (Telegram)
Étapes Rapides
- Remplacez YOUR_TELEGRAM_BOT_TOKEN par votre token de bot réel obtenu depuis BotFather.
- Remplacez YOUR_CHAT_ID par votre identifiant de chat Telegram.
- Collez ce code Python dans le fichier Python de votre App (conservez le même sketch MCU).
- Cliquez sur le bouton Run — attendez la chauffe, puis exposez le capteur à des vapeurs d'alcool pour déclencher l'alerte Telegram.
Sortie de la Console App Lab
ArduinoBot
Intégration d'OpenClaw
Vous pouvez adapter OpenClaw à ce tutoriel en vous référant aux instructions du tutoriel Arduino UNO Q - OpenClaw.
Idées de Projets
Vous pouvez construire de nombreux projets utiles avec le capteur d'alcool MQ3 et Arduino UNO Q :
- Éthylomètre intelligent avec rapport Telegram : Soufflez près du capteur et recevez automatiquement un message Telegram avec votre niveau d'éthylomètre (sobre / dans les limites / élevé) et la valeur d'intensité AO brute — utile pour une démonstration ou un projet éducatif
- Verrouillage d'allumage de voiture : Combinez le capteur d'alcool avec un module relais — si le capteur détecte de l'alcool au-dessus de DRUNK_THRESHOLD, le relais empêche le circuit d'allumage de se fermer, et une alerte Telegram est envoyée au téléphone d'un tuteur
- Moniteur de sécurité de fête : Installez le capteur dans une pièce — quand de l'alcool est détecté au-dessus d'un niveau défini pendant plus de 5 mesures consécutives, le MPU envoie une notification Telegram pour surveiller l'environnement
- Enregistreur d'exposition à l'alcool : Enregistrez la valeur AO et le niveau d'éthylomètre chaque minute dans un fichier CSV côté Linux — envoyez un résumé Telegram quotidien avec les pics de mesures et les horodatages
- Système de sécurité multi-capteurs : Combinez le capteur d'alcool avec le tutoriel capteur de gaz — si les deux détectent des niveaux dangereux simultanément, envoyez une alerte Telegram combinée avec les deux mesures
Défiez-vous
Prêt à aller plus loin avec le capteur d'alcool MQ3 sur Arduino UNO Q ? Essayez ces défis :
- Facile : Ajoutez une commande Telegram /history qui retourne les 5 derniers événements de détection d'alcool avec leurs valeurs AO et niveaux d'éthylomètre, stockés dans une liste Python.
- Moyen : Implémentez une période de refroidissement : après l'envoi d'une alerte alcohol_detected, attendez au moins 60 secondes avant d'envoyer une autre alerte — même si le capteur continue de détecter de l'alcool — pour éviter le spam Telegram.
- Avancé : Construisez un enregistreur automatique d'éthylomètre — à chaque événement de détection, Python sauvegarde une entrée horodatée (date, heure, valeur AO, niveau) dans un fichier JSON sur Linux, et une commande Telegram /report retourne les 10 dernières entrées formatées en journal lisible.