L’objectif de ce tutoriel est de concevoir un système de détection de flammes en utilisant la carte ESP8266 NodeMCU et le capteur de flamme KY-026.
Ce projet permet de détecter la présence d’une source de chaleur ou de feu et de réagir automatiquement (par exemple en affichant un message sur un écran, en activant une alarme ou en envoyant une notification).
L’apprenant sera capable de :
- Comprendre le principe de fonctionnement du capteur de flamme KY-026.
- Réaliser le montage électronique avec la carte ESP8266 NodeMCU.
- Programmer le système en MicroPython pour lire et interpréter les données du capteur.
- Concevoir un système de détection de feu intelligent, applicable à des projets de sécurité ou de domotique.
Le système repose sur l’utilisation du capteur de flamme KY-026 connecté à la carte ESP8266 NodeMCU.
Lorsque le capteur détecte la présence d’une flamme ou d’une source de chaleur dans son champ de vision, il envoie un signal analogique ou numérique à la carte ESP8266.
1- Si une flamme est détectée, la carte ESP8266 :
- active le buzzer pour émettre une alarme sonore,
- allume la LED rouge pour signaler visuellement le danger,
- affiche un message d’alerte sur l’écran LCD I2C (par exemple : “🔥 Flamme détectée !”).
2- Si aucune flamme n’est détectée, le buzzer reste silencieux, la LED est éteinte, et l’écran LCD affiche un message indiquant l’état normal du système (par exemple : “Aucune flamme détectée”).
Ainsi, le système assure une surveillance automatique et en temps réel des flammes, contribuant à la prévention des incendies ou à la sécurité domestique.
1- Carte ESP8266 NodeMCU

La carte ESP8266 NodeMCU sert de microcontrôleur principal chargé de lire les données du capteur et de contrôler les actionneurs (LED, buzzer, écran LCD).
2- Capteur de flamme KY-026

Le capteur de flamme KY-026 détecte la présence d’une flamme ou d’une source de chaleur infrarouge.
Il fournit une sortie numérique (D0) selon un seuil réglable.
3- Buzzer passif

Le Buzzer émet un signal sonore d’alerte lorsqu’une flamme est détectée.
4- LED rouge
![]()
La LED sert d’indicateur visuel pour signaler la détection de flamme.
5- Écran LCD I2C (20x4)

L'écran LCD affiche les messages d’état du système (par exemple “Flamme détectée” ou “Aucune flamme”).
6- Câbles de connexion (jumpers)

Les câbles de connexion permettent de relier tous les composants entre eux sur la breadboard.
7- Plaque d’essai (breadboard)

La plaque d'essai sert à réaliser les connexions temporaires entre les composants sans soudure.


Pour le Capteur de flamme KY-026 :
- Connecter la broche VCC(+) du capteur ky-026 à 3V de la carte ESP8266
- Connecter la broche DO du capteur ky-026 à la broche analogique A0 de la carte ESP8266
- Connecter la broche GND(-) du capteur ky-026 à la broche GND de la carte ESP8266
Pour l'Afficheur LCD I2C :
- Connecter la broche VCC de l'afficheur à 5V de la carte ESP8266
- Connecter la broche GND de l'afficheur à GND de la carte ESP8266
- Connecter la broche SDA de l'afficheur à la broche D2 (GPIO4) de la carte ESP8266
- Connecter la broche SCL de l'afficheur à la broche D1 (GPIO5) de la carte ESP8266
Pour la LED
- Connectez la borne positive (anode) de la LED à la broche D0 (GPIO16) de la carte ESP8266.
- Connectez la borne négative (cathode) de chaque LED à la masse (GND) de la carte ESP8266.
Pour le buzzer
- Connecter la borne (+) du buzzer à la broche D3 (GPIO0) de la carte ESP8266.
- Connecter la borne (-) du buzzer à la broche GND de la carte ESP8266.
Voici un programme complet en MicroPython pour le système de détection de flammes.
Bibliothèques requises : i2c_lcd et lcd_api → pour afficher les informations sur l’écran LCD I2C.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from machine import Pin, SoftI2C , ADC from lcd_api import LcdApi from i2c_lcd import I2cLcd from time import sleep I2C_ADDR = 0x27 totalRows = 4 totalColumns = 20 # Configure I2C for LCD screen i2c = SoftI2C(scl=Pin(5), sda=Pin(4), freq=10000) lcd = I2cLcd(i2c, I2C_ADDR, totalRows, totalColumns) # Configure buzzer and led pins redled_pin=Pin(16, Pin.OUT) buzzer_pin=Pin(0, Pin.OUT) ky026_pin = ADC(0) while True: ky026_value = ky026_pin.read() # Lecture de la valeur analogique if (ky026_value<100): # Seuil de détection (à ajuster selon le capteur) # Activate buzzer and LED redled_pin.value(1) buzzer_pin.value(1) # show alert message on LCD I2C display lcd.move_to(1,0) lcd.putstr("Attention!!") lcd.move_to(1,1) lcd.putstr("Incendie detectee") else: # Disable buzzer and LED redled_pin.value(0) buzzer_pin.value(0) lcd.clear() sleep(0.1) |
Explications du code :
Le capteur KY-026 renvoie une valeur analogique entre 0 et 1023 (Plus la flamme est proche, plus la valeur diminue).
1- Si la valeur est inférieure à 100, le système :
- active le buzzer et la LED rouge.
- affiche “incendie detectee” sur l’écran LCD.
2- Sinon, il n'affiche rien et désactive les alertes.
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info