ESP32 - Capteur de gaz

Ce tutoriel vous explique comment surveiller la qualité de l'air en utilisant un ESP32 et un capteur de gaz MQ-2 avec MicroPython. Cela permet de mesurer les niveaux de divers gaz inflammables tels que le GPL, la fumée, l'alcool, le propane, l'hydrogène, le méthane et le monoxyde de carbone. En détail, nous apprendrons :

Capteur de gaz MicroPython ESP32

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
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×Capteur de gaz MQ2
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

Ou vous pouvez acheter les kits suivants:

1×Kit de Démarrage DIYables ESP32 (ESP32 inclus)
1×Kit de Capteurs DIYables (30 capteurs/écrans)
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 de gaz MQ2

Le capteur de gaz MQ2 peut détecter divers gaz, notamment le GPL, la fumée, l’alcool, le propane, l’hydrogène, le méthane et le monoxyde de carbone dans l’environnement. Il dispose à la fois d'une broche de sortie numérique et d'une broche de sortie analogique pour envoyer des signaux.

Le capteur MQ-2 ne fournit pas d’informations spécifiques sur des gaz individuels, mais indique la présence d'un mélange ou de plusieurs gaz à la fois.

Nous pouvons utiliser le capteur MQ-2 pour détecter les fuites de gaz ou surveiller une mauvaise qualité de l'air, ce qui permet de prendre des mesures appropriées telles que le déclenchement d'une alarme ou l'activation des systèmes de ventilation.

Plan des broches

Voici la version révisée :

Le capteur de gaz MQ2 possède quatre broches :

  • Broche VCC : Connectez cette broche au VCC (5 V).
  • Broche GND : Connectez cette broche au GND (0 V).
  • Broche DO : Il s'agit de la broche de sortie numérique. Elle passe LOW lorsque des gaz inflammables sont détectés et HIGH lorsque aucun gaz n'est présent. Vous pouvez ajuster le seuil de détection à l'aide d'un petit composant ajustable.
  • Broche AO : Il s'agit de la broche de sortie analogique, qui délivre une tension qui varie en fonction de la concentration de gaz. Des niveaux de gaz plus élevés augmentent la tension, tandis que des niveaux de gaz plus faibles la diminuent.
Schéma des broches du capteur de gaz MQ-2

Le capteur possède également deux voyants LED :

  • PWR-LED: Indique que le capteur est sous tension.
  • DO-LED: S'allume lorsque du gaz est détecté selon la valeur de la broche DO, et s'éteint lorsque aucun gaz n'est détecté.

Comment ça fonctionne

Concernant la broche DO :

  • Le module dispose d'un bouton permettant de régler sa sensibilité aux concentrations de gaz.
  • Lorsque le niveau de gaz dépasse le seuil fixé, la broche de sortie du capteur passe à l'état LOW, et la lumière DO-LED s'allume.
  • Lorsque le niveau de gaz est inférieur au seuil fixé, la broche de sortie du capteur passe à l'état HIGH, et la lumière DO-LED s'éteint.

Pour la broche AO :

  • À mesure que la concentration de gaz augmente, la tension électrique augmente.
  • À mesure que la concentration de gaz diminue, la tension électrique diminue.

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

Échauffement du capteur MQ2

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

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

Diagramme de câblage

Le module de capteur de gaz MQ2 offre deux sorties. Vous pouvez en utiliser une ou les deux, selon vos besoins.

  • Comment connecter l'ESP32 et le capteur de gaz en utilisant planche de prototypage (alimenté via un câble USB)
Schéma de câblage du capteur MQ-2 pour ESP32 MicroPython

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

  • Comment connecter l'ESP32 et le capteur de gaz en utilisant breadboard (alimenté via la broche Vin)
Instruction de câblage du capteur de gaz MQ2 pour ESP32 MicroPython

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

Comment connecter l'ESP32 à un capteur de gaz
Comment câbler l'ESP32 et le capteur de gaz

Code MicroPython ESP32 - 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-gas-sensor */ from machine import Pin import utime # For timing functions DO_PIN = Pin(16, Pin.IN) # The ESP32 pin GPIO16 as an digital input pin of the MQ2 gas sensor module while True: gas_state = DO_PIN.value() # Read the digital value from the pin if gas_state == 1: print("The gas is NOT present") else: print("The gas is present") 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 en utilisant l'IDE Thonny :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
  • Si c'est votre première utilisation d'un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Connectez la carte ESP32 au capteur de gaz MQ2 selon le schéma fourni.
  • Connectez la carte ESP32 à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, allez dans Outils Options.
  • Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. L'IDE Thonny 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.
  • Enregistrez le code sur votre ESP32 en:
    • 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 le capteur de gaz MQ2 près de la fumée ou du gaz à détecter.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is present The gas is present The gas is present The gas is present The gas is present
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Si la lumière LED reste constamment allumée ou ne s'allume pas, vous pouvez ajuster la sensibilité du capteur en tournant le petit bouton.

Code MicroPython ESP32 - 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-gas-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 MQ2 gas 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: gas_value = AO_PIN.read() # Read the analog value (0-4095) print(gas_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.
  • Enregistrez le code sur votre carte ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Positionnez le capteur de gaz MQ2 près de la fumée ou du gaz que vous souhaitez détecter.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot MQ2 sensor AO value: 935 MQ2 sensor AO value: 1136 MQ2 sensor AO value: 1136 MQ2 sensor AO value: 1573 MQ2 sensor AO value: 1674 MQ2 sensor AO value: 1938 MQ2 sensor AO value: 1954 MQ2 sensor AO value: 21000 MQ2 sensor AO value: 2002 MQ2 sensor AO value: 2014 MQ2 sensor AO value: 2017
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Vous pouvez utiliser les valeurs de DO ou AO pour vérifier si la qualité de l'air répond à vos normes, déclencher une alarme ou activer les systèmes de ventilation.

※ Note:

Ce tutoriel montre comment utiliser la fonction adc.read() pour lire les valeurs d'un ADC (Convertisseur Analogique-Numérique) connecté à un capteur de gaz. L'ADC de l'ESP32 convient aux projets qui ne nécessitent pas une grande précision. Cependant, si votre projet nécessite des mesures précises, gardez ceci à l'esprit:

  • L'ADC de l'ESP32 n'est pas parfaitement précis et peut nécessiter un étalonnage pour des résultats précis. Chaque carte ESP32 peut varier légèrement, il est donc nécessaire d'étalonner chaque carte individuellement.
  • L'étalonnage peut être difficile, en particulier pour les débutants, et peut ne pas toujours donner les résultats exacts que vous souhaitez.

Pour les projets qui exigent une grande précision, envisagez d'utiliser un ADC externe (par exemple ADS1115) avec l'ESP32 ou optez pour un Arduino, qui dispose d'un ADC plus fiable. Si vous souhaitez tout de même étalonner l'ADC de l'ESP32, reportez-vous au ESP32 ADC Calibration Driver.

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 !