ESP32 - Capteur d'Alcool MQ3 (MicroPython)

Ce tutoriel vous guide à travers l'interfaçage du capteur d'alcool MQ3 avec un ESP32 en utilisant la programmation MicroPython pour détecter et mesurer les concentrations d'éthanol et de vapeur d'alcool. En détail, nous allons apprendre :

Capteur d'alcool ESP32 MicroPython MQ3

À Propos du Capteur d'Alcool MQ3

Le capteur d'alcool MQ3 est conçu pour détecter l'éthanol et les vapeurs d'alcool dans l'air ambiant. Il utilise la technologie des semi-conducteurs à oxyde métallique (MOS), où un élément sensible en dioxyde d'étain (SnO2) change de résistance lorsqu'il est exposé à des molécules d'alcool. Le capteur dispose d'une broche de sortie numérique et d'une broche de sortie analogique pour transmettre les signaux.

Le capteur MQ3 est couramment utilisé dans les éthylomètres, les systèmes de détection d'alcool, les équipements de détection de conduite en état d'ivresse et la surveillance des vapeurs d'alcool dans l'environnement.

Brochage

Le module capteur d'alcool MQ3 possède quatre broches :

  • Broche VCC : Connectez cette broche à VCC (5V).
  • Broche GND : Connectez cette broche à GND (0V).
  • Broche DO : C'est la broche de sortie numérique. Elle passe à LOW quand des vapeurs d'alcool sont détectées et à HIGH quand aucun alcool n'est présent. Vous pouvez ajuster le seuil de détection en utilisant le potentiomètre embarqué.
  • Broche AO : C'est la broche de sortie analogique, qui génère une tension variant selon la concentration d'alcool. Des niveaux d'alcool plus élevés augmentent la tension, tandis que des niveaux plus bas la diminuent.
Brochage du Capteur d'Alcool MQ3

Le capteur possède également deux indicateurs LED :

  • LED PWR : Indique que le capteur est alimenté.
  • LED DO : S'allume quand l'alcool est détecté selon la valeur de la broche DO, et s'éteint quand aucun alcool n'est détecté.

Comment Ça Fonctionne

Concernant la broche DO :

  • Le module possède un potentiomètre pour ajuster sa sensibilité aux niveaux d'alcool.
  • Quand le niveau d'alcool dépasse le seuil défini, la broche de sortie du capteur passe à LOW, et la LED DO s'allume.
  • Quand le niveau d'alcool est en dessous du seuil défini, la broche de sortie du capteur passe à HIGH, et la LED DO s'éteint.

Pour la broche AO :

  • Quand la concentration d'alcool augmente, la tension augmente.
  • Quand la concentration d'alcool diminue, la tension diminue.

Le potentiomètre n'affecte pas la valeur sur la broche AO.

Préchauffage du Capteur MQ3

Le capteur d'alcool MQ3 nécessite une période de préchauffage avant utilisation. Si le capteur n'a pas été utilisé depuis plus d'un mois, laissez-le se préchauffer pendant 24-48 heures pour assurer des lectures précises. S'il a été utilisé récemment, un préchauffage de 5 à 10 minutes est suffisant. Initialement, les lectures peuvent être élevées, mais elles se stabiliseront avec le temps.

Pour préchauffer le capteur MQ3, connectez ses broches VCC et GND à une source d'alimentation ou aux broches VCC et GND d'un ESP32, et laissez-le connecté pendant la durée requise.

Schéma de Câblage

Comme le module capteur d'alcool MQ3 possède deux sorties, vous pouvez choisir d'en utiliser une ou les deux, selon vos besoins.

  • Comment connecter l'ESP32 et le capteur d'alcool MQ3 avec une breadboard (alimenté via câble USB)
Schéma de câblage ESP32 capteur d'alcool MQ3

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

  • Comment connecter l'ESP32 et le capteur d'alcool MQ3 avec une breadboard (alimenté via broche Vin)
