Visita mi canal de youtube

domingo, 16 de julio de 2017

Proyecto: Sistema de seguridad del hogar


Introducción

La mayoría de los hogares en todo el mundo carecen de un sistema de seguridad de cualquier tipo. El objetivo de nuestro proyecto fue diseñar un sistema de seguridad simple utilizando el Atmel AVR ATmega1284p microcontrolador que la mayoría de la gente podría construir sin demasiada molestia por un precio asequible. Este proyecto utiliza unos pocos periféricos externos para lograr este objetivo; Muchos otros pueden ser fácilmente incorporados para hacer el sistema más útil. Con el fin de hacer este proyecto más singular en comparación con otros sistemas de seguridad en el hogar, decidimos incorporar un módulo de cámara para la evidencia fotográfica del autor. También decidimos añadir algunas técnicas de procesamiento de imágenes para tratar de detectar intrusos legítimos e ignorar los falsos positivos.

Descripción del Proyecto de Alto Nivel

Hemos construido un sistema de alarma de infrarrojos (IR) con la unidad de microcontrolador AVR ATmega1284p. Un haz de IR se genera mediante un mando de TV normal (para mayor comodidad para alguien que construye el proyecto y para evitar tener una segunda placa de alimentación / fuente de alimentación) que se mantiene en todo momento a una distancia de la puerta de la placa base. El sistema monitorea constantemente el haz de IR, verificando si ha sido bloqueado por cualquier objeto, posiblemente un ser humano. Un bloqueo detectado dispara un módulo de cámara para ajustar una imagen y luego analiza si esto podría o no ser un intruso utilizando técnicas de procesamiento de imágenes. Entonces la imagen se almacena en una tarjeta SD. A continuación, se emite un zumbador alto durante un corto período de tiempo para alertar a la gente del intruso. Utilizando cualquier tarjeta MicroSD con formato FAT16 insertada en el módulo de tarjeta SD, el propietario debe poder transferir las imágenes a su computadora para verlas. Fuimos con esta idea porque creemos que es una aplicación útil y realista de la MCU AVR que puede ser adoptada por cualquier persona que esté familiarizada con los microcontroladores y no quiere comprar un costoso sistema de seguridad.

Diseño de Software / Hardware

Hay cinco subtareas principales para este proyecto: Utilizar luz infrarroja para detectar un intruso, tomar una foto con el módulo de cámara, almacenar la imagen en una tarjeta SD, analizar la imagen para detectar un intruso válido y sonar el zumbador. El centro de este proyecto es un kit STK500 con un Atmel AVR ATmega1284p que soldamos con piezas suministradas por Bruce Land.

Detección de infrarrojos

Hardware


Para la detección de infrarrojos se utilizó un controlador de TV Toshiba CT-90325 como el transmisor de la viga que se rompería. Lo emparejamos con el fototransistor LTR4206E del laboratorio. El mando a distancia se mantenía presionado constantemente (esto se puede simular en un entorno de aplicación grabando cualquier botón remoto presionado firmemente) a una distancia de la puerta (alrededor de 4 pies) del fototransistor. Encontramos que la señal atenuada más allá del fototransistor + circuito de comparación del circuito de detección más allá de aproximadamente 5 pies, por lo que un fototransistor más sensible tendría que ser utilizado para aplicaciones en las que una mayor distancia se requiere. El mando a distancia siguió un protocolo específico de infrarrojos de Toshiba que opera en la banda de frecuencia de 38 kHz. Esto implicó el envío de una secuencia de comandos específica (a 38 kHz dentro de cada impulso) seguida de impulsos de frecuencia fija de anchura fija de 109 milisegundos a intervalos regulares (más largos) para ahorrar energía. La secuencia de comandos duró menos de un segundo, pero para ser seguro, esperamos por lo menos 5 segundos antes de encender el AVR para asegurar una corriente de pulso regular.


 Figure 1: Remote Controller Pulse Waveform 
