Un sensor de llama óptico es un dispositivo que permite detectar la existencia de combustión por la luz emitida por la misma. Esta luz puede ser detectada por un sensor óptico, y ser capturado por las entradas digitales y las entradas analógicas de Arduino.
Normalmente estos sensores constan únicamente de un sensor infrarrojo ajustado (podria detectar ultravioleta). El ángulo de detección es de 60º, y la distancia de detección entre 0.40 m a 0.80.
Permite obtener la lectura tanto como un valor analógico (números variables) como de forma digital (LOW 0 ó HIGH 1) cuando se supera un cierto umbral, que se regula a través de un potenciómetro ubicado en la placa.
Estos sensores dan lugar a numerosos falsos positivos(errores) por tanto, la sensibilidad y fiabilidad de estos detectores baratos no son suficientes para considerarlos un auténtico dispositivo de seguridad, aunque pueden ser ocupados en pequeños proyectos de electrónica educativa y con fines didácticos, como por ejemplo hacer sonar una alarma, activando un LED o encendiendo una bomba de agua al detectar la llama de un mechero.
NO ENCONTRARAS EL SENSOR DE FLAMA EN TINKERCAD
const int LED=12; //led conectado al pin 12
const int FLAME = 2; //sensor conectado a pin 2 (salida digital)
void setup(){
pinMode(LED, OUTPUT); //Led en modo de salida
pinMode(FLAME, INPUT); //sensor en modo entrada
}
void loop(){
digitalWrite(LED, digitalRead(FLAME)); //primero leer el sensor FLAME, si detecta alguna flama, el Led será HIGH (alto), de lo contrario sera LOW(apagado
}
NO ENCONTRARÁS EL SENSOR DE FLAMA EN TINKERCAD, PERO SI PUEDES PROGRAMAR POR BLOQUES
int buzzer = 12; // definir pin 12 para parlante o Led
int valorSensor = 0; // definir variable para valor proveniente del sensor
void setup() {
Serial.begin(9600); //velocidad de comunicación con puerto serial (pantalla)
pinMode(buzzer, OUTPUT); //definir parlante como salida
}
void loop() {
valorSensor = analogRead(A0); //variable que lee el valor del sensor
Serial.println(valorSensor); //imprimir en puerto serial, el valor del sensor
if (valorSensor < 500){ //si el valor del sensor es menor a 500 (normalmente //será 800 aprox)
digitalWrite(buzzer, HIGH); //encender el parlante o led
delay(100); //esperar 100 milisegundos
digitalWrite(buzzer, LOW); //si no es menor a 500, apagar el parlante o led
delay(50);
}
}