Code Monkey home page Code Monkey logo

controladordepequenoshurtos's Introduction

ControladorDePequenosHurtos

Proyecto de la asignatura Electrónica de Consumo perteneciente al cuarto curso del itinerario de Sistemas Electrónicos del Grado en Ingeniería de Tecnologías y Servicios de Telecomunicación en la ETSIT de la UPM

Consiste en un sistema basado en Arduino. Utilizando una protoboard, se conectan al microcontrolador dos sensores de fuerza (FSR circular), un diodo led (azul), un zumbador (activo piezoeléctrico con oscilador interno) y un módulo lector de tarjetas RFID (RC522, que trabaja a 13,56 MHz). Para la protección de todos estos componentes, hemos diseñado una carcasa fabricada mediante impresión en 3D, en la que hemos guardado tanto el Arduino, como la protoboard y el lector RFID. Los sensores se encuentran incorporados a una lámina de plástico que actúa como alfombrilla.

El Arduino está programado para escribir por el puerto serie a 9600 baudios el identificador de la tarjeta RFID que se haya pasado por el lector (o la palabra ROBO si no se ha detectado ninguna) seguido del número de zona/sensor (1 o 2) en la que se ha producido el cambio de peso y la variación de peso detectada (positiva o negativa). (En la versión de un sólo sensor no indica la zona)

De forma paralela, en un PC al que se va a conectar el Arduino, se encuentra un archivo de Excel (BBDD.xlsm) en el que existe una base de datos que contiene el identificador de cada empleado asociado a su nombre completo y una serie de permisos correspondientes a las distintas zonas en las que hay sensores. También hay otro archivo de Excel (Registro.xlsm) que contiene la misma base de datos (BBDD), las lecturas que se han producido (Lectura) y un registro de la actividad (Registro), cada cosa en su respectiva página. Por último, existe un archivo de texto plano (lectura_datos.txt) que sirve de fuente de información al Excel.

El nexo común a todos estos archivos es un programa de Processing escrito en Java. En primer lugar, lee el Excel de la base de datos (BBDD.xlsm) y guarda ésta como si de un array se tratara. Después identifica las cabeceras de la tabla para, a partir de ahí, buscar la información de una manera sencilla. De forma similar a lo que hace con el Excel de la base de datos, lee el archivo de texto plano y lo guarda como un vector para no perder la información previamente guardada y poder añadir más información.

Este programa lee el puerto serie para obtener la información enviada por el Arduino, la escribe en el fichero de texto plano añadiendo la fecha y la hora. En función de los distintos casos que se pueden distinguir, cambia la pantalla que se muestra al usuario, manda un correo al email seleccionado ([email protected]) desde otro que utilizamos como bot ([email protected]) con distintos asuntos y plantillas de texto con la información del incidente. Es importante cerrar el programa pulsando la tecla ‘c’ para que se registren los movimientos en el fichero de texto plano. Aunque debe permanecer abierto para que se pueda ejecutar.

Una vez ejecutado el Processing, en el fichero de Excel que lleva el registro se copia la base de datos existente en la hoja correspondiente (BBDD). Se elimina el contenido de la hoja Lectura y se asocia el archivo de texto plano mencionado anteriormente como fuente de datos (Datos -> Desde el texto/CSV -> ruta hasta el archivo lectura_datos.txt). Se asocian las columnas de la lectura según los campos que se pasan a este fichero desde el Processing (“ID”, “ZONA”, “PESO”, “FECHA”, “HORA”, …). En la hoja Registro se leen los datos de las otras dos hojas para presentar toda la información en conjunto. Para actualizar los datos basta con pulsar un botón (Datos -> Actualizar todo) y el proceso se realiza automáticamente. En la hoja Registro arrastrar la celda F2 (ACCESO) para copiar el formato a toda la columna.

controladordepequenoshurtos's People

Contributors

sromerop avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.