Si un objeto obstruye la trayectoria entre el mando a distancia y el fototransistor, los impulsos regulares ya no podrán atravesar el fototransistor. Detectamos si se ha perdido o no un pulso programado regularmente como medio para detectar un posible intruso. Aunque utilizamos un protocolo remoto y de IR específico, cualquier flujo de impulsos de anchura fija regular dentro de las restricciones de detección planteadas por el fototransistor debería funcionar bien con nuestro sistema (como se explicará más adelante).

La configuración física del circuito implicaba el mando a distancia en un extremo y un fototransistor conectado a un circuito comparador en el otro extremo. Este comparador fue conectado a la clavija D3 del microcontrolador. Esto fue similar al circuito que usamos en el Laboratorio 4. El diagrama de circuito se muestra en la Figura 2.


Figure 2: Analog Comparator Circuit for Phototransistor adapted from Lab4 
Hemos reemplazado el trimpot en el diagrama anterior a resistencias específicas para que pudiéramos tener un umbral más predecible con el que trabajar, aunque el trimpot podría fácilmente ser puesto de nuevo y ajustado para producir el mismo umbral. Utilizamos un amplificador operacional LM358 y un fototransistor LTR4206E. Además, decidimos añadir un filtro de paso bajo a la salida del fototransistor para limpiar esta señal ya que era bastante ruidosa. Este circuito se activaría cada vez que se produjera un pulso. El nuevo diagrama de circuito se muestra en la Figura 3.



Figure 3: Final Analog Comparator Circuit for Phototransistor 
Software

Utilizamos la interrupción externa 1 (INT1) como la interrupción de salida del comparador que se ajustó para disparar en el borde descendente, ya que el fototransistor está activo bajo. La primera línea de acción fue encontrar el período entre pulsos regulares. Después de llamar a la función initialize () que configura los puertos y las variables requeridas en el código, llamamos una función find_period () que activa INT1 y mide el período entre dos pulsos consecutivos en milisegundos. Este período se almacena entonces en una variable global para su uso en otras funciones y se encontró que era de alrededor de 109 milisegundos. A continuación se creó una función auxiliar para contar la cantidad de tiempo en milisegundos entre dos bordes descendentes consecutivos de la interrupción. En nuestro bucle principal, hemos mantenido un temporizador que contaría el número de milisegundos que han pasado. Este temporizador se restablece en la interrupción. Si el temporizador supera el período de pulso (condición relajada un poco de efectividad), entonces se perdió un pulso y asumimos que el haz fue disparado. Dado que el mando a distancia tiene un "pulso doble" como se puede ver en la figura 1, esperamos más allá del tiempo del pulso doble (27 mseg) antes de salir de la interrupción. Utilizamos el USART para depurar esta parte y también encontramos que milisegundos serían la mejor opción de medición. Una forma de onda de los impulsos se muestra más arriba en la Figura 1.

Cuestiones

El principal problema que tuvimos en la detección de IR fue con el rango. Se encontró que la distancia máxima entre el remoto y el fototransistor que era aceptable para retener la funcionalidad era de aproximadamente 5 pies. Más allá de esta distancia todavía podíamos observar los impulsos que entran al comparador en el osciloscopio, pero a pesar de casi eliminar la histéresis no pudimos conseguir que el comparador reconozca pulsos a estas distancias. Pensamos que conseguir un fototransistor más sensible ayudaría a aliviar este problema, aunque dado que el alcance máximo actual de 5 pies es mayor que el ancho medio de la puerta, decidimos que este problema era aceptable dado nuestro objetivo. También intentamos afeitar la punta del transistor para mejorar la orientación de la dirección, pero no hizo mucha diferencia. Nuestro circuito de comparación tenía una conexión suelta en algún lugar que causó muchos problemas al depurar. Sin embargo, después de reemplazar un amplificador de operación este problema parecía desaparecer. Cabe mencionar que antes de utilizar un fototransistor analógico estándar como el LTR4206E, hemos intentado utilizar un fototransistor TSOP32138-ND especialmente diseñado para detectar señales remotas de 38 kHz. Sin embargo, su circuito interno y su posible control de ganancia automático eliminaron cualquier pulsación regular recibida mientras se conservaba la secuencia de comandos (para facilitar el manejo de las señales remotas por los circuitos del receptor de TV). También tenía menor sensibilidad en comparación con el LTR4206E, que era otra razón para dejar de usarlo.
Cámara

