Proyecto Final

El proyecto final, será un prototipo interactivo que representará la solución a un problema, que puede incluir alguno de los sensores que se estarán estudiando y con los cuales se practicó durante el curso.

La propuesta es que se invente un proyecto en el que mediante esos dispositivos se pueda proponer una solución a un problema, que pueda crearse con los sensores y actuadores que se conocieron en este curso.

La realización del proyecto final se basa en la estrategia de resolución de problemas llamada Design Thinking que cuenta con varias etapas.





Etapa 1: Inspiración






Etapa 2: Implementación












Etapa 3: Socialización


Alarma contra incendios


  ¿Cuál es el problema a solucionar?


La escuela en que trabajo no cuenta con ningún tipo de dispositivo que alerte a las personas de un incendio lo cual se convertiría en un gran problema si llegara a haber fuego en alguna parte de la institución y no se pudiera avisar de la forma más rápida
a la totalidad de personas para que evacuen.

 Solución al problema

Mediante la creación de un prototipo utilizando la tarjeta arduino se realiza una alarma contra incendios, la cual funciona mediante un sensor de temperatura que determina los grados centígrados al cual se expone un lugar, por ejemplo un aula, si esta medición sobre pasa el límite la alarma se activa emitiendo un sonido mediante un parlante o piezo, además tiene un led que se enciende al mismo tiempo para dar una alerta visual a las personas de un posible incendio. En caso de que fuera una falsa alarma, ésta se puede apagar presionando un botón de contacto.






El programa utilizado es el siguiente:

#include <pitches.h>

int sensorTemperatura = 0;   // variable para el sensor de temperatura conectado al pin 0
int limite = 25;             // variable que define el límite de la temperatura
int led = 11;         //pin para el led
int piezo = 9;        // pin para el parlante
int boton= 7;        //pin para el botón
int estado = 0;     //variable que define el estado del botón
int sonido[] = {NOTE_A3, NOTE_C4,NOTE_A3, NOTE_C4,NOTE_A3, NOTE_C4};  // notas que representan un sonido de alarma

int tiempo[] = {4,4,4,4,4,4};   // tiempo para el sonido


void setup() 
{
  Serial.begin (9600);     //llama al monitor serial
  pinMode (led, OUTPUT);   //define al led como puerto de salida
  pinMode (piezo, OUTPUT);  //define al parlante como puerto de salida
  pinMode (boton, INPUT);   //define al botón como puerto de entrada
   
}

void alarma ()     // procedimiento para que se escuche el sonido de alarma
{
  for (int nota=0; nota<6; nota++){
  int duracionNota=2000/tiempo [nota];
  tone (piezo, sonido [nota],duracionNota); // hace que suene la melodía
  int pausa = duracionNota*1.30;
  delay (pausa);
  }
}

void ejecuta()
{
  int lectura = analogRead (sensorTemperatura);

  float voltaje = 5.0 / 1024 * lectura;    // formula para calcular le temperatura en °C
  float temp = voltaje * 100 - 50;
  Serial.println ("Temperatura: ");
  Serial.println (temp);            //muestra en el monitor serial la temperatura captada

  if (temp >= limite)     // condición que determina lo que pasa si la temperatura esta a más del límite
  {
   digitalWrite (led, HIGH);    //enciende el led
   alarma ();     //activa el procedimiento alarma
   delay (300);
  }
  else           // si no se cumple la condición
  {
   digitalWrite (led, LOW);  // el led permanece apagado
   noTone (piezo);         // el piezo no emite ningún sonido
   delay (100);
  }
}

void loop() 
{
  while(digitalRead (boton)== 0)     //mientras el botón este sin presionar realiza la acción siguiente
   {
   ejecuta ();   //activa el procedimiento ejecuta
   }
   
  while(digitalRead (boton)== 1)    //mientras el botón este presionado realiza la acción siguiente
 {
   digitalWrite (led, LOW);  // el led permanece apagado
   noTone (piezo);         // el piezo no emite ningún sonido
 }

}










Problemas técnicos:




Durante la realización de este proyecto se presentaron varios problemas técnicos:

- Uso de un sensor desconocido (sensor de temperatura), para lograr el funcionamiento del prototipo era necesario utilizar un sensor de temperatura, el cual no había sido visto durante el desarrollo del curso.  Para solucionar este problema fue necesario investigar en internet y hacer varias pruebas o prácticas.

- La conexión del voltaje y el GND para los dos sensores se me confundió un poco, igual que el caso anterior fue necesario investigar y probar distintas conexiones de la protoboard a la tarjeta arduino.

- La programación del prototipo también tuvo su dificultad, existieron errores de sintaxis .












No hay comentarios.:

Publicar un comentario