Search Code

Arduino-code en video: vlam sensormodule voor Arduino

Arduino-code en video: vlam sensormodule voor Arduino

In deze tutorial verkennen we hoe je een vlamsensormodule met een Arduino gebruikt. De vlamsensor detecteert de aanwezigheid van een vlam en kan een alarm of indicator activeren wanneer dit gebeurt. Aan het einde van dit project heb je een werkend systeem dat reageert op vlamdetectie met een hoorbaar alarm en visuele feedback.

infrared flame sensor module -blue
infrared flame sensor module

De vlamsensormodule werkt met behulp van een infrarood-LED om vlammen te detecteren. Wanneer een vlam wordt gedetecteerd, geeft de module een signaal af dat kan worden gebruikt om andere componenten, zoals een zoemer of een LED, te activeren. Dit project omvat het bedraden van de vlamsensor aan de Arduino en het schrijven van een eenvoudig programma om de invoer en uitvoer te verwerken.

Voor een beter begrip van de code en bedrading raad ik je aan om de bijbehorende video te bekijken (in video op 00:00).

Hardware Uitgelegd

De belangrijkste componenten in dit project zijn de vlamsensormodule, een Arduino-bord en een zoemer of LED voor de waarschuwing. De vlamsensor heeft vier pinnen: een digitale uitgangspin (DO), een analoge uitgangspin (AO), een voedingspin (VCC) en een aardingspin (GND). De digitale uitgangspin stuurt een HOOG signaal wanneer een vlam wordt gedetecteerd, terwijl de analoge uitgang variërende waarden levert op basis van de intensiteit van de vlam.

De Arduino leest de digitale uitgang om te bepalen of er een vlam aanwezig is. Wanneer de sensor een vlam detecteert, kan de Arduino vervolgens een alarm of licht activeren met behulp van een uitgangspin. De gevoeligheid van de vlamdetectie kan worden aangepast met behulp van een ingebouwde potentiometer op de module.

Datasheet Details

FabrikantGeneriek
OnderdeelnummerLM393
Logica/IO-spanning5 V
Voedingsspanning2–36 V
Uitgangsstroom (per kanaal)20 mA
Piekstroom (per kanaal)50 mA
PWM-frequentierichtlijnN.v.t.
Ingangslogische drempels0,8 V (laag), 2,0 V (hoog)
Spanningsval / RDS(on) / verzadiging0,2 V
Thermische limieten125 °C
BehuizingTO-220
Opmerkingen / variantenInstelbare gevoeligheid

  • Zorg voor een correcte voedingsspanning tussen 2 en 36 V voor de module.
  • Houd de infrarood-LED van de sensor vrij voor optimale vlamdetectie.
  • Gebruik een koellichaam als de module dicht bij de piekstroomlimieten werkt.
  • Wees voorzichtig met de bedrading om kortsluiting of verkeerde verbindingen te voorkomen.
  • Pas de gevoeligheid aan met behulp van de onboard-potentiometer voor verschillende toepassingen.
  • Controleer of de alarmuitgang de aangesloten belasting (zoemer/LED) kan verwerken.

Bedradingsinstructies

Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor

Om de vlamsensormodule aan de Arduino te bedraden, begin je met het verbinden van de VCC-pin van de vlamsensor met de 5V-pin op de Arduino. Verbind vervolgens de GND-pin van de sensor met een van de GND-pinnen op de Arduino. De digitale uitgangspin (DO) van de vlamsensor moet worden verbonden met digitale pin 2 op de Arduino, die we in de code FLAME zullen noemen. Verbind ten slotte een alarmapparaat, zoals een zoemer, met digitale pin 8 op de Arduino, aangeduid als ALARM.

Zorg ervoor dat alle verbindingen stevig zijn, omdat losse verbindingen kunnen leiden tot inconsistent gedrag. Als je de analoge uitgang wilt gebruiken, verbind dan de analoge uitgangspin (AO) met een analoge pin op de Arduino, zoals A0, maar dit is optioneel voor basisfunctionaliteit. In de video worden ook alternatieve bedradingsmethoden besproken (in video op 02:30).

