Projet d'alarme incendie avec détecteur de flamme Arduino

Projet d'alarme incendie avec détecteur de flamme Arduino

Projet d'alarme incendie avec détecteur de flamme Arduino consistera à construire un système d'alarme incendie de base à l'aide d'un Arduino interfacé avec un module de capteur de flamme (pour détecter la présence d'une flamme), un module de sonnerie active (pour produire un son audible) et un module de LED bicolore (pour une indication visuelle). En ce qui concerne le fonctionnement de ce projet, lorsque le capteur de flamme détecte la présence d'une flamme à proximité, il active un buzzer qui émet un signal sonore répétitif et fait clignoter la LED jusqu'à ce qu'il n'y ait plus de flamme. En ce qui concerne le fonctionnement d'un capteur de flamme, il existe différents mécanismes qui dépendent du type de capteur de flamme, notamment les capteurs de flamme à ultraviolets (UV), à infrarouges (IR), à ultraviolets/infrarouges (UV/IR), à infrarouges multi-spectres (MSIR) et à imagerie visuelle de la flamme. 

Le capteur de flamme particulier utilisé dans cette Carte PCBA DIY est le type IR (HW-491), qui est également le type le plus courant de capteurs de flamme compatibles avec Arduino. Essentiellement, les capteurs IR fonctionnent en détectant le rayonnement infrarouge qui est très distinctement émis par les flammes et lorsque la photodiode intégrée détecte cette gamme spécifique de longueurs d'onde, elle envoie un signal numérique (1) à la carte Arduino. Lorsque le microcontrôleur Arduino reçoit ce signal HAUT du capteur de flamme, ce projet est programmé pour activer le buzzer actif, qui émet un bip toutes les 150 ms, et le module LED bicolore, qui clignote en rouge toutes les 150 ms pour indiquer la présence d'une flamme. En l'absence de flamme, le buzzer n'émet aucun signal sonore et la LED est verte. Il est important de noter que si votre détecteur de flamme ne détecte pas correctement la présence d'une flamme, vous devrez peut-être calibrer sa sensibilité en tournant le potentiomètre intégré au module.

Ce projet reflète une application très pratique d'un module de détection de flamme dans le cadre d'un circuit d'alarme incendie, qui a de nombreuses applications domestiques, commerciales et industrielles. & PCBA industriel utilisations. Souvent, les alarmes incendie du commerce reposent sur une technologie similaire : un capteur de flamme est un dispositif d'entrée connecté à un dispositif de sortie (haut-parleur, LED, systèmes d'extinction des flammes, etc.) qui, lorsqu'il est déclenché, informe les consommateurs de la présence d'une flamme. Par conséquent, l'intégration d'un projet comme celui-ci sur un circuit imprimé pour être placé dans un petit boîtier en tant qu'alarme incendie portable pouvant être montée sur plusieurs surfaces dans un bâtiment résidentiel est certainement une idée utile et viable. La compacité de ce circuit sur une planche à pain peut encore être améliorée par la conception d'un circuit imprimé personnalisé pour ce projet à l'aide de composants montés en surface (SMT), où ce circuit peut prendre la forme d'un produit autonome. De nos jours, de nombreux produits commerciaux sont assemblés (PCBA) à l'aide de composants montés en surface. Montage SMT car ils permettent un facteur de forme beaucoup plus petit et, par conséquent, une plus grande densité électrique sur une carte PCBA. Voici les composants nécessaires à la réalisation de ce projet :

  • Arduino Nano (d'autres cartes compatibles avec Arduino fonctionneront)
  • Câble USB (compatible avec la carte Arduino)
  • Planche à pain
  • Fils de connexion mâle-mâle (8)
  • HW-491 Module de détection de flamme
  • HW-512 Module Buzzer actif
  • HW-480 Module LED rouge/vert à 2 couleurs (cathode commune)
  • Résistances 220Ω (2)

Détecteur de flamme Schéma de câblage du projet d'alarme incendie

En fonction de votre carte Arduino, vous pouvez ou non avoir besoin d'une planche à pain pour brancher votre carte. Dans cet exemple, un Arduino Nano est utilisé, ce qui nécessite une planche à pain, mais si vous utilisez un Arduino Uno, par exemple, les fils de connexion peuvent être branchés directement sur les broches de la carte à partir des composants de la planche à pain. 

Les composants nécessaires pour ce projet spécifique sont très similaires à d'autres projets car les modules constituent la majeure partie du projet. En ce qui concerne le brochage du module du capteur de flamme, la plupart des modèles ont une configuration à 4 broches avec une sortie numérique (DO) et une sortie analogique (AO). Pour ce projet de bricolage, la broche de sortie numérique (DO) ne sera utilisée que dans la mesure où l'objectif principal du capteur est de renvoyer un signal HIGH ou LOW selon qu'une flamme est détectée ou non. Si votre capteur a une configuration à 3 broches, utilisez la broche de sortie/signal standard. En ce qui concerne le module LED utilisé, la raison pour laquelle deux résistances de 220Ω sont connectées en série avec les deux sorties de ce module est d'empêcher les LED de brûler lorsqu'une tension d'alimentation de +5 volts est appliquée. Si une LED ordinaire est utilisée à la place du module LED, la résistance est également nécessaire pour protéger la LED d'un court-circuit. Un schéma de câblage est également présenté ci-dessous.

  • Module de capteur de flamme HW-491 : Connectez la sortie numérique (DO)/la broche de signal à D3 sur la carte Arduino, la broche positive (+) à +5v et la broche GND (G) à GND.
  • Module LED rouge/vert à deux couleurs HW-480 : Insérez une résistance de 220Ω dans la planche à pain en série avec la broche de sortie du signal de la DEL de couleur rouge (R) et insérez une autre résistance de 220Ω en série avec la broche de sortie du signal de la DEL de couleur verte (G). Connecter la broche de sortie de la couleur rouge (R) à D5 et la broche de sortie de la couleur verte (G) à D6. Connectez la broche négative (-) du module LED à GND sur votre Arduino.
  • Module buzzer actif HW-512 : Connectez la broche positive (+) à D4 et la broche négative (-) à GND sur votre Arduino.

Programmation du code du circuit d'alarme incendie du capteur de flamme

Détails du code

int sensorPin = 3;

int buzzerPin = 4;

int redPin = 5;

int greenPin = 6;

 

int flamme ;

 

void configuration()

{

 Série.commencer(9600);

 pinMode(sensorPin, INPUT);

 pinMode(buzzerPin, OUTPUT);

 pinMode(redPin, OUTPUT);

 pinMode(greenPin, OUTPUT);

}

 

 

void boucle()

{

 flamme = digitalRead(sensorPin);

 si (flamme == 1)

 {

   Série.println("Flamme détectée".);

   digitalWrite(redPin, HIGH);

   digitalWrite(greenPin, LOW);

   digitalWrite(buzzerPin, HIGH);

   retarder(150);

   digitalWrite(redPin, LOW);

   digitalWrite(buzzerPin, LOW);

   retarder(150);

 }

 sinon

 {

   Série.println("Aucune flamme n'a été détectée.);

   digitalWrite(redPin, LOW);

   digitalWrite(greenPin, HIGH);

   digitalWrite(buzzerPin, LOW);

 }

 retarder(500);

}

Explication du code

  • Ce code reprend de nombreux concepts présentés dans les projets précédents, en particulier l'utilisation des instructions if-else, des fonctions digitalWrite() (pour définir l'état des différents modules) et des commandes du moniteur série.
  • Pour commencer, le premier bloc de code définit les broches numériques auxquelles chaque module est connecté sur la carte Arduino. Puisque quatre broches numériques sont utilisées, chacune d'entre elles reçoit un nom spécifique qui sera utilisé ultérieurement (par exemple, sensorPin qui représente la broche D3 à laquelle le capteur de flamme est connecté). Un nombre entier supplémentaire est défini (flame) qui n'est pas défini à une valeur spécifique mais qui servira d'espace réservé pour tout signal (0 ou 1) reçu du capteur de flamme. Par exemple, si le capteur de flamme détecte la présence d'une flamme, le capteur renverra un signal 1 ou HIGH à l'Arduino et cette information est alors stockée dans la variable flame qui peut toujours changer (par exemple, si la flamme n'est plus détectée).
  • En passant à la section de configuration du vide, le débit en bauds de la communication série est réglé sur 9600 pour configurer les données série, qui seront plus tard imprimées sur le moniteur série de l'IDE Arduino à des fins de débogage. Ensuite, le capteur de flamme est configuré comme un dispositif d'entrée numérique (il envoie des signaux numériques (1 ou 0) à l'Arduino en cas de présence ou d'absence d'une flamme). Les broches du module buzzer actif et du module LED 2 couleurs sont ensuite configurées comme dispositifs de sortie numérique (la carte Arduino enverra des signaux numériques (1 ou 0) à ces modules).
  • En ce qui concerne la section de la boucle vide, l'entier de la flamme qui a été défini précédemment est maintenant affecté à la valeur d'entrée numérique reçue du capteur de flamme. Pour ce faire, la fonction digitalRead() affecte la variable flamme au signal d'entrée de sensorPin, qui est le capteur de flamme. 
  • Maintenant, une instruction if-else est utilisée pour mettre les modules de sortie (LED bicolore et module d'alarme sonore) dans un état spécifique chaque fois que l'instruction if est vraie. Dans ce cas, si la variable flamme est équivalente à 1 (c'est-à-dire lorsque le capteur de flamme détecte une flamme), la LED passera au rouge et le buzzer s'allumera (produira un bruit audible). Pour que la LED clignote continuellement en rouge et que le buzzer émette un signal sonore en cas de présence d'une flamme, un intervalle de 150 ms est ajouté entre les états numériques alternés de la LED et du buzzer via la fonction delay(). Un court message est également imprimé sur le moniteur série à des fins de débogage (par exemple, pour calibrer le capteur de flamme).
  • Cependant, comme il s'agit d'une instruction if-else, chaque fois que l'instruction if n'est pas vraie (c'est-à-dire lorsque le capteur de flamme ne détecte aucune flamme), la LED passe au vert et le buzzer s'arrête de sonner. Un message rapide est également envoyé au moniteur série. Enfin, il y a un court délai de 500 ms à la fin de la boucle.

Prochaines étapes

Maintenant que Technologie FS a réalisé ce projet, il peut facilement s'intégrer et constituer la base d'un projet beaucoup plus vaste, tel qu'un système domotique, une alarme incendie portable, une unité d'extinction d'incendie, etc. L'un des grands principes abordés dans le code était la communication entre les dispositifs d'entrée et de sortie numériques, en utilisant l'Arduino comme microcontrôleur pour traiter/relayer les signaux. Dans ce cas, c'est le capteur de flamme qui envoie le signal numérique à l'Arduino en cas de présence ou d'absence de flamme et, après avoir traité cette information, l'Arduino envoie son propre signal numérique aux dispositifs de sortie (module LED bicolore et module buzzer actif). Comme mentionné au début de ce projet, pour une application plus permanente, vous pouvez envisager de migrer ce projet vers un PCB, qui présente de nombreux avantages en ce qui concerne le petit facteur de forme, la légèreté et la portabilité. Bien que l'utilisation de assemblage de PCB à trou traversant Si le système SMT PCBA fonctionne bien, il réduira sans aucun doute le coût et la taille globale du produit fini.

Blog sur les projets électroniques DIY

Arduino UNO Interrupt Timer

Arduino UNO Interrupt Timer Le Timer est une fonction intégrée dans chaque microcontrôleur et a certaines fonctions concernant le passage du temps. La fonction Timer

Lire plus "