ESP32 - Capteur de flamme

Ce tutoriel vous explique comment utiliser un capteur de flamme avec ESP32 et MicroPython pour détecter et mesurer les flammes et le feu. En détail, nous apprendrons :

Capteur de flamme ESP32 MicroPython

Ensuite, vous pouvez ajuster le code pour activer une corne d'alerte (en utilisant un relais) lorsqu'il détecte un incendie.

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×Flame Sensor
1×5-in-1 5-way Flame Sensor
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 flamme

module capteur de flamme infrarouge

Le capteur de flamme peut détecter et mesurer la lumière infrarouge émise par une flamme, ce qui le rend utile pour la détection d'incendie. Également connu sous le nom de capteur infrarouge de flamme ou de capteur de feu, il fournit deux types de signaux : une sortie numérique (BAS ou HAUT) et une sortie analogique.

Les capteurs infrarouges de flamme sont spécialement conçus pour détecter certaines longueurs d’onde du rayonnement infrarouge émis par les flammes, ce qui réduit les fausses alertes causées par d’autres sources infrarouges telles que la chaleur du corps humain ou les lumières. Cependant, ces capteurs peuvent encore occasionnellement déclencher de fausses alertes ou ne pas détecter les flammes réelles.

Schéma des broches

Il existe deux types de modules capteurs de flamme disponibles :

Le capteur de flamme unique possède quatre broches:

  • Broche VCC : Connectez-la à l'alimentation (3,3 V à 5 V).
  • Broche GND : Connectez-la à la masse (0 V).
  • Broche DO : Fournit une sortie numérique, qui est élevée lorsque aucune flamme n'est détectée et basse lorsqu'une flamme est présente. La sensibilité à la flamme peut être ajustée à l'aide du potentiomètre sur la carte.
  • Broche AO : Produit un signal analogique, dont la valeur diminue lorsque les niveaux infrarouges sont faibles et augmente lorsque les niveaux infrarouges sont élevés.
Pinout du capteur de flamme
image source: diyables.io

Il dispose également de deux voyants LED :

  • Le PWR-LED s'allume lorsque le capteur est sous tension.
  • Le DO-LED s'allume lorsqu'une flamme est détectée.

Le module capteur de flamme 5-en-1 intègre cinq capteurs de flamme individuels sur une seule carte PCB. Bien que ces capteurs partagent le même potentiomètre, le VCC et le GND, chacun conserve ses propres broches DO (Sortie Numérique) et AI (Entrée Analogique) indépendantes. De plus, les capteurs sont orientés dans des directions différentes, ce qui élargit efficacement leur plage de détection globale.

Comment ça fonctionne

Pour la broche DO :

  • Le module comprend un potentiomètre permettant d'ajuster le seuil de sensibilité infrarouge.
  • Lorsque le niveau infrarouge dépasse ce seuil, indiquant une flamme, la broche de sortie du capteur passe à l'état bas, et la DO-LED s'allume.
  • Lorsque le niveau infrarouge est au-dessous de ce seuil, indiquant l'absence de flamme, la broche de sortie du capteur reste à l'état haut, et la DO-LED reste éteinte.

Pour la broche AO :

  • Un niveau élevé de lumière infrarouge entraîne une lecture élevée sur la broche AO.
  • Un faible niveau de lumière infrarouge entraîne une lecture faible sur la broche AO.
  • Le potentiomètre n'affecte pas la valeur à la broche AO.

Diagramme de câblage

  • Comment connecter l'ESP32 et le capteur de flamme en utilisant breadboard

Le module de capteur de flamme offre deux options de sortie. Vous pouvez en utiliser une ou les deux en fonction de vos besoins.

Schéma de câblage du capteur de flamme ESP32 MicroPython

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

Comment connecter l'ESP32 et le capteur de flamme

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-flame-sensor */ from machine import Pin import utime # For timing functions DO_PIN = Pin(13, Pin.IN) # The ESP32 pin GPIO13 connected to the DO pin of the flame sensor module while True: flame_state = DO_PIN.value() # Read the digital value from the pin if flame_state == 1: print("The flame is NOT present => The fire is NOT detected") else: print("The flame is present => The fire is detected") utime.sleep(1) # Add a small delay to avoid spamming the output

Étapes rapides

Voici des instructions sur la façon de configurer et d’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 micrologiciel 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.
  • Branchez la carte ESP32 au capteur de flamme selon le diagramme fourni.
  • Branchez 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 port correct 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:
    • En cliquant sur le bouton Enregistrer ou en appuyant sur Ctrl+S.
    • Dans la boîte de dialogue d’enregistrement, choisissez le périphérique MicroPython.
    • Nommez le fichier main.py.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Dirigez le capteur de flamme vers une flamme.
  • Consultez le message dans la console située en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The flame is present => The fire is detected The flame is present => The fire is detected The flame is NOT present => The fire is NOT detected The flame is NOT present => The fire is NOT detected The flame is NOT present => The fire is NOT detected The flame is present => The fire is detected The flame is present => The fire is detected The flame is present => The fire is detected
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Si la LED est toujours allumée ou éteinte, même lorsque le capteur est orienté vers une flamme, vous pouvez tourner le potentiomètre pour modifier la sensibilité du capteur.

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-flame-sensor */ from machine import ADC, Pin import utime # For timing functions AO_PIN = ADC(Pin(36)) # The ESP32 pin GPIO36 (ADC0) connected to the AO pin of the flame 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: flame_value = AO_PIN.read() # Read the analog value (0-4095) print(flame_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 ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Dirigez le capteur de flamme vers une flamme.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot 145 206 226 513 697 959 965 1005 1006 1016 1019 661 545 341 172
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

※ 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 flamme. L'ADC de l'ESP32 convient pour des projets qui ne nécessitent pas une grande précision. Cependant, si votre projet nécessite des mesures précises, gardez à l'esprit ce qui suit:

  • 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, il est donc nécessaire de calibrer chaque carte individuellement.
  • La calibration peut être difficile, surtout pour les débutants, et peut ne pas toujours donner exactement les résultats que vous souhaitez.

Pour les projets nécessitant 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 quand même calibrer l'ADC ESP32, reportez-vous au Pilote de calibration de l'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 !