Codevoorbeelden & Uitleg

Het volgende codefragment initialiseert de vlamsensor en stelt de seriële monitor in:

#define FLAME 2 // verbind DO-pin van sensor met deze pin
#define ALARM 8 // pin 8 voor Alarm 

void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com Fire Module Test");
  pinMode(FLAME, INPUT); // definieer FLAME als ingangspin
  pinMode(ALARM, OUTPUT); // definieer ALARM als uitgangspin
}

Hier definiëren we de pinnen voor de vlamsensor en het alarm, en initialiseren we seriële communicatie op 9600 baud. Dit stelt ons in staat om berichten naar de seriële monitor te sturen voor debugging.

Vervolgens lezen we de vlamsensor in de hoofdloop:

void loop() {
  int fire = digitalRead(FLAME); // lees FLAME-sensor

  if(fire == HIGH) {
    digitalWrite(ALARM, HIGH); // zet de zoemer AAN
    Serial.println("Fire! Fire!");
  } else {
    digitalWrite(ALARM, LOW); // zet de zoemer UIT
    Serial.println("Peace");
  }
  delay(200);
}

Dit deel van de code controleert de status van de vlamsensor. Als het een vlam detecteert (HOOG), activeert het het alarm en print "Fire! Fire!" naar de seriële monitor. Als er geen vlam is (LAAG), schakelt het het alarm uit en print "Peace". De loop bevat een vertraging van 200 milliseconden, die kan worden aangepast om de gevoeligheid van de detectie te veranderen.

Demonstratie / Wat te Verwachten

Wanneer het systeem wordt ingeschakeld, toont de seriële monitor "Robojax.com Fire Module Test" gevolgd door "Peace" totdat een vlam wordt gedetecteerd. Zodra een vlam wordt gedetecteerd, klinkt de zoemer en licht de LED op, wat een brandconditie aangeeft. Je kunt de gevoeligheid van de sensor testen door de potentiometer op de module aan te passen. Wees voorzichtig met valse positieven, zoals die veroorzaakt door infraroodsignalen van afstandsbedieningen (in video op 04:15).

Videotijdstempels

  • 00:00 - Introductie tot de vlamsensormodule
  • 02:30 - Bedradingsinstructies
  • 04:15 - Demonstratie van vlamdetectie

Afbeeldingen

infrared flame sensor module -blue
infrared flame sensor module -blue
infrared flame sensor module
infrared flame sensor module
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
Arduino wiring for infrared flame sensor
62-This is the Arduino code and video for a flame sensor module for Arduino.
Taal: C++
/*
 * This is code for a Flame Sensor module for Arduino.
 * Watch the video https://youtu.be/OZkZIP3KlHQ
  * Other Arduino libraries and videos https://robojax.com
 *  * 
	Flame Sensor module for Arduino
	Written by Ahmad Shamshiri for Robojax.com
	on January 18, 2018 at 22:21 in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * 
 * 
 */
/*


What does it do?
When the infrared diode sees the flame, it sends the digital output DO to
also, the level of flame is represented with the analog output.

 */
  // 4 Infrared Obstacle code for Robojax.com
#define FLAME 2 // connect DO pin of sensor to this pin
#define ALARM 8 // pin 8 for Alarm 


void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com Fire Module Test");
  pinMode(FLAME, INPUT);//define FLAME input pin
  pinMode(ALARM, OUTPUT);//define ALARM output pin
  // Flame sensor code for Robojax.com

}

void loop() {
    // Flame sensor code for Robojax.com

  int fire = digitalRead(FLAME);// read FLAME sensor


  if( fire == HIGH)
  {
    digitalWrite(ALARM,HIGH);// set the buzzer ON
    Serial.println("Fire! Fire!");
  }else{
    digitalWrite(ALARM,LOW); // Set the buzzer OFF
    Serial.println("Peace");
    // Flame sensor code for Robojax.com

  }



  delay(200);
}

Hulpmiddelen en referenties

Bestanden📁

Geen bestanden beschikbaar.