Detector de llama. - Keyes - KY-026

     Existen varios dispositivos similares. El que yo tengo es el modelo Keyes KY-026. Disponen de un led indicador, ajuste de sensibilidad e indicador de funcionamiento.

     Funcionan en la longitud de onda comprendida entre los 760 y 1100 manómetros. El angulo de visión del sensor es de unos 60º, cosa que se puede comprobar fácilmente al acercar la llama de un encendedor.

     Se pueden utilizar tres o cuatro patas tanto de forma digital como analógica.

Arduino GND --> Module G
Arduino +5V --> Module +
Arduino digital 4 --> Module D0
Arduino A3 --> Module A0








Sketch Arduino - I

int Led=13; 
int buttonpin=3; 
int val; 
     void setup()
     {
          pinMode(Led,OUTPUT); 
          pinMode(buttonpin,INPUT); 
     }
     void loop()
     {
          val=digitalRead(buttonpin); 
          if(val==HIGH) 
     {
          digitalWrite(Led,HIGH); 
     }
          else
          {
          digitalWrite(Led,LOW); 
          }
     }






















                                                 Sketch Arduino - II








Sketch Arduino - III


int analoog = A3; // define the flame sensor interface
int sensor; //read analoog value
long time = 0;
int counter = 0;
void setup ()
{
  pinMode (analoog, INPUT) ;// output interface defines the flame sensor
  Serial.begin(9600);
}

void loop ()
{
  sensor = analogRead(analoog);
  Serial.println(sensor);  // read input value

  
    if (sensor < 100) {
    time = millis() + 15000; //detecting time + 15 seconds
     
    while(time > millis() && sensor < 350){                       // made this 350 but you easly speed that up to 650.
    Serial.print("still detecting sensor value = ");              // in the video it is 500
    Serial.println(sensor);
    sensor = analogRead(sensor) ;
    if(sensor > 350){
      Serial.print("no fire   sensor value = ");
      Serial.println(sensor);
      break;
    }
    delay(1000);
    counter ++;
    }
    Serial.println("outside the while loop");
    if(counter >= 14){
      Serial.println("START SPRINKLER!!!! ");
    }
  }

  delay(1000);
  counter = 0;        // set counter back to 0 so if it has broken out the while loop it doesnt built up an currupt value
}





No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.