Instructions de câblage ESP32 capteur d'alcool MQ3

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

Comment connecter l'ESP32 et le capteur d'alcool MQ3
Comment câbler l'ESP32 et le capteur d'alcool MQ3
Capteur d'Alcool MQ3ESP32
VCC3.3V
GNDGND
DOGPIO 16
AOGPIO 36 (ADC0)

Code ESP32 MicroPython - Lire la valeur de la broche DO

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-mq3-alcohol-sensor */ from machine import Pin import utime # For timing functions DO_PIN = Pin(16, Pin.IN) # The ESP32 pin GPIO16 as a digital input pin of the MQ3 alcohol sensor module while True: alcohol_state = DO_PIN.value() # Read the digital value from the pin if alcohol_state == 1: print("Alcohol is NOT detected") else: print("Alcohol is detected") utime.sleep(1) # Add a small delay to avoid spamming the output

Étapes Rapides

Voici les instructions pour configurer et exécuter votre code MicroPython sur l'ESP32 avec Thonny IDE :

  • Assurez-vous que Thonny IDE est installé sur votre ordinateur.
  • Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c'est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Connectez la carte ESP32 au capteur d'alcool MQ3 selon le schéma fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez Thonny IDE sur votre ordinateur.
  • Dans Thonny IDE, allez dans Outils Options.
  • Dans l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. Thonny IDE le détecte généralement automatiquement, mais vous devrez peut-être le sélectionner manuellement (comme COM12 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Sauvegardez le code sur votre ESP32 en :
    • Cliquant sur le bouton Enregistrer ou en appuyant sur Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, choisissez Appareil MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Placez une source de vapeur d'alcool près du capteur MQ3 (du gel hydroalcoolique ou de l'alcool isopropylique sur du coton fonctionne bien).
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot Alcohol is NOT detected Alcohol is NOT detected 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 detected
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Si la LED reste allumée en permanence ou ne s'allume pas, vous pouvez ajuster la sensibilité du capteur en tournant le potentiomètre embarqué.

Code ESP32 MicroPython - Lire la valeur de la broche AO

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-mq3-alcohol-sensor */ from machine import ADC, Pin import utime # For timing functions AO_PIN = ADC(Pin(36)) # The ESP32 pin GPIO36 (ADC0) as an analog input pin of the MQ3 alcohol sensor module # Set the ADC width (resolution) to 12 bits AO_PIN.width(ADC.WIDTH_12BIT) # Set the attenuation to 11 dB, allowing input range up to ~3.3V AO_PIN.atten(ADC.ATTN_11DB) while True: alcohol_value = AO_PIN.read() # Read the analog value (0-4095) print("MQ3 sensor AO value:", alcohol_value) # Print the analog value utime.sleep(1) # Add a small delay to avoid spamming the output

Étapes Rapides

  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Sauvegardez le code sur votre carte ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Introduisez des vapeurs d'alcool au capteur (gel hydroalcoolique ou alcool isopropylique).
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot 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
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Vous pouvez utiliser les valeurs de DO ou AO pour détecter la présence d'alcool, déclencher une alarme ou journaliser des données pour des applications d'éthylomètre.

※ Note:

Ce tutoriel montre comment utiliser la fonction adc.read() pour lire les valeurs d'un ADC connecté à un capteur d'alcool. L'ADC de l'ESP32 convient aux projets ne nécessitant pas une haute précision. Cependant, si votre projet nécessite des mesures précises, tenez compte des points suivants :

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

Pour les projets nécessitant une haute précision, envisagez d'utiliser un ADC externe (par ex. ADS1115) avec l'ESP32 ou optez pour un Arduino, qui possède un ADC plus fiable. Si vous souhaitez quand même calibrer l'ADC de l'ESP32, référez-vous au Driver de Calibration ADC ESP32.

Vidéo

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 !