Detector de humo

Detector de humo

Proyecto desarrollado por el grupo 1, formado por Rebeca Sanz Lozano de la asignatura Diseño de Sistemas Empotrados, curso 2021-2022 y grado en Ingeniería de Computadores.

LISTA DE MATERIALES

ComponentePrecio
Arduino nano5€
Placas PCB doble cara1€
Led azul
Cables
Cables 5 pines macho-hembra
Buzzer
Led infrarrojo0.50€
Fotodiodo receptor de infrarrojo2€
Resistencia 1 M
Resistencia 220 Ω
Resistencia 100 Ω
Pila 9V
Super Starter Kit UNO R3 Project40€
TOTAL48.5€
Impresora 3D Prusa Mini+485€
Kit de soldador20€
PLA35€
TOTAL540€

Los materiales que aparecen en cursiva son opcionales, no son necesarios para la elaboración del proyecto pero para la impresión del gato así como de la recámara que contiene el fotodiodo y el infrarrojo, son necesarios.

INTRODUCCIÓN

El proyecto se ha basado en la dispersión de Rayleigh, fenómeno físico que explica la dispersión de la luz. Aplicado a este proyecto el led de infrarrojos va a emitir luz y en caso de que en ese momento haya humo va a chocar con las partículas del humo y esto podrá ser detectado por el fotodiodo, tal y como aparece en la siguiente fotografía.

Explicación dispersión de Rayleigh

HARDWARE

En primer lugar, había que decidir que material usar para la impresión del gato, lo cual supuso ciertos contratiempos que se explican en detalle en la memoria del proyecto. Una vez solucionado esto, se realizó el diseño 3D tanto de la recámara como del gato usando Fusion 360.

El hardware está dividido en dos partes. La parte de la cabeza del gato y el cuerpo.

CÓDIGO

const int buzzer = 12; 
int sensorPin = A0; 
int valores[10];
int i;
int media1, media2;
const int led = 3;
#define TIME 4000



void setup() {
 
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  pinMode(led, OUTPUT);

  media1 = calcularMedia();
  delay(TIME);
}

void loop() {

  media2 = calcularMedia();

  Serial.println(media1);
  Serial.println(media2);

  if(media2   < media1 - 5){
    
      tone (buzzer, 100); 
      digitalWrite(led, HIGH);
      
      Serial.println("Alarma activada ");
  
  
} else {
  
    media1 =   media2;
    noTone(buzzer);
    digitalWrite(led, LOW);
    Serial.println("Alarma no activada ");
  
}

delay(4000);
 
}

int calcularMedia(){
  int media;
  int sum = 0;
  
   for(i = 0; i<10; i++){
    valores[i] = analogRead(sensorPin);
    sum+= valores[i];
    /*Serial.print("Valor: ");
    Serial.println(valores[i]);
    Serial.print("Sum: ");
    Serial.println(sum);*/
 }
    media = sum / 10;
    return media;
}

VÍDEO DEMOSTRACIÓN

Enlace al vídeo : https://drive.google.com/file/d/13fGxk1w6zMrC96B8Z0jtaRJBnR9u6CqY/view?usp=sharing

MEMORIA

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *