martes, 7 de noviembre de 2017

Detector de flama con Arduino

Detector de flama con Arduino


Dr. Héctor Darío Aguirre Arvizu
17-11-08


Saludos amigos robotistas.
En esta entrada presento un pequeño circuito detector de flama construido con un Arduino.
Se utilizó el siguiente módulo Honeywell, observa la disposición de las terminales Vcc, GND, A0 y D0:
Módulo detector de flama utilizado
A continuación muestro el diagrama electrónico elaborado con Fritzing, observa la nota en la imagen:
Diagrama electrónico de detector de flama
A continuación el diagrama esquemático. Recuerda que no se usó el sensor de la librería de Fritzing sino uno Honeywell con disposición de terminales completamente diferente:
Diagrama de conexiones
Acá te muestro un par de imágenes para que veas los detalles de conexión:
Detalles de conexión
Detalle de conexión
Aquí te muestro el programa que utilicé. Solamente cópialo y pégalo en tu pantalla de Arduino para hacerlo funcionar. Asegúrate que las conexiones son correctas.

//Detector de fuego
// Dr. Héctor Darío Aguirre Arvizu
//17-11-08

//Declaración de variables

const int medflama=A0, verde=2, rojo=3;  // Asignación de pin para lector de flama
int valor_medflama=0;    //Asignación de variable para medir flama

void setup() {
  // Programación de tarjeta inicial; funciones iniciales
Serial.begin(9600);
//Sección del detector de fuego
  pinMode(medflama,INPUT); //Asignamos la variable de medición de flama como entrada
  pinMode(verde,OUTPUT);  //hace que el pin 2 sea salida
  pinMode(rojo,OUTPUT);  //hace que el pin 3 sea salida
}

void loop() {
  // lectura de flama
valor_medflama=analogRead(medflama); //normalmente el valor del sensor será mayor de 200 cuando no hay fuego
  digitalWrite(verde,LOW);  //aseguramos que los LEDs empiecen apagados
  digitalWrite(rojo,LOW);
//inicia el ciclo de lectura y encendido de led verde si no hay fuego e impresióin en pantalla
  if(valor_medflama>200) { //pregunta si el sensor detecta fuego
    Serial.print(valor_medflama);
    Serial.println("      normal"); //Como no hay fuego, reporta normal
    digitalWrite(verde,HIGH); //no hay fuego
  delay(1000);  //espera un segundo antes de hacer la sigueinte acción
  }
  else {  //en caso de que la lectura sea de menos de 200 realiza las siguientes acciones
  digitalWrite(verde,LOW); //apaga el led verde
      Serial.print(valor_medflama); //imprime el valor leído
      Serial.println ("     Hay Fuego"); //imprime la presencia de fuego a partir del valor menor a 200
      digitalWrite(rojo,HIGH); //enciende el led rojo indicando fuego
    delay(1000);
    digitalWrite(rojo,LOW); //apaga el led rojo de alarma
    }
//el ciclo dura dos segundos
}

Hasta aquí el programa.

Aquí te muestro un video del funcionamiento para que te guíes a la hora de operarlo.

Asegúrate que todo está conectado correctamente antes de conectar el Arduino a tu computadora.
Espero te diviertas.


DR. Darío Aguirre 2017



1 comentario:

  1. Hola, no sabrias como implementar un buzzer ? , saludos

    ResponderEliminar