Hardware software

Utilizamos un C3038 Digital Camera Module para tomar una imagen del intruso. Hemos investigado una gran cantidad de módulos de cámara diferentes, pero la mayoría de ellos requiere una amplia configuración de la interfaz y la mayoría de estos componentes / módulos no eran de alta calidad suficiente para nuestros fines o se informó que tienen muchos problemas de interfaz. Finalmente encontramos el módulo C3038 (que utiliza un sensor de imagen OV6640) y estamos muy satisfechos con su interfaz I2C fácil de usar, flexibilidad y documentación. También encontramos que un grupo anterior de ECE 4760 (Ryan Dunn y Dale Taylor, primavera de 2009) había utilizado el módulo de cámara C3038 con una interfaz I2C en su proyecto de escáner 3D, por lo que adaptó su código para nuestro proyecto (que también utiliza TWIMaster de Peter Fleury Para la funcionalidad I2C). El C3038 tiene una matriz de píxeles de 359x292 y tiene increíble flexibilidad y opciones para un módulo de su tamaño y propósito, incluyendo velocidades de reloj variables, diferentes formatos de imagen y resoluciones, enfoque variable y balance de blancos, etc. Utilizamos el formato RGB de una línea en un Ralentizado frecuencia de reloj de píxeles de 69,25 kHz. I2C es un protocolo de comunicación semidúplex que, aunque no es tan rápido como SPI (max 400 kbps de velocidad normal), requiere menos cables y es más que suficiente para muchas aplicaciones y periféricos integrados. El protocolo permite múltiples esclavos e incluso maestros y aunque consideramos aprovechar esas opciones, decidimos que la complejidad y el retardo introducidos al hacerlo no valdrían la pena.

La configuración de la cámara se puede ver en el esquema del circuito en el Apéndice B. La cámara descarga su buffer de línea en PORTA del microcontrolador. Otros puertos / clavijas importantes de la cámara al microcontrolador incluyen el reloj de píxeles (PCLK) en PIND2, sincronización vertical (VSYNC) en PINC3, referencia horizontal (HREF) en PINC2, reloj I2C (SCL) en PORTC0 e I2C (SDA) en PORTC1 . La cámara estaba orientada hacia la misma dirección que el fototransistor para maximizar la probabilidad de capturar una imagen de un potencial intruso.

La Figura 4 ilustra el procedimiento de captura de imágenes de la cámara. Dado el tamaño del búfer PORTA de 8 bits, podríamos enviar un máximo de una línea a la vez, pero dada la velocidad de datos rápida, era posible capturar la imagen y procesarla en un corto período de tiempo para que el zumbador pudiera ser Encendido en la presencia de un intruso en una manera oportuna.



Figure 4: Camera Image Capture Procedure 
Cuestiones

Aunque adaptar el código a nuestro proyecto fue un poco lento, no tuvimos que entrar en modo de depuración extensa para el módulo de cámara o la interfaz I2C y todo funcionó bien sin demasiadas molestias.

Tarjeta SD

Hardware software

En lugar de soldar cables a las clavijas de una tarjeta SD, compramos una tarjeta de expansión de tarjetas AdSafruit MicroSD para mayor comodidad. Esta placa realiza un cambio de nivel de 5-3.3V para los requisitos de voltaje de la tarjeta MicroSD, viene con un cabezal de clavija y tiene un LED integrado que parpadea cuando se lee / escribe la tarjeta MicroSD que facilita la interfaz con el ATmega1284p. La tarjeta MicroSD se comunicaba con el microcontrolador a través de SPI, de modo que las señales SCLK, MISO, MOSI y CS de la tarjeta de ruptura se conectaron a los pines de microcontrolador B7, B6, B5 y B4, respectivamente. Utilizamos una tarjeta MicroSD de 1GB para que pudiéramos tener un sistema de archivos FAT16 en él por motivos de simplicidad (tamaños de tarjetas de más de 2GB necesitan FAT32 y no funcionarán con FAT16). Adaptamos el popular código FATFS de Elm Chan para comunicarnos con la tarjeta SD.

Dado que el microcontrolador sólo tiene suficiente memoria para capturar una línea de una imagen a la vez, tuvimos que guardar las imágenes en la tarjeta SD línea por línea. Este proceso comienza una vez que se dispara el circuito IR, por lo que se guarda una imagen independientemente de si el resultado del procesamiento de la imagen indica que el bloqueo IR se debe a un verdadero intruso. Por lo tanto, cada línea se escribe en la tarjeta SD en la propia interrupción PCLK de la cámara; Esto no agrega demasiada sobrecarga de tiempo adicional debido a la naturaleza rápida de SPI. En cuanto a SPI, ponemos el SPCR del microcontrolador a MCU maestro y 00 de polaridad / fase de reloj (polaridad positiva y muestra en el borde del reloj de subida). Según el protocolo SD, la frecuencia de reloj alimentada a la tarjeta SD se reduce a menos de 400 kHz (125 kHz en nuestro caso) durante la inicialización, pero luego se incrementa a 2 MHz (y potencialmente más) después.

Cuestiones

Tuvimos más problemas con la obtención de la tarjeta SD para trabajar. La tarjeta SD no se pudo inicializar a pesar del cableado y código aparentemente correctos. Las configuraciones fueron verificadas (acceso de escritura, pines, frecuencia, número de volúmenes, etc.) y todo parecía estar bien. El protocolo SD fue seguido a la letra. Incluso tratamos de incorporar el código encontrado en otros proyectos en línea que tomó mucho tiempo. Sin embargo, lo que nos dimos cuenta bastante tarde en la depuración fue que el programador de microcontroladores (ISP) también utiliza SPI y por lo que la tarjeta SD debe ser apagado durante este proceso (cada vez que la MCU se restablece) para evitar la corrupción del sistema de archivos. Así que tratamos de desconectar la fuente de alimentación SD antes de apagar / reprogramar el AVR y volver a conectarlo después de que el AVR fue encendido y completamente programado. Esto terminó trabajando y pudimos guardar imágenes correctamente en formato Bitmap. Sin embargo, todavía nos encontramos con fallas de la mitad del tiempo que hemos atribuido a algún problema de hardware (y potencialmente un fallo de la placa de ruptura) que necesitará más investigación. Nuestra sospecha de un posible fallo de la placa de ruptura se reforzó aún más cuando no pudimos programar el propio microcontrolador cuando la placa de ruptura de MicroSD estaba conectada al circuito pero no se alimentaba con una fuente de alimentación de 5V (ya que tanto la placa de ruptura como el SPI) .

Procesamiento de imágenes

Software

Utilizamos técnicas de procesamiento de imágenes en la imagen para identificar si un intruso es o no un objeto grande (una aproximación para un ser humano). Para ello, utilizamos un filtro de detección de bordes. Pasamos cada línea de píxeles a través de un filtro paso alto 1-dimensional para fortalecer los bordes. A continuación, comprobamos para ver cuántos de estos píxeles estaban por encima de un cierto umbral y se suma el número de tales píxeles a través de toda la imagen. Si el número de "píxeles de borde" en la imagen entera estaba por debajo de un umbral especificado, determinamos que la alarma fue disparada por un objeto grande (probablemente un intruso humano) y procedemos a sonar el zumbador. Hemos hecho filtrado de paso alto línea por línea en lugar de filtro de paso alto de toda la imagen para la velocidad computacional y la simplicidad. Dado que la entrada de la cámara sólo se puede leer línea por línea, toda la imagen también tardaría mucho más tiempo (y la mayoría de la memoria de 128K ATmega1284P) para guardar y operar. El filtro de detección de bordes de tiempo discreto que usamos parecía el que se muestra en la Figura 5. Las imágenes del resultado de este filtro se muestran en la Figura 6.


Figure 5: Discrete-time impulse response of the high-pass filter used to detect edges 

Figura 6: A la izquierda hay una imagen de una rosa ya la derecha la imagen de rosa pasada a través de un filtro de detección de borde vertical. La imagen de la rosa procedía de una prueba de datos de entrenamiento para un proyecto de procesamiento de señal digital proporcionado por el profesor Tsuhan Chen.

El filtro de paso alto calcula un puntaje de diferencia que resalta cuán diferente se compara un valor de píxel con sus píxeles adyacentes (1D). Hemos comprobado el valor de esta comparación y si era inferior a un cierto umbral (200 trabajado para nosotros), entonces se incrementó el valor límite de borde. Jugamos con el número de "píxeles de borde" necesarios para activar la imagen hasta que sentimos que tenemos un valor que era lo suficientemente bueno para diferenciar entre un fondo plano y un fondo con una gran figura humana. Una serie de "píxeles de borde" que trabajó para nosotros fue de 1250. Desde la identificación humana real es realmente muy difícil, tratamos de pruebas en entornos sencillos sin que muchos bordes.

Para encontrar el umbral para el número de "borde-píxeles", primero encontramos el valor de los bordes del fondo dado ninguna interrupción y entonces agregamos una constante que sintonizamos para encontrar la diferencia entre una persona allí y ninguna persona. Esto nos permitió deshacernos del factor de fondo y permitimos fondos más complejos. Sin embargo, este nuevo método permitió una gran ambigüedad sobre si el objeto grande que pasaba a través de la viga era realmente un ser humano o no, pero ignoraría y objetos más pequeños (en cualquier caso un objeto grande que se mueve cerca de su puerta cuando usted está Lejos es probablemente algo digno de mirar).

Cuestiones

Uno de los principales problemas con el procesamiento de imágenes fue el hecho de que no podíamos analizar toda la imagen a la vez. Esto limitó severamente el número de técnicas que podríamos probar. La mayoría de los buenos algoritmos de reconocimiento humano son técnicas de visión por ordenador. Aunque estas técnicas podían detectar con exactitud a las personas, eran demasiado complejas para ser ejecutadas en un microcontrolador no sólo porque se necesitarían imágenes de formación adicionales, sino también porque el tiempo de cálculo en un microcontrolador sería irrazonable. Esto limitaba el tipo de visión por computadora que podíamos hacer. Además, para la detección de bordes ideal, desea detectar bordes verticales, así como bordes horizontales. Sin embargo, se creó un filtro de paso alto para bordes verticales solamente, que parecía funcionar razonablemente bien para un fondo simple y evitar tener que guardar toda la imagen antes de procesarla. Debido a que este es un problema bastante difícil, permitimos que se presentaran algunos falsos positivos. Otro problema potencial es los intrusos que se mueven rápidamente; La detección de intrusos y la captura de una imagen con la cámara suceden relativamente rápido, pero los intrusos de movimiento rápido crearían un desenfoque de imagen que no sería detectado bien por el filtro de paso alto que usamos. Este es un problema bastante difícil de manejar con un microcontrolador de 8 bits, por lo que decidimos asegurarnos de que la mayoría de los "intrusos" caminaban lentamente por el haz y podían detectarse fácilmente con fines de prueba.

Zumbador

Hardware

El hardware para esta parte era relativamente simple. Utilizamos dos zumbadores piezoeléctricos; Uno de los cuales produce un sonido de alta frecuencia y el otro un sonido de baja frecuencia. Esta combinación de zumbadores produce ruido insoportable que señala la urgencia (nadie puede soportar ignorar este ruido). El zumbador de alta frecuencia requiere 3-8V DC y produce un sonido de 2.8 kHz a 90 dB. El zumbador de baja frecuencia requiere 4-8V DC y produce un sonido de 300-500 Hz a 75 dB. Nos enganchamos tanto a PIND4 y tierra. Fueron capaces de generar un sonido de alarma con sólo el voltaje de la clavija.

Software

El software de esta parte era simple: activamos el puerto D4 cuando se cumplían las condiciones para que se activara una alarma, es decir, una imagen activada tenía suficientes "píxeles de borde" para garantizar que contenía un objeto humano / grande. La alarma se activó durante 10 segundos y luego se apagó. El código para esto se colocó en nuestro bucle principal después del código de detección de intrusos CV.
Resultados

Haz de infrarrojos

El haz de IR funcionó bien. El tiempo transcurrido entre los impulsos era lo suficientemente corto para poder atrapar un objeto que se movía a través de la viga con relativa rapidez. Dada la frecuencia de los pulsos regulares, cualquier cosa que obstruyera la viga que no se movía a más de 10 m / s sería capturada en la cámara. Las velocidades de caminata e incluso la velocidad de carrera de pista más olímpica son más lentos que esto dado el recinto de un ajuste de pista no, estamos bastante seguros de que esto sería capaz de detectar a todo el mundo que caminó a través de la viga se detectó. Hubo algunas veces cuando había inconsistencias debido a algún hardware defectuoso (cables sueltos, comparador defectuoso, etc.) pero en su mayor parte funcionó como estaba planeado. El código para esta sección funcionó suavemente gracias al factor adicional de error que añadimos para corregir una posible medición incorrecta del período de pulso.

Cámara

Después de un ajuste menor, la cámara, así como la interfaz I2C funcionó bien. Utilizamos el USART para comprobar los valores de píxeles de la cámara y confirmar que eran razonables. El módulo de la cámara podía tomar imágenes, almacenarlas temporalmente en su memoria incorporada, y retransmitirlas línea por línea al microcontrolador. Las imágenes eran de calidad bastante buena para nuestro procesamiento de la imagen. En general, no tuvimos demasiados problemas con este aspecto del proyecto.

Tarjeta SD

Después de la depuración extensa, conseguimos la tarjeta del SD para ahorrar imágenes correctamente en formato del mapa de bits, aunque a veces esto no suceda a pesar de desconectar la fuente de alimentación a la tarjeta del breakout antes de reajustar el AVR. Hemos concluido que esto se debe a algún problema de hardware (y potencialmente a un problema de placa) y dejaremos el problema para una investigación más profunda.

Procesamiento de imágenes

Hemos conseguido un procesamiento de imagen bastante preciso con nuestro filtro de detección de bordes. Fue capaz de detectar si había un objeto de cerca o ningún objeto en absoluto. Sin embargo, no hizo el mejor trabajo de distinguir entre un humano y un objeto grande diferente en virtud de la simplicidad de nuestro procesamiento de la imagen. Los objetos pequeños no planteaban problemas cuando pasaban directamente por el centro de la viga, pero tan pronto como el objeto se volvía casi tan grande como un humano se produjeron falsos positivos. No experimentamos con animales relativamente pequeños como gatos y perros pequeños (más bien es probable que muchas personas dejan mascotas en casa mientras están de vacaciones), aunque esperamos que el sistema no genere una alarma en estos casos dado el campo de visión de la cámara. Decidimos centrarnos más en la maximización del recuerdo (positivos verdaderos / (verdaderos positivos + falsos negativos)) en comparación con la precisión (verdaderos positivos / (verdaderos positivos + falsos positivos), ya que consideramos que es más importante que cada intruso sea detectado como Se oponen a permitir que los intrusos se alejen para llamar menos falsas alarmas. También nos dimos cuenta de que la visión por computador en general es un problema muy difícil incluso para computadoras completas y dadas las limitaciones del microcontrolador, hicimos lo mejor que pudimos. En general, nos complace encontrar que el filtro de paso alto relativamente simple funcionó bien para la detección de personas.
Zumbadores

Los zumbadores eran lo suficientemente ruidosos como para alarmar y ahuyentar a los intrusos. Incluso sorprendió a otros que trabajaban en el laboratorio u otro en el área en la que estábamos trabajando en el proyecto. Por supuesto, una cuestión que los zumbadores plantean es que informa al intruso de la presencia de un sistema de seguridad simple que pueden desmantelar (o robar para sus propios fines). Este problema palidece en comparación con la frecuencia de la casa se divide en y la eficacia en la alarma de aumento a los vecinos / transeúntes / policía que puede proceder a nab el intruso.

La seguridad

Había algunas veces en este laboratorio donde la seguridad tenía que ser aplicada. Inicialmente, estábamos planeando utilizar una lámpara de infrarrojos de gran alcance que podría causar daño a los ojos. Esta lámpara fue originalmente pensada para el propósito de la visión nocturna. Sin embargo, nos dimos cuenta de que esta lámpara en realidad podría causar daños oculares si se mira directamente y por lo que decidió que no sería la mejor idea para usar esta lámpara para el proyecto. Además de esto, también nos aseguramos de no tener cables sueltos saliendo de nuestro proyecto. En general, nuestro proyecto fue relativamente seguro.

Uso del producto

En general, el dispositivo es bastante fácil de usar. Después de configurar un control remoto constantemente presionado y activar el microcontrolador (con una fuente de alimentación), el sistema no requiere ninguna interacción adicional del usuario. Realizará las tareas que necesita sin más entrada del usuario (además del intruso romper el haz). Como se mencionó anteriormente, hemos probado el sistema manteniendo pulsada una tecla remota para generar una corriente de pulso de IR constante, pero en la práctica real, probablemente grabar un botón remoto para lograr el mismo. Esta facilidad de uso fue intencionadamente porque los sistemas de seguridad no deberían requerir de mucha intervención de sus usuarios y deberían funcionar en silencio en segundo plano. Es importante tener en cuenta que el sistema requiere una fuente de alimentación de 5V, lo que significa que la red principal debe estar encendida o el usuario puede tener que buscar alguna fuente de alimentación alternativa que funcione con el puerto de alimentación del STK500. Esto puede ser un problema para aquellos que quieren apagar la red eléctrica antes de ir de vacaciones, pero no tanto para aquellos que quieren utilizar este sistema cada noche como un sistema de seguridad regular.

Conclusiones y otras ideas

Usando artículos domésticos simples, algunos componentes baratos del laboratorio, y algunos periféricos externos relativamente baratos, pudimos hacer un sistema de seguridad competente que pudiera detectar intrusos con bastante precisión. La principal dificultad de este proyecto provino de la detección de la corriente de pulso con precisión, así como de la adición y la interfaz de periféricos en el microcontrolador. El código de integración (en el caso de la cámara) resultó ser difícil a veces debido a una documentación insuficiente o debido a las especificidades del proyecto del cual fue adaptado.

Algunas de las ideas que tenemos para mejorar implican principalmente periféricos adicionales que podríamos agregar al proyecto. Por ejemplo, enviar un mensaje al propietario a través de Bluetooth (o incluso mejor, a través de celular). Inicialmente pensamos en probar la comunicación Bluetooth y configurar un módulo Bluetooth, pero ya que tanto la cámara y el módulo Bluetooth, entonces estaría utilizando la misma interfaz I2C, decidimos contra la complejidad de tener múltiples esclavos I2C, especialmente desde el módulo Bluetooth didn ' T realmente proporcionar esa funcionalidad adicional dado los zumbadores. Otras ideas no se implementaron debido a la falta de recursos (dado el presupuesto del proyecto) o tiempo. Otra cosa que nos hubiera gustado mejorar es el alcance de la detección del haz de infrarrojos. Aunque nuestra gama está bien, nos damos cuenta de que podría ser mucho más si usamos otro circuito de enfrente de la habitación. Sin embargo, esto habría requerido o bien otra fuente de alimentación y breadboard (que podría haber puesto sobre nuestro presupuesto) o. Otra cosa que podríamos haber intentado es tratar de enviar una imagen o un mensaje a un teléfono celular una vez que la alarma se ha establecido. Inicialmente planeamos enviar un mensaje a través de bluetooth, pero una vez que nos enteramos de su alcance limitado, nos dimos cuenta de que no sería práctico en uso y sería mejor utilizar zumbadores en su lugar ya que el ruido repetido podría asustar a un intruso. Si es posible, nos gustaría probar una gama más larga de transmisión a la alarma cuando usted está lejos de la casa.
Impacto social

El sistema de alarma que hemos diseñado permitirá que los hogares a ser mucho más seguro cuando la gente está fuera de la casa o dormido. Este dispositivo también tomaría una foto de intrusos que permitirían robos en casa y otros crímenes dentro de la casa para ser documentados con evidencia fotográfica. Esto haría más fácil identificar a los sospechosos de estos crímenes y permitir que más personas sean capturadas por sus crímenes. Incluso si llevan una máscara de esquí y otra identidad de ocultar la ropa, una imagen de estos artículos de ropa puede ayudar a detectar a los criminales. La alarma con el sistema puede dar a la gente una sensación segura cuando duerme. Además de las razones legales, esto también dará a la gente un sentimiento más reconfortante sobre la seguridad en el hogar y les permite dormir en paz.

Normas reglamentarias utilizadas

SPI, el protocolo I2C, el protocolo Toshiba CT-90325 IR, FAT16 y el estándar SD.

Propiedad intelectual

La idea de este proyecto se atribuye por entero al profesor Bruce Land, enseñando ECE 4760. Sin embargo, el diseño y la implementación de este proyecto es nuestro trabajo. Utilizamos el código FatFS que se distribuye bajo la GNU General Public License para comunicarse con la tarjeta SD y no nos hacemos ningún crédito por estas partes. Probablemente no hay oportunidades de patentes o de publicación para este proyecto. Este es un proyecto útil que puede ser construido y adaptado por cualquier persona que quiera diseñar un sistema de seguridad simple detrás de una puerta particular de un edificio.

Consideraciones éticas

Los sistemas de seguridad están prácticamente en todas partes en nuestro mundo por lo que es difícil tomar el crédito de este concepto. Sin embargo, nuestra implementación es diferente en que usamos una cámara y realizamos el procesamiento de imágenes en la imagen tomada. Lo que es más importante, lo presentamos. Al hacer este proyecto, decidimos hacerlo a nuestra manera, y no hizo referencia a ningún proyecto en línea en el que también diseñó un sistema de seguridad.
Expresiones de gratitud

Quisiéramos agradecer a Bruce Land ya todos los técnicos de la ECE 4760 otoño de 2014, Alexander Jaus, Syed Tahmid Mahbub y Eileen Liu por su inestimable apoyo y gran compañía a lo largo de este proyecto. También queremos dar las gracias a Ryan Dunn y Dale Taylor por el código de la cámara de su primavera 2009 ECE 4760 3D Scanner Project.









Appendix B: Schematic



Appendix C: Code

Appendix D: Work Division


Appendix E: Parts Cost List




















0 comentarios:

Publicar un comentario