ESP32 S3 - Capteur d'alcool MQ3

Ce tutoriel vous montre comment utiliser l'ESP32 S3 avec un capteur d'alcool MQ3 pour détecter les vapeurs d'éthanol et d'alcool dans l'air. Que vous construisiez un éthylotest DIY, une alarme de vapeur d'alcool ou un moniteur de qualité de l'air, l'ESP32 S3 est une plateforme performante pour les projets de détection de gaz.

Ce que vous allez construire :

  1. Un détecteur d'alcool numérique qui signale la présence ou l'absence d'alcool via le moniteur série
  2. Un lecteur analogique qui capture les valeurs ADC brutes proportionnelles à la concentration d'alcool
  3. Un éthylotest basé sur des seuils qui classe les niveaux de sobriété
  4. Une base pour des applications de détection d'alcool connectées au WiFi ou équipées d'un écran OLED
ESP32 S3 avec module capteur de gaz d'alcool MQ3

Matériel requis

1×ESP32 S3 WROOM N16R8
1×Alternativement: ESP32 S3 SuperMini Dev Module
1×Alternativement: ESP32 S3 Uno-form Board
1×Alternativement: ESP32 S3 Camera Board
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×MQ3 Alcohol Sensor
1×Plaque d'essai
1×Fils de connexion
1×Recommandé: Screw Terminal Expansion Board for ESP32 S3
1×Recommandé: Breakout Expansion Board for ESP32 S3
1×Recommandé: Power Splitter for ESP32 S3

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 S3 (ESP32 S3 inclus)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du capteur d'alcool MQ3

Le MQ3 est un capteur de gaz à semi-conducteur d'oxyde métallique qui détecte les vapeurs d'alcool et d'éthanol en mesurant les changements de résistance dans son élément de détection chauffé. Il fournit à la fois une sortie de seuil numérique et une sortie analogique continue, ce qui le rend bien adapté à des projets allant de simples déclencheurs d'alarme à des relevés d'éthylotest calibrés.

Caractéristiques principales

  • Tension de fonctionnement : 5V DC
  • Plage de détection : 25-500 ppm (parties par million)
  • 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Ω
  • Temps de préchauffage : 24-48 heures pour la première utilisation, 5-10 minutes pour les utilisations suivantes
  • Types de sortie : Sorties numérique (DO) et analogique (AO)
  • Type de capteur : Chimiorésistance à semi-conducteur d'oxyde métallique (MOS)
  • Matériau de détection : Dioxyde d'étain (SnO2) sur substrat céramique
  • Idéal pour : éthylotests DIY, alarmes de vapeur d'alcool, moniteurs de qualité de l'air, détecteurs de conduite en état d'ivresse

Brochage

Le module capteur d'alcool MQ3 possède quatre broches qui se connectent directement à l'ESP32 S3, plus deux LED indicatrices embarquées pour l'alimentation et l'état de détection :

  1. Broche VCC : Broche d'alimentation - connectez-la à 5V
  2. Broche GND : Broche de masse - connectez-la à GND (0V)
  3. Broche DO : Broche de sortie numérique - émet HIGH ou LOW selon le réglage du seuil
  4. Broche AO : Broche de sortie analogique - émet une tension proportionnelle à la concentration d'alcool
Schéma de brochage du module capteur d'alcool MQ3

Le module comprend également deux LED indicatrices :

  • PWR-LED : Indicateur d'alimentation - s'allume lorsque le module est alimenté
  • DO-LED : Indicateur de détection - s'allume lorsque de l'alcool est détecté au-dessus du seuil

Comment ça fonctionne

Le capteur MQ3 détecte l'alcool grâce aux changements de résistance de son matériau semi-conducteur en dioxyde d'étain (SnO2) :

Fonctionnement en air pur :

  • Les molécules d'oxygène adhèrent à la surface du SnO2 lorsqu'elle est chauffée
  • Les électrons piégés créent une résistance électrique élevée
  • Le capteur émet une tension faible sur la broche analogique

Détection de vapeur d'alcool :

  • Les molécules d'alcool réagissent avec l'oxygène de surface
  • Libèrent les électrons piégés dans le matériau
  • La résistance électrique chute significativement
  • Le capteur émet une tension plus élevée sur la broche analogique
  • Plus d'alcool = résistance plus faible = tension de sortie plus élevée

Sortie numérique (broche DO) :

  • Utilisez le potentiomètre embarqué pour régler le seuil de détection
  • La broche DO passe à LOW lorsque l'alcool dépasse le seuil (la LED s'allume)
  • La broche DO reste à HIGH lorsque l'alcool est sous le seuil (la LED reste éteinte)
  • Idéal pour une simple détection oui/non de l'alcool

Sortie analogique (broche AO) :

  • Fournit une lecture de tension continue de 0 à 4095 (plage ADC de l'ESP32)
  • Tension plus élevée = plus de vapeur d'alcool détectée
  • Tension plus faible = moins de vapeur d'alcool
  • Idéal pour mesurer les niveaux de concentration réels
  • Non affecté par le réglage du potentiomètre

Préchauffage et calibration

Exigences de préchauffage

Le capteur d'alcool MQ3 nécessite un chauffage approprié avant des mesures précises :

  • Première utilisation ou après 30+ jours de stockage : Chauffez en continu pendant 24-48 heures pour stabiliser les relevés du capteur
  • Utilisation régulière : Préchauffez pendant 5-10 minutes avant de prendre des mesures
  • Pendant le préchauffage : Les relevés initiaux peuvent être plus élevés que normal mais se stabiliseront rapidement
  • Comment préchauffer : Connectez simplement VCC à 5V et GND à la masse via une alimentation USB ou externe

Trouver vos valeurs de seuil

Chaque capteur MQ3 est légèrement différent, donc la calibration est essentielle pour les projets d'éthylotest :

  • Test de référence en air pur :
    • Faites fonctionner le capteur en air frais sans aucun alcool présent
    • Notez la valeur analogique (généralement 100-150)
    • C'est votre relevé de référence « sobre »
  • Test de vapeur d'alcool :
    • Tenez de l'alcool isopropylique ou du gel hydroalcoolique près (sans toucher) du capteur
    • Laissez la vapeur atteindre l'élément du capteur
    • Notez les relevés plus élevés (généralement 400-900 selon la concentration de vapeur)
    • Cela établit votre plage de « détection »
  • Définir les zones de détection :
    • Plage sobre : Sous référence + 20 (exemple : relevés < 120)
    • Plage modérée : Relevés de niveau intermédiaire (exemple : 120-400)
    • Plage élevée : Au-dessus du seuil modéré (exemple : > 400)
  • Remarques importantes : Les capteurs individuels varient, les conditions environnementales affectent les relevés, calibrez toujours votre capteur spécifique avant une utilisation réelle

Régler le seuil numérique

Ajustez le potentiomètre embarqué pour régler quand la broche DO se déclenche :

  • Exposez le capteur à de la vapeur d'alcool (utilisez du gel hydroalcoolique ou de l'alcool à friction)
  • Tournez le potentiomètre dans le sens horaire jusqu'à ce que la DO-LED s'allume
  • Tournez lentement dans le sens antihoraire jusqu'à ce que la LED s'éteigne juste
  • Le seuil numérique est maintenant calibré pour le niveau de sensibilité souhaité
  • Testez en exposant à nouveau à la vapeur d'alcool - la LED devrait s'allumer de manière fiable

Schéma de câblage

Le module capteur MQ3 se connecte facilement à l'ESP32 S3 en utilisant à la fois les sorties numérique et analogique. Comme l'élément chauffant du MQ3 nécessite 5V pour fonctionner correctement, connectez la broche VCC au rail 5V — pas à la broche 3,3V — pour garantir des relevés stables et précis.

Consignes de sécurité

N'alimentez jamais le capteur MQ3 en 3,3V ; cela sous-chaufferait l'élément de détection et produirait des relevés peu fiables. Gardez le capteur éloigné des flammes nues, car les vapeurs d'alcool qu'il détecte sont inflammables. Testez toujours dans une zone bien ventilée.

Schéma de câblage du capteur d'alcool MQ3 ESP32 S3

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Capteur d'alcool MQ3ESP32 S3
VCC5V
GNDGND
DOD7
AOA5

Code ESP32 S3 - Lecture de la sortie numérique

Le code suivant lit la sortie numérique du capteur MQ3 pour détecter la présence d'alcool en utilisant le seuil défini par le potentiomètre embarqué. Il interroge la broche DO toutes les secondes et affiche un statut de détection clair sur le moniteur série, ce qui en fait un point de départ simple pour les applications basées sur des alarmes.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-mq3-alcohol-sensor */ #define PIN_DO 7 // The Arduino Nano ESP32's pin connected to the DO pin of the MQ3 sensor void setup() { // Initialize serial communication Serial.begin(115200); // Initialize the Arduino Nano ESP32's pin as an input pinMode(PIN_DO, INPUT); // Warm-up message Serial.println("Warming up the MQ3 sensor"); delay(20000); // 20 seconds warm-up time for recently used sensor } void loop() { int gasState = digitalRead(PIN_DO); if (gasState == HIGH) { Serial.println("Alcohol is NOT detected"); } else { Serial.println("Alcohol is detected"); } delay(1000); }

Étapes rapides

  1. Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Ouvrez Arduino IDE : Lancez l'Arduino IDE sur votre ordinateur.
  3. Copiez le code : Copiez le code ci-dessus et collez-le dans Arduino IDE.
  4. Sélectionnez votre carte : Choisissez ESP32 S3 dans le menu Tools > Board.
  5. Sélectionnez votre port : Choisissez le bon port COM dans le menu Tools > Port.
  6. Téléversez le code : Cliquez sur le bouton Upload pour programmer votre ESP32 S3.
  7. Ouvrez le moniteur série : Cliquez sur l'icône du moniteur série (en haut à droite) ou appuyez sur Ctrl+Shift+M.
  8. Réglez le débit en bauds : Sélectionnez 115200 bauds dans le menu déroulant du moniteur série.
  9. Testez avec de l'alcool : Approchez du gel hydroalcoolique ou de l'alcool à friction près du capteur MQ3.
  10. Voir les résultats : Observez le statut de détection changer dans le moniteur série.
  11. Ajustez la sensibilité : Si la LED reste toujours allumée ou éteinte, tournez le potentiomètre pour ajuster le seuil.
  12. Astuce pro : Utilisez une boule de coton imbibée d'alcool isopropylique pour un test cohérent sans toucher le capteur.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
Alcohol is NOT detected Alcohol is NOT detected Alcohol is NOT detected Alcohol is detected Alcohol is detected Alcohol is detected Alcohol is detected Alcohol is NOT detected Alcohol is NOT detected
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Code ESP32 S3 - Lecture de la sortie analogique

Le code suivant lit des valeurs de tension analogique continues depuis la broche AO du capteur MQ3, vous donnant un nombre ADC brut entre 0 et 4095 qui augmente proportionnellement à la concentration d'alcool dans l'air. Observer ces valeurs dans le temps sur le moniteur série est la meilleure façon de déterminer les seuils de calibration que vous utiliserez dans le croquis de l'éthylotest.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-mq3-alcohol-sensor */ #define PIN_AO A5 // The Arduino Nano ESP32's pin connected to the AO pin of the MQ3 sensor void setup() { // Initialize serial communication Serial.begin(115200); // Set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); // Warm-up message Serial.println("Warming up the MQ3 sensor"); delay(20000); // 20 seconds warm-up time for recently used sensor } void loop() { int gasValue = analogRead(PIN_AO); Serial.print("MQ3 sensor AO value: "); Serial.println(gasValue); delay(1000); }

Étapes rapides

  1. Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Copiez le code : Collez le code ci-dessus dans Arduino IDE.
  3. Téléversez sur la carte : Cliquez sur le bouton Upload pour programmer l'ESP32 S3.
  4. Ouvrez le moniteur série : Réglez le débit en bauds sur 115200.
  5. Notez la valeur de référence : Observez le relevé en air pur (généralement 100-150).
  6. Testez avec de l'alcool : Introduisez du gel hydroalcoolique ou de la vapeur d'alcool à friction près du capteur.
  7. Observez les valeurs augmenter : Les relevés augmenteront significativement quand de l'alcool est détecté.
  8. Enregistrez les valeurs : Notez la plage à des fins de calibration.
  9. Astuce pro : Notez votre référence en air pur et vos relevés de vapeur d'alcool pour calculer des seuils précis pour les projets d'éthylotest.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
MQ3 sensor AO value: 120 MQ3 sensor AO value: 125 MQ3 sensor AO value: 128 MQ3 sensor AO value: 450 MQ3 sensor AO value: 620 MQ3 sensor AO value: 850 MQ3 sensor AO value: 920 MQ3 sensor AO value: 980 MQ3 sensor AO value: 950 MQ3 sensor AO value: 680 MQ3 sensor AO value: 420 MQ3 sensor AO value: 245 MQ3 sensor AO value: 135
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Code ESP32 S3 - Éthylotest avec détection par seuil

Le code suivant crée un éthylotest éducatif simple en comparant le relevé analogique du MQ3 à deux seuils calibrés pour classer les niveaux de sobriété. Vous devriez d'abord exécuter le croquis de lecture analogique pour déterminer les valeurs de référence et de pic de votre capteur avant de téléverser ce croquis.

/* * Ce code ESP32 S3 a été développé par newbiely.fr * Ce code ESP32 S3 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-s3/esp32-s3-mq3-alcohol-sensor */ #define PIN_AO A5 // The Arduino Nano ESP32's pin connected to the AO pin of the MQ3 sensor // Threshold values - REPLACE THESE with your calibrated values! // Run calibration first to find these values for your sensor #define SOBER_THRESHOLD 120 // Below this = sober #define DRUNK_THRESHOLD 400 // Above this = drunk, between = drinking but within limits void setup() { // Initialize serial communication Serial.begin(115200); // Set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); // Warm-up message Serial.println("MQ3 Alcohol Sensor - Breathalyzer"); Serial.println("Warming up sensor..."); delay(20000); // 20 second warm-up for recently used sensor Serial.println("Sensor ready!"); Serial.println(); } void loop() { int gasLevel = analogRead(PIN_AO); // Read the analog value from sensor // Print sensor value Serial.print("Sensor Value: "); Serial.print(gasLevel); Serial.print(" | Status: "); // Determine status based on thresholds if (gasLevel < SOBER_THRESHOLD) { Serial.println("Stone Cold Sober"); } else if (gasLevel >= SOBER_THRESHOLD && gasLevel < DRUNK_THRESHOLD) { Serial.println("Drinking but within limits"); } else { Serial.println("DRUNK"); } delay(1000); // Wait 1 second between readings }

Étapes rapides

  1. Nouveau sur l'ESP32 S3 ? Suivez d'abord notre guide ESP32 S3 - Premiers pas.
  2. Calibrez d'abord : Exécutez le code de lecture analogique pour trouver les valeurs de référence et de détection d'alcool de votre capteur.
  3. Mettez à jour les seuils : Remplacez SOBER_THRESHOLD et DRUNK_THRESHOLD par vos valeurs calibrées.
  4. Exemple de calibration : Si votre air pur donne 130 et la vapeur d'alcool donne 500+, utilisez SOBER_THRESHOLD = 150 et DRUNK_THRESHOLD = 400.
  5. Téléversez le code : Cliquez sur le bouton Upload pour programmer l'ESP32 S3.
  6. Ouvrez le moniteur série : Réglez le débit en bauds sur 115200.
  7. Testez le système : Respirez normalement près du capteur d'abord (devrait afficher « Stone Cold Sober »).
  8. Testez avec de l'alcool : Utilisez du gel hydroalcoolique ou de la vapeur d'alcool isopropylique pour simuler une haleine alcoolisée.
  9. Observez les changements de statut : Regardez le système classer différents niveaux de concentration.
  10. Astuce pro : Pour des relevés plus précis, attendez 30 secondes après chaque test pour laisser le capteur revenir à sa référence avant de tester à nouveau.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
Sensor Value: 115 | Status: Stone Cold Sober Sensor Value: 118 | Status: Stone Cold Sober Sensor Value: 122 | Status: Stone Cold Sober Sensor Value: 350 | Status: Drinking but within limits Sensor Value: 420 | Status: Drinking but within limits Sensor Value: 480 | Status: DRUNK Sensor Value: 520 | Status: DRUNK Sensor Value: 495 | Status: DRUNK Sensor Value: 380 | Status: Drinking but within limits Sensor Value: 290 | Status: Drinking but within limits Sensor Value: 165 | Status: Stone Cold Sober Sensor Value: 125 | Status: Stone Cold Sober
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Usage éducatif uniquement : Ceci est strictement un projet éducatif pour apprendre les capteurs de gaz et l'ESP32 S3. N'utilisez jamais cet appareil comme éthylotest légal, pour évaluer la sécurité de conduite, ou pour tout usage officiel de test d'alcool.

※ Note:

Ce tutoriel utilise la fonction analogRead() pour lire les valeurs d'un ADC (convertisseur analogique-numérique) connecté à un capteur ou un composant. L'ADC de l'ESP32 S3 convient aux projets qui ne nécessitent pas une haute précision. Cependant, pour les projets nécessitant des mesures précises, gardez à l'esprit ce qui suit :

  • L'ADC de l'ESP32 S3 n'est pas parfaitement précis et peut nécessiter une calibration pour des résultats corrects. Chaque carte ESP32 S3 peut varier légèrement, donc une calibration est nécessaire pour chaque carte individuelle.
  • La calibration peut être difficile, surtout pour les débutants, et peut ne pas toujours donner exactement les résultats souhaités.

Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 S3 ou d'utiliser un autre Arduino, comme l'Arduino Uno R4 WiFi, qui possède un ADC plus fiable. Si vous souhaitez toujours calibrer l'ADC de l'ESP32 S3, consultez le pilote de calibration ADC ESP32.

Idées de projets et applications

La puissance de traitement de l'ESP32 S3 et son WiFi intégré ouvrent un large éventail d'applications pratiques pour le capteur d'alcool MQ3, au-delà de simples expériences de banc d'essai.

  1. Système d'éthylotest DIY : Créez un analyseur d'haleine éducatif pour démontrer les principes de détection d'alcool.
  2. Alarme de vapeur d'alcool : Créez un système d'avertissement qui se déclenche lorsque les vapeurs d'alcool dépassent des niveaux sûrs.
  3. Surveillance de bar ou de brasserie : Surveillez les concentrations de vapeur d'alcool dans les zones de fermentation ou de brassage.
  4. Détecteur de sécurité domestique : Alertez lorsque des produits de nettoyage à base d'alcool atteignent des niveaux de vapeur dangereux.
  5. Moniteur de gaz de laboratoire : Suivez la vapeur d'éthanol dans les laboratoires de chimie ou les installations de recherche.
  6. Système de sécurité de véhicule : Prototypez un concept d'antidémarrage à base d'alcool pour des démonstrations éducatives.
  7. Station de qualité de l'air : Incluez la détection d'alcool dans le cadre d'un moniteur de qualité de l'air multi-capteurs.

Vidéo tutoriel

Regardez ci-dessous la vidéo pas à pas de ce projet ESP32 S3.

Défiez-vous

Ces défis pousseront votre projet ESP32 S3 et capteur d'alcool MQ3 au-delà des bases, progressant vers un appareil plus soigné et connecté.

  1. Débutant : Ajoutez une LED qui s'allume lorsque de l'alcool est détecté au-dessus de votre seuil de sobriété.
  2. Débutant : Ajoutez un buzzer qui émet un bip lorsque le capteur détecte des concentrations élevées d'alcool.
  3. Intermédiaire : Créez un système de feu de circulation (LED verte/jaune/rouge) montrant les niveaux sobre, modéré et ivre.
  4. Intermédiaire : Enregistrez les relevés du capteur sur une carte SD avec horodatage pour l'analyse de données.
  5. Avancé : Ajoutez une connectivité WiFi pour envoyer des alertes de détection d'alcool à votre smartphone via Blynk ou MQTT.
  6. Avancé : Créez un éthylotest complet avec un écran OLED affichant les relevés en temps réel et les messages d'état.

Références de fonctions

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !