Proyectos de años anteriores
Proyectos de años anteriores
Proyectos de años anteriores
Indice
- 2024
- Compresión de Datos en Tiempo Real para Microcontroladores (Data Dynamo)
- Emulador de receptor GNSS (Orbit Simulator)
- Control remoto programable infrarrojo (U-Remote)
- Sistema de corrección GNSS (SCG)
- Control Remoto Multiprotocolo (Pro-Link)
- Compresión de datos para Sistemas Embebidos (CompDatosSisem)
- Algoritmos de detección de bordes (Embedded Machine Learning)
- Monitor de Posiciones de Sueño (DreamSentry)
- Monitor de Posiciones de Sueño Mediante Acelerómetro (SueñoSens)
- Receptor GNSS simulado mediante uso del microcontrolador MSP430G2553 (GPS-Simulator)
- Embedded Border Detection (TinyBorder)
- 2023
- Análisis de técnicas de tiempo real en un sistema de adquisición y transmisión de temperatura (Temp-TReal)
- Sistema de Control
- Optimización de un sistema de adquisición y transmisión de señales analógicas (ADC-TReal)
- Diseño de un Microondas basado en Máquinas de Estados (MuWave)
- Reconocimiento de ondas sinusoidales y sincronización con movimiento de la mano (SINMOMA)
- Análisis de técnicas de tiempo real en un sistema de adquisición y transmisión de ubicación geográfica (GPS-TReal)
- Sistema de Confinamiento Virtual para Mascotas (Pet tracker)
- Sistema de confinamiento virtual para mascotas (Track-A-Cat)
- Sincronizador de Movimiento (Synchy)
- Sistema de Control (Implementación de un lazo de control)
- Sistema de Control de un filtro RC (SCRC)
- Confinamiento virtual para animales (Animalium Vestigator)
- Horno microondas con Statechart UML
- Sincronización de movimiento con ondas sinusoidales (HandSync)
- 2022
- Electronic Gas Auto Service (EGAS)
- Detección y conteo de pasos utilizando datos provenientes de una IMU (PIMU)
- Estación Meteorológica con Datalogger (Climatrón)
- Utilización de MFRC522 con MSP430 (Marcas con RFID)
- Dispositivo de monitoreo de red WiFi (WIFIC)
- Heart Rate and Oxygen Saturation meter (HeroxS)
- Control Programable de Persiana (Smart Blind)
- Reloj digital con medidor de variables ambientales (WEWA)
- Implementación y evaluación de un Sistema de detección (Free Fall Detector)
- Adquisición de señales electromiográficas (ASE)
- Monitor de red Wi-Fi (MoRe Wi-Fi)
- Detección de caminata por escaleras (ESCADETEC)
- 2021
- UARTetris: Tetris controlado por UART
- Color Check
- Reconocimiento de colores por aproximación CCS
- Sistema de Testeo de Protocolos de Comunicación Serial PROCOM
- iFall: Sistema de Detección de Caídas
- Analizador de paquetes en tránsito I2C - Sniffer I2C
- SiCEM - Sistema de Clasificación de Estados de Movimiento
- Lockers sin contacto para edificios - EDILOCK
- Control de Cortina Metálica de Garaje
- Dispositivo vestible para el monitoreo de signos vitales - SMARTWATCH
- Tarjeta Prepaga para Taxis - TaxiCard
- 2020
- DEO
- Ecologger
- Pro-Logger
- InviRot
- Rotation-in-HW
- Sensor-Capacitivo
- Signos-Vitales
- SINVA
- TouchCap
- ULP-Datalogger
- VitalsGrafrUy
- 2019
- SmartSUN
- SISEST
- PicassoBOT
- GesturesMouse
- ControlRemotoInc
- SetSens
- GuriZ
- Proyecto de Control de Luminaria LED
- CCuP
- 2018
- Insulogger
- Invernadero
- Sonometro
- SGTc
- Espigas
- Perimetro Virtual
- Border Detection Hardware
- Plataforma Testeo Multisensorial
- 2017
- Damava
- LoRa
- ProcessAccel
- SenSlope
- Ultrasonido
- 2016
- Emulador AFE
- Aquiles
- Mano Dura
- Posicionador 2D con Golpeador
- Domótica
- Datalogger con RTOS
- Rectas Paralelas con RTOS
- 2015
- Camera Full Control
- SAT-Sistema Automatico de Testeo
- DC-DC
- Sensores ópticos
- CtlDali
- Redes Nueronales Dos Etapas
- IR+PI
- Wolverine Contiki
- 2014
- FirmwareMetrologia
- RattusBot Mordedor
- GRSI
- HEM
- QiController
- Abejimetro
- MDM
- CtrlMotors3D
- Contiki Sinticki
- 2013
- Imágenes en RSI
- Timer sin tick
- Control de recorrida
- ECG Digital
- Control de Acceso
- 2012
- _compsummo
- DataloggerDVFS
- Wireless Data Streaming
- Modulo DOAS
- CarApp
- TestI2C
- 2011
- SPMTracker
- GSM-Contiki
- Datalogger StateChart
- SEM & EEM (Self and External Energy Metering)
- Ejecución desde RAM /Program counter profiler
- 2010
- miniODU
- Módulos dinámicos
- Datalogger-Contiki
- Transmisión de ráfagas
- Beacons
- 2009
- VacaSD
- DataLogger
- CursorControl
- Localizador
- Rastreador
- 2008
- Monokrom
- Domo-IP
- IEEE 802.15.4 Packet Sniffer
- Modulo Medidor de Cosumo
- SimCard Sniffer
- 2007
- Voyeur
- Monitoreo remoto de temperatura
2024
Compresión de Datos en Tiempo Real para Microcontroladores (Data Dynamo)
Estudiantes: Rodrigo Blanco, Nicolás Gugliucci, Lucas Olivera
Tutor: Javier Schandy
Resumen- Data Dynamo es una implementación de técnicas de compresión en tiempo real en microcontroladores, analizando el desempeño de los algoritmos de Huffman, RLE (RunLength Encoding) y LZSS (Lempel-Ziv-Storer-Szymanski). Para ello se adquieren datos de entrada al microcontrolador para posteriormente comprimirlos y transmitirlos mediante protocolo UART a la computadora, en donde se descomprimirán y analizarán los datos. Para realizar el análisis de desempeño de los distintos algoritmos se utilizarán métricas de rendimiento de compresión, tiempo de ejecución, consumo energético y uso de memoria. Durante el desarrollo, se crearon módulos específicos para la adquisición y manejo de datos, utilizando una arquitectura de software Round Robin con interrupciones permitiendo así un análisis de tiempos de ejecución más sencillos. Las pruebas revelaron la necesidad de ajustar la frecuencia de muestreo de la señal para no comprometer la integridad de los datos. Los resultados finales demuestran la viabilidad de la compresión de datos en tiempo real en microcontroladores. Se concluyó que la compresión de datos depende fuertemente de que tipo de señal se está manejando, para los algoritmos implementados el que arrojó mejores resultados en señales de poca variabilidad es RLE (cómo lo son las señales de temperatura muestreadas a alta velocidad) y un buen desempeño de Huffman y LZSS para señales periódicas. Se halló que las frecuencias máximas de muestreo a las que pueden trabajar los algoritmos Huffman, LZSS y RLE sin tener pérdidas de datos para el caso del microcontrolador utilizado son 448 Hz, 247 Hz y 598 Hz respectivamente.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Emulador de receptor GNSS (Orbit Simulator)
Estudiantes: Mauricio Guerrero, Irina Magallanes, Martina Montichelli
Tutor: Mauricio González
Resumen- Se presenta un sistema embebido capaz de emular el comportamiento del receptor GNSS Neo-6M de U-blox. El sistema embebido está basado en el Launchpad MSP-EXP430G2ET de Texas Instruments. Se implementó un módulo capaz de generar cuatro comandos NMEA diferentes, los cuales contienen diferentes datos. Se optó por utilizar un comando que transmite la posición y hora actual del receptor y otro que además de esa información, agrega la velocidad del mismo. Luego se implementó un comando que informa cuáles satélites fueron utilizados junto con el error en la posición, y otro que transmite los satélites que se encuentran a la vista. Asimismo, se logró configurar diferentes aspectos desde la aplicación de control del receptor, como el baudrate de transmisión de la UART y la constelación de satélites utilizada. A partir de la arquitectura de software Round-Robin con interrupciones, se logró una transmisión periódica de los comandos. Se diseñaron tres modos de funcionamiento distintos, uno situando el receptor en una posición fija en Montevideo, uno que alterna entre cuatro posiciones fijas en diferentes lugares del mundo y uno que da vueltas al Ecuador con una velocidad constante.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Control remoto programable infrarrojo (U-Remote)
Estudiantes: Guillermina Borrazas, Francisco Robaina, Agustina Tarres
Tutor: Rodrigo García
Resumen- Mediante este documento se detalla el diseño, implementación y pruebas de un prototipo para un control infrarrojo multiprotocolo. El sistema embebido está compuesto por un launchpad MSP-EXP430G2ET para el microcontrolador MSP430G2553, un teclado matricial 4x4 y un led infrarrojo. Via UART se le puede indicar al dispositivo que trabaje en uno de dos posibles modos de operación. En el ”modo de uso” el dispositivo procesa los botones presionados y envía el comando asociado a la dirección y en el protocolo predefinidos. Por otra parte, en el ”modo de programación” el usuario puede seleccionar el protocolo de comunicación, asignar distintas funcionalidades a cada botón del control remoto y definir una nueva dirección a la que se le envíen dichos comandos. Dicha programación se realiza, de igual modo, via UART.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sistema de corrección GNSS (SCG)
Estudiantes: Leandro Barros, Bruno Da Costa, Francisco Galietta
Tutor: Julián Oreggioni
Resumen- Este proyecto consiste en la aplicación de una técnica de mejora de la exactitud de medida de receptores GNSS llamada DGNSS, en este proyecto nos centramos en los receptores GNSS de bajo costo. La aplicación de esta técnica implica manejar la comunicación entre 2 sistemas embebidos llamados Base y Nodo, ubicados en distintos puntos geográficos, al igual que implementar un algoritmo que en función de los datos básicos recibidos desde un receptor GNSS de bajo costo sea capaz de generar datos de corrección para mejorar el error en la medición. Se plantea utilizar dos microcontroladores MSP430G2553 junto con el MSP430™ LaunchPad™ de Texas Instruments para manejar la Base y el Nodo, donde se aplicará el algoritmo de corrección respectivamente, el cual en nuestra aplicación se ha logrado disminuir el error en la medida a un 10 % del error original
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Control Remoto Multiprotocolo (Pro-Link)
Estudiantes: Guillermo García, Lucas Gavilanes, Nahuel Mesa
Tutor: Rodrigo García
Resumen- En el presente proyecto se busca implementar un control remoto programable utilizando el microcontrolador MSP-EXP430G2553 junto al kit de desarrollo MSP-EXP430G2ET LaunchPad. Este control remoto es capaz de operar con los protocolos NEC y SIRC, lo que lo hace compatible con una amplia gama de dispositivos electrónicos. Además, se ha diseñado una interfaz amigable con el usuario que facilita su programación y uso. Los métodos empleados incluyen la programación del microcontrolador para manejar las señales de control infrarrojo y la creación de una interfaz intuitiva que permite a los usuarios programar y almacenar comandos fácilmente. Las herramientas utilizadas abarcan el entorno de desarrollo integrado (IDE) de Texas Instruments y el hardware del kit de desarrollo mencionado. Como resultado, se ha logrado un dispositivo versátil que permite controlar diferentes aparatos electrónicos tras una sencilla configuración inicial, mejorando la experiencia del usuario al ofrecer una solución unificada y adaptable a sus necesidades.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Compresión de datos para Sistemas Embebidos (CompDatosSisem)
Estudiantes: Santiago Castellano, Santiago Pérez, Ernesto Rován
Tutor: Javier Schandy
Resumen- Este proyecto busca realizar un estudio de algunas de las distintas técnicas de compresión de datos en el contexto de sistemas embebidos, con bajos recursos y orientados a la adquisición de señales en el tiempo. Se presenta una serie de implementaciones de los algoritmos RLE, Huffman y LZW, con diferencias metodológicas notables entre sí, adaptados a las limitaciones que implica un microcontrolador como el MSP4302553. A partir de ellas se realiza un análisis comparativo en pro de ponderar los defectos y virtudes de cada uno.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Algoritmos de detección de bordes (Embedded Machine Learning)
Estudiantes: Estéfano Bargas, Lucas Pereyra, Juan Andrés Silveira
Tutor: Leonardo Barboni
Resumen- Este proyecto está dedicado al estudio y evaluación detallada de la implementación de algoritmos de detección de bordes de imágenes binarias en un sistema embebido cuyo hardware impone limitantes. Se trabaja con 3 algoritmos distintos: fuzzy, sobel aproximado y sobel exacto. Se desarrolla un sistema interactivo que se controla mediante comandos vía UART y el cual es capaz de detectar y devolver por el mismo protocolo los bordes de una imágen pre-cargada en flash de 21x21 píxeles utilizando 3 algoritmos distintos. Este sistema es también capaz de medir los tiempos de ejecución de cada algoritmo. Estas medidas se realizan variando la frecuencia de trabajo del microprocesador. Se estudian además términos de memoria, donde se toman consideraciones para la optimización de la misma. El algoritmo más rápido es el fuzzy, el cual demora 31ms cuando se trabaja a 16MHz.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Monitor de Posiciones de Sueño (DreamSentry)
Estudiantes: Fiorella Brocco, Sebastián Cremella, Gabriel Iglesias
Tutor: Varinia Cabrera y Josefina Lema
Resumen- Este proyecto desarrolló un sistema embebido para monitorear y registrar las posiciones de sueño utilizando un microcontrolador MSP430G2553 y un acelerómetro BMI160. El sistema detecta si la persona duerme boca arriba, de lado izquierdo o derecho, con la capacidad de enviar los datos de posición, batería y horario a una PC a través de una interfaz UART tras una noche de medición.
El sistema trabaja en tres modos de bajo consumo para prolongar la autonomía del dispositivo. Estos modos se diferencian en el tiempo de monitoreo de la posicion del usuario y la frecuencia a la cual se toman las muestras para determinar dicha posición. Se implementaron pruebas para verificar la precisión en la detección de posiciones y la eficiencia en la gestión energética, así como la fiabilidad de la comunicación.
Las pruebas demostraron que el sistema cumple con los requisitos de diseño establecidos, asegurando una detección precisa de las posiciones de sueño, comunicación UART que garantiza la transferencia correcta de los datos a la PC y una gestión energética efectiva, lo que permite un funcionamiento prolongado del dispositivo.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Monitor de Posiciones de Sueño Mediante Acelerómetro (SueñoSens)
Estudiantes: Pablo Sebastian Solla Lotito, Federico Gutiérrez Scampini
Tutor: Varinia Cabrera y Josefina Lema
Resumen- Este proyecto se enfoca en desarrollar un prototipo de dispositivo portátil de bajo consumo destinado a detectar y registrar posiciones corporales durante el sueño. El dispositivo se coloca en el pecho del usuario mediante un cinturón y opera de manera autónoma durante una noche completa. El sistema utiliza un acelerómetro BMI160 para detectar posiciones mediante procesamiento de señales, comunicándose con el microprocesador MSP430G2553 a través del protocolo I2C y enviando las adquisiciones de posición mediante UART. Además, este dispositivo implementa modos de operación que ajustan sus características de consumo para adaptarse a diferentes niveles de carga de la batería. La medición del nivel de batería se realiza periódicamente utilizando un convertidor analógico-digital (ADC). El sistema detecta satisfactoriamente las posiciones boca arriba, costado derecho y costado izquierdo, presenta un consumo de 0.375 mAh en su modo de operación nominal y envía correctamente por el protocolo UART los datos recabados de una noche, además de responder correctamente a los niveles de batería con el apropiado modo de operación.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Receptor GNSS simulado mediante uso del microcontrolador MSP430G2553 (GPS-Simulator)
Estudiantes: Juan Costabel, Gabriela Silva Goncalves, Milagros Ubbriaco
Tutor: Mauricio Gonzalez
Resumen- Este proyecto se centra en el desarrollo de un simulador de receptor GNSS, específicamente del modelo Neo 6M de Ublox, utilizando un Launchpad MSP430. El objetivo es emular la funcionalidad del receptor GNSS, que interpreta señales de satélites de geolocalización para determinar ubicaciones geográficas precisas. Primero, se intercepta la comunicación entre el Neo 6M y una aplicación de la PC llamada U-Center para conocer e interpretar los protocolos NMEA y UBX. Luego se emula esta comunicación utilizando el microprocesador y la PC mediante UART, simulando la transmisión y recepción esperada de un receptor GNSS a lo largo de un recorrido marcado, al que se logró exitosamente gracias a una comunicación serial bien implementada.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Embedded Border Detection (TinyBorder)
Estudiantes: Ilan Sabaj, Ignacio Valettute, Pablo Vázquez
Tutor: Leonardo Barboni
Resumen- El proyecto TinyBorder consiste en la implementación y evaluación de un sistema de detección de bordes de imágenes binarias, desarrollado para hardware de bajos recursos. Se implementan tres algoritmos diferentes, todos basados en realizar distintas operaciones sobre cada píxel y sus primeros vecinos. Se diseña un sistema de transmisión de imágenes por el protocolo Universal Asynchronous Receiver-Transmitter (UART). Este sistema permite visualizar la imagen original y la imagen resultante que contiene únicamente los bordes detectados. Se diseña un sistema de recepción de comandos por UART que permite seleccionar el algoritmo a utilizar. Se realizan mediciones de tiempo de ejecución a través de tres métodos para cada uno de los algoritmos, y se mide también el consumo, para 4 configuraciones diferentes de frecuencia del reloj del sistema. Se logra implementar un sistema capaz de seleccionar el algoritmo a utilizar, procesar la imagen y almacenar el resultado, todo dentro de las limitaciones de memoria RAM del hardware (512 bytes). El algoritmo más rápido es el Sobel aproximado, con un tiempo de ejecución de 3,91 ms a 16 MHz.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
2023
Análisis de técnicas de tiempo real en un sistema de adquisición y transmisión de temperatura (Temp-TReal)
Estudiantes: Rocío Cabral, Sofía Duarte, Facundo Rodríguez
Tutor: Julián Oreggioni
Resumen- En este proyecto se busca comparar cuatro arquitecturas de software embebido teniendo en cuenta sus tiempos de respuesta, consumo y escalabilidad. Las arquitecturas usadas son Round-Robin con y sin interrupciones, planificación por encolado de funciones y una cuyo procesamiento está basado exclusivamente en interrupciones (a la que se denomina main loop). El estudio se realizó sobre una aplicación sencilla que realiza transmisiones periódicas de tiempo y temperatura por UART, además de recibir y responder a cinco comandos por la misma vía.
Para el análisis de los tiempos de respuesta se desarrolló un módulo de software de medida de tiempos y se buscaron los peores casos tanto para la transmisión periódica como para la respuesta de comandos, para las cuatro arquitecturas.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sistema de Control
Estudiantes: Hernán Cardoso, Fabrizio Rafaelli, Mercedes Muñoz
Tutor: Mauricio González y Rodrigo García
Resumen- En este documento se detalla el proyecto en el que se trabajó la implementación de un lazo de control para un filtro RC. Se utiliza una PC para el lazo de control y la generación de señal de entrada al lazo y el microcontrolador para muestrear la salida del filtro y generar la señal de entrada al mismo. Para esto se tuvo que resolver la comunicación entre PC y microcontrolador, configuración de periféricos y el diseño de interfaz de usuario.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Optimización de un sistema de adquisición y transmisión de señales analógicas (ADC-TReal)
Estudiantes: Diego Belzarena, Giannina Marrero, Sofía Rijo
Tutor: Julián Oreggioni y Rosina D'Eboli
Resumen- El siguiente proyecto consiste en el estudio e implementación de un sistema embebido de tiempo real para adquisición y trasmisión de señales analógicas basado en el microcontrolador MSP430G2553. Partiendo de un proyecto anterior se incorporaron una serie de mejoras buscando aumentar las tasa de transferencia de datos (throughput). Estas mejoras incluyen: aumentar de 2 a 8 la cantidad de canales que se pueden adquirir, incorporar un método de empaquetado de datos con el objetivo de mejorar la eficiencia de la trasmisión, aumentar la tasa de trasmisión de la UART a 1, 54 M bps (el mayor registrado hasta el momento en el curso de Sisem) y aumentar otros tiempos como el tiempo de adquisición del ADC o el clock principal de la CPU del microcontrolador. Asimismo, se incluye un análisis detallado de tiempos de respuesta y cuellos de botella.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Diseño de un Microondas basado en Máquinas de Estados (MuWave)
Estudiantes: Ignacio Olveira, Nicolás Parra, Federica Serra
Tutor: Leonardo Steinfeld y Rosina D'Eboli
Resumen- El proyecto consiste en el modelado e implementación de un horno microondas mediante diagramas UML. El mismo puede trabajar en dos modos de funcionamiento, un modo rápido que inicia la cocción con una configuración predeterminada y un modo manual, en el cual es posible configurar la potencia y el tiempo a utilizar, así como activar el grill del microondas. Para realizar el dispositivo se utilizó el siguiente hardware: launchpad MSP430G2 integrado con el microcontrolador MSP430G2553, teclado matricial de 4x4, display OLED integrado con un controlador SSD1306 y un LED externo.
En cuanto al software del proyecto, para el control de la máquina de estados se utilizó una cola de eventos circular, a la cual los distintos periféricos encolarán un evento correspondiente. Luego, la maquina de estados procesa los eventos realizando las acciones correspondientes al estado y evento, dependiendo del estado en que se encuentre el sistema, se realizan las acciones correspondientes al evento generado.
Finalmente, se construyó una maqueta para conseguir una mejor visualización del horno microondas.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Reconocimiento de ondas sinusoidales y sincronización con movimiento de la mano (SINMOMA)
Estudiantes: Graciana Castro, Lourdes Conti, Sebastián Torterolo
Tutor: Leonardo Barboni
Resumen- En el presente proyecto se implementa un sistema basado en un microcontrolador (MCU) con el que se busca lograr identificar la sincronización del movimiento de una mano con una onda sinusoidal de entrada a partir del cálculo del coeficiente de Correlación de Pearson y la comparación con un umbral determinado. Para eso se utiliza el Launchpad MSP-EXP430G2ET, que incluye el microcontrolador MSP-EXP430G2553, integrado con un módulo de sensores BOOSTLX-SENSORS, del que se utilizará el acelerómetro para detectar los datos del movimiento de la mano. Además, se integra una UART (del inglés, “Universal Asynchronous Reciever/Transmiter”) utilizada para comunicar al usuario cuando ambas ondas se encuentran sincronizadas. Se hace especial énfasis en lograr la optimización de código por velocidad de ejecución y trabajar en bajo consumo.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Análisis de técnicas de tiempo real en un sistema de adquisición y transmisión de ubicación geográfica (GPS-TReal)
Estudiantes: Santiago Bernardez, Lía Gómez, Camilo González
Tutor: Julián Oreggioni
Resumen- Se presenta un sistema para el análisis de tiempos de respuesta y consumo de un sistema embebido de tiempo real que adquiere de forma periódica ubicación geográfica, la procesa y transmite a un PC mediante UART. El sistema embebido está basado en el microcontrolador MSP430G2553 de Texas Instruments y el GPS Neo-6M de U-Blox. Se desarrolló un driver para el GPS, y se lo caracterizó tanto desde el punto de vista de la respuesta temporal como de su consumo de energía. Debido a que el microcontrolador elegido solamente tiene una UART de hardware, se desarrolló y caracterizó un driver para implementar una UART por software (usando pines de I/O). Se logró que la UART por software funcione a 115200 bps en modo half-duplex. Se implementaron y compararon dos arquitecturas de software Round-Robin con y sin interrupciones, arrojando como resultado que Round-Robin con interrupciones es la mejor alternativa. Se determinaron los menores tiempos posibles para las tres etapas de funcionamiento del sistema: recepción, procesamiento y transmisión, fijando en 16,7 Hz la máxima frecuencia de adquisición, considerando un procesamiento mínimo. Este cuello de botella se ubica en el GPS.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sistema de Confinamiento Virtual para Mascotas (Pet tracker)
Estudiantes: César Azambuya, Mateo Guerrero, Juan Pedro Maestrone
Tutor: Javier Schandy y Andrea Delbuggio
Resumen- Pet Tracker es un sistema de confinamiento virtual para mascotas al aire libre. Dado un perímetro virtual preestablecido por el usuario, el sistema es capaz de identificar si la mascota se encuentra dentro del mismo. Si este no es el caso, se emitirá una alarma para alertar al usuario de lo sucedido. Para su implementación se utilizó un módulo GPS, el cual se comunica mediante SPI con el microcontrolador de la familia MSP430 perteneciente a Texas Instruments. Este último procesa la información recabada por el GPS y emite una alerta utilizando un buzzer en consecuencia. Se procuró optimizar el consumo del sistema cuando la mascota se encuentra dentro del recinto. Todo esto resultó en un sistema que logra detectar (corroborando auditivamente) si la mascota se encuentra dentro o fuera del perímetro de confinamiento virtual definido por el usuario en una terminal de comandos.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sistema de confinamiento virtual para mascotas (Track-A-Cat)
Estudiantes: Felipe Albanés, Bruno Cuore, Héctor Garrido
Tutor: Javier Schandy y Andrea Delbuggio
Resumen- En este documento se detalla la implementación de un sistema capaz de delimitar un perímetro virtual para mascotas, con el objetivo de enviar alertas al dueño en caso de que las señales enviadas por un GPS se alejen de esa zona. El dispositivo se desarrolló utilizando el microcontrolador MSP430G2553 y el módulo GPS Ublox NEO-6M, comunicándose mediante el protocolo SPI. Los principales temas que se abordarán son los protocolos de comunicación entre módulos, y la manipulación de los datos obtenidos con el fin de generar alertas confiables. El dispositivo conseguido es capaz de determinar correctamente la posición de la mascota respecto de un perímetro, enviando también alertas y notificaciones sobre el estado de la misma.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sincronizador de Movimiento (Synchy)
Estudiantes: Leandro Patrón
Tutor: Leonardo Barboni
Resumen- La finalidad del presente proyecto es brindar una realimentación al usuario para sincronizar un movimiento externo a una frecuencia de referencia definida en 2 Hz. El usuario genera un movimiento sinusoidal con la mano, sosteniendo el dispositivo implementado.
Este dispositivo contiene un Boosterpack [1], que incluye el sensor de aceleración BMI160 [2], de esta forma se releva el movimiento generado, que al procesarlo en un microcontrolador (MSP430G2553 [3]) se obtiene su frecuencia. La medida obtenida es comprada en cada período con el valor de 2 Hz predefinido.
La realimentación se realiza a través de una conexión UART, desplegando la frecuencia medida y además se le indica si se está por debajo, por encima o en la frecuencia de referencia establecida.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sistema de Control (Implementación de un lazo de control)
Estudiantes: Matías Alvez, Damián Gerona, Pilar Suárez
Tutor: Mauricio González y Rodrigo García
Resumen- Este documento describe un proyecto para el desarrollo de una plataforma de aprendizaje para el curso de Sistemas y Control. Frente a una eventual modificación del Laboratorio de Sistemas y Control, el problema se resume en desarrollar una plataforma mediante la cual se puedan realizar las distintas fases del laboratorio, permitiendo configurar los diferentes parámetros del sistema mediante comunicación entre la PC y el microcontrolador, con el objetivo de implementar un lazo de control. Dicho lazo contiene un controlador PID y distintos módulos que hacen posible la realimentación, alimentando un circuito RC que actúa como planta. Se abarca primero el diseño de los distintos módulos y el manejo de la memoria requerida para cada uno, luego se implementa la comunicación ente ellos y con la PC y el circuito RC.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sistema de Control de un filtro RC (SCRC)
Estudiantes: Julia Azziz, Alejandro Batista, Josefina Lema
Tutor: Mauricio González y Rodrigo García
Resumen- En el marco de la asignatura Sistemas Embebidos para Tiempo Real, se desarrolla una plataforma que permite al usuario configurar y experimentar con un sistema de control de tiempo discreto basado en un filtro RC y un controlador PID. El sistema se desarrolla en un microcontrolador MSP430G2553 que cumple la función de intermediario entre el filtro y la PC, permitiendo la transferencia de señales de entrada y salida del filtro entre ambos. El microcontrolador se encargará tanto de medir la salida del filtro periódicamente como de enviar la señal de entrada utilizando modulación PWM, mientras que la PC implementará el lazo de control.
En este documento se describe la comunicación entre dispositivos y los problemas relacionados, el funcionamiento del lazo de control, la arquitectura de la solución implementada y la interfaz gráfica desarrollada, la cual permite la interacción con el usuario.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Confinamiento virtual para animales (Animalium Vestigator)
Estudiantes: Diego Fraga, Felipe Robaina, Giuliano Turpía
Tutor: Javier Schandy y Andrea Delbuggio
Resumen- Se implementó un dispositivo capaz de crear un recinto virtual, siendo capaz de controlar periódicamente la ubicación del mismo. El fin de dicho dispositivo es el control y contención de animales domésticos, alertando en caso de estar fuera del área definida. Dicho dispositivo, diseñado como sistema embebido, utiliza en la parte de hardware, el launchpad MSP-EXP430G2, un módulo HiLetgo GY-NEO6MV2 de GPS, basado en el chip NEO-M6 de Ublox y a un PC. El launchpad MSP se comunica al PC y módulo GPS mediante comunicación serial UART y SPI, respectivamente, procesando los estímulos de cada modulo hardware, respondiendo con alertas de posición.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Horno microondas con Statechart UML
Estudiantes: Mauro García, Marcos Ibarburu, Rodrigo Vázquez
Tutor: Leonardo Steinfeld y Rosina D'Eboli
Resumen- El proyecto consiste en el desarrollo de un horno microondas controlado por un microcontrolador a través de una maqueta para mostrar el desarrollo de las funcionalidades básicas del mismo. Se modela su comportamiento haciendo uso de statecharts UML definiendo diferentes estados y transiciones.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
Sincronización de movimiento con ondas sinusoidales (HandSync)
Estudiantes: Michael Dickinson, Sofía Miranda, Agustín Pérez
Tutor: Leonardo Barboni
Resumen- Se presenta el prototipo de un sistema embebido basado en el microprocesador MSP430G2553, el cual tiene como objetivo detectar y caracterizar movimientos específicos realizados con la mano por un usuario. El sistema combina el uso del Analog Discovery 2 para generar una señal sinusoidal y el acelerómetro incorporado en la placa BOOSTXL-SENSORS para capturar el movimiento de la mano.
El proceso implica que el usuario debe sincronizar manualmente ambas señales mediante un feedback visual proporcionado en la pantalla de un PC. Una vez que el sistema embebido detecta la sincronización, lo señaliza a través del PC.
La interfaz de usuario en PC fue desarrollada en Python, facilitando la recolección eficiente de datos generados por el acelerómetro, así como su visualización y posterior análisis. Los resultados obtenidos muestran gráficas de ambas señales en función del tiempo y frecuencia.
- Documentación (.pdf)
- Código / Documentación doxygen (.zip)
2022
Electronic Gas Auto Service (EGAS)
Estudiantes: Agustín Aguirre, Julián Evia
Tutor: Mauricio Gonzalez
Resumen- Mediante este documento se detalla la implementación de un prototipo de solución para un surtidor de combustible, que permite al consumidor autoabastecerse del mismo sin la necesidad de un pistero que lo atienda. El método de pago se basa en una tarjeta de identificación por radiofrecuencia (RFID) prepaga que almacena información del usuario, la cual es identificada por un lector de tarjetas de esta tecnología. Se afrontan, en primera instancia, los problemas de comunicación entre dispositivos y el manejo de la memoria de los mismos, para luego abordar lo asociado a la arquitectura de software del programa y las interacciones entre los distintos actores del sistema.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Detección y conteo de pasos utilizando datos provenientes de una IMU (PIMU)
Estudiantes: María Noel Espinosa, Joaquín Ledesma, Emilio Martínez
Tutor: Leonardo Barboni
Resumen- En el presente proyecto se implementa un contador de pasos portable utilizando la Unidad de Medida Inercial (IMU) de una placa de sensores y una placa de desarrollo. El sistema implementado adquiere medidas de aceleración en forma periódica, las filtra para luego pasarlas por un detector de pasos, llevando un registro de la cantidad de pasos identificados. Además el prototipo permite al usuario elegir la regularidad con la que se le reporta la cantidad de pasos registrados ingresando comandos a una PC.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Estación Meteorológica con Datalogger (Climatrón)
Estudiantes: Santiago Colman, Camilo Melgar, Micaella Toledo
Tutor: Carolina Cabrera
Resumen- Este proyecto tiene como objetivo principal el desarrollo de un datalogger aplicado a una estación meteorológica. El sistema se basa en el microcontrolador MSP430G2553, realizando la toma de medidas de temperatura, humedad y presión atmosférica mediante el sensor BME280. Las medidas son adquiridas, enviadas al microcontrolador y almacenadas por el mismo acorde a los requerimientos generales de una estación meteorológica. Con este fin se desarrolló un sistema embebido que permite modificar el período de adquisición de las medidas, su almacenamiento y trasmisión a una PC para su posterior análisis.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Utilización de MFRC522 con MSP430 (Marcas con RFID)
Estudiantes: Rodrigo Bottero, Alejo Bravo, Matías García
Tutor: Mauricio González
Resumen- El objetivo de este proyecto es la implementación de un sistema de marcación de tiempo, utilizando un sensor RFID, e implementando un RTC (Real Time Clock) utilizando el microcontrolador MSP430. Se utilizaron periféricos como el módulo timer para llevar la cuenta del tiempo actual y la USCI para la comunicación con la PC y con el sensor. El sistema fue diseñado con una arquitectura Round-Robin con interrupciones, con módulos que controlan distintos aspectos del mismo. A su vez se cuenta con una interfaz para que el usuario manipule el sistema mediante comandos sencillos por la consola. El sistema implementado tiene sus ventajas como es la sencillez de uso, el bajo costo y la facilidad de adquisición, sin embargo tiene sus desventajas en los aspectos como por ejemplo escalabilidad y precisión a la hora de contar el tiempo.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Dispositivo de monitoreo de red WiFi (WIFIC)
Estudiantes: Mariana González, Facundo Guillén
Tutor: Javier Schandy
Resumen- El proyecto WiFiC consiste en el desarrollo de un sistema para monitoreo de conexión de red por wifi. Basado en un microcontrolador MSP430F5529, como unidad central de procesamiento, y un chip CC3100 como tarjeta de red, le permite al usuario testear la conexión a nivel de capa de red entre el microcontrolador conectado a una red wifi de 2.4GHz y un dispositivo perteneciente tanto a la red local como a una red global. El usuario de WiFiC tiene la posibilidad de registrar en memoria no volátil hasta 32 sesiones independientes de monitoreo, las cuales puede configurar desde consola y posteriormente acceder a ellas para analizar su contenido. Para facilitar la comunicación bidireccional entre el usuario y el sistema se desarrolla una interfaz gráfica sostenida por la comunicación UART entre la PC donde es ejecutada y el microcontrolador. En dicho flujo, el sistema recibe, interpreta y ejecuta tareas solicitadas por el usuario, y también reporta tanto información requerida como el estado del sistema en tiempo de ejecución.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Heart Rate and Oxygen Saturation meter (HeroxS)
Estudiantes: Rosina D’Eboli, Rodrigo García, Josefina Schmitd
Tutor: Julián Oreggioni
Resumen- Se presenta el diseño, implementación y pruebas de un prototipo de bajo consumo capaz de adquirir datos de frecuencia cardíaca y saturación de oxígeno en sangre. El dispositivo está destinado al control personal de los signos vitales del usuario y la posibilidad de llevar estos valores a futuras consultas médicas para la revisión. El sistema embebido está compuesto por un launchpad MSP-EXP430G2 para el microcontrolador MSP430G2553, un sensor de FC (frecuencia cardíaca) y SpO2 (saturación de oxígeno) SEN-15219 y un display OLED de 0.91 pulgadas. El dispositivo trabaja en dos posibles modos de operación, en el modo “toma única” las muestras tomadas son desplegadas en un display mientras que en el modo “continuo” las mismas son guardadas en memoria flash para luego ser descargadas en un archivo de texto. En ambos modos, se da aviso de alerta ante valores anómalos. Adicionalmente, el usuario puede configurar los parámetros principales del sistema manualmente a través de comandos.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Control Programable de Persiana (Smart Blind)
Estudiantes: Francisco Pastori, Leandro Seeger, Gabriel Farber
Tutores: Juan Sánchez y Leonardo Steinfeld
Resumen- El proyecto se enmarca en el diseño e implementación de un sistema programable y automatizable capaz de controlar una persiana de hogar. Este mismo se limita a ser un "Demostrador", es decir que no utiliza un motor real para subir o bajar la persiana sino que se indica mediante leds si esta subiendo o bajando. El sistema cuenta con un microcontrolador MSP430, pulsadores, interruptores, leds, sensor de luminosidad y sensor de barrera (para la detección de obstáculos). Se dispone de un modo manual donde el usuario puede subir o bajar la persiana mediante pulsadores y un modo automático que es capaz de mover la persiana dependiendo del nivel de luz del ambiente. El usuario es capaz de seleccionar el modo en que se trabaja por medio de un switch. Además se puede configurar y consultar ciertos parámetros del controlador mediante una PC, entre estos están el umbral de luz con el que funciona el modo automático y la sensibilidad del sistema ante fallas del motor.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Reloj digital con medidor de variables ambientales (WEWA)
Estudiantes: Fabrizio Armario, Manuel Cortizo, Felipe López
Tutor: Carolina Cabrera
Resumen- Para diversas aplicaciones resulta ventajoso tener al alcance un reloj que proporcione información de variables ambientales tales como temperatura, presión y humedad. Un ejemplo es a la hora de trabajar con cultivos donde es clave poder monitorear el estado del ambiente. Este proyecto tuvo como objetivo conseguir un dispositivo capaz de brindarle toda la información necesaria de una forma amigable al usuario a modo de poder controlar un ambiente con diversos fines, de forma simple. Para lograr este propósito se utilizó el launchpad MSP-EXP430G2ET en conjunto con el boosterpack BOOSTXL-SENSORS de Texas Instruments y un display OLED basado en el controlador SSD1306, utilizado como protocolo de comunicación entre ellos el I2C (Inter-Integrated Circuits). Se obtuvo un sistema embebido capaz de mostrar la hora acompañada de los datos de la temperatura, la humedad y la presión del momento. A su vez, se lograron implementar otras funcionalidades, como almacenar los máximos y mínimos valores que alcanzan estas variables ambientales en el día y desplegarlos en pantalla al presionar un botón. El sistema también ofrece la posibilidad de poder configurar la hora mediante botones y utilizar un sensor de luz para ajustar de manera automática el contraste del display.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Implementación y evaluación de un Sistema de detección (Free Fall Detector)
Estudiantes: Mateo Trujillo, Paula Varela
Tutor: Varinia Cabrera
Resumen- El proyecto aborda el desarrollo de un prototipo de detector de caída libre. El dispositivo es capaz de sensar datos de aceleración, interpretarlos, filtrarlos utilizando diferentes tipos de enventanado y ejecutar un algoritmo para detectar una caída libre. El sistema incluye un launchpad MSP-EXP430G2ET de Texas Instruments, que cuenta con un microcontrolador MSP430G2553, un boosterpack BOOSTXL-SENSORS, con un acelerómetro BMI160, también de Texas Instruments, y una batería portátil. El prototipo desarrollado cumple con los objetivos planteados y es capaz de encender una alarma lumínica, a través de un LED del launchpad, cuando se está en caída libre. El proyecto comprueba que el sistema sin filtrado de datos consume menos energía que el sistema con filtrado de datos, y gracias a diferentes métricas de error otorga fundamentos para que los usuarios elijan el tipo de filtrado que sea más conveniente para sus aplicaciones.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Adquisición de señales electromiográficas (ASE)
Estudiantes: Rodrigo Gonzalez, María José Millán, Luisina Gómez
Tutor: Julián Oreggioni
Resumen- En el marco de la materia Sistemas Embebidos para Tiempo Real, se desarrolla un sistema capaz de adquirir, procesar y transmitir una señal de electromiografía mediante el uso de un microprocesador de recursos limitados. Junto con el desarrollo del mismo, se estudian los cuellos de botella que surgen al llevar el mismo a su máxima capacidad.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Monitor de red Wi-Fi (MoRe Wi-Fi)
Estudiantes: Juan Pablo Carballal, Gonzalo Hernández, Bruno Lercari
Tutor: Javier Schandy
Resumen- MoRe Wi-Fi es un sistema que permite monitorear el estado de la conexión de una red. Almacena información de todos los equipos conectados a la misma, que se puede solicitar mediante comandos, y detecta los equipos que pierden la conexión, informando al usuario a través de la terminal de comunicación. Se logró implementar la funcionalidad de escanear equipos del sistema exitosamente, dejando para desarrollos posteriores el modo escaneo para equipos particulares, debido a complicaciones de implementación con la API provista. El sistema implementado ocupa 64 % de RAM y 67 % de flash, permitiendo espacio para futuras mejoras del sistema.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Detección de caminata por escaleras (ESCADETEC)
Estudiantes: Jesús Calixto, Leoncio Ríos
Tutores: Leonardo Barboni y Varinia Cabrera
Resumen- El proyecto presenta un sistema que permite detectar el movimiento de una persona cuando esta subiendo escaleras. Este sistema está formado por un dispositivo con la capacidad de tomar medidas de aceleración, procesarlas y transmitirlas a una PC usando la comunicación UART. Para la detección de una persona subiendo escaleras se hicieron análisis y clasificación de datos utilizando cálculo de medidas estadísticas (promedio, varianza, desviación estándar, suma, máximo y mínimo) y la aplicación del método de Random Forest. Esto se efectuó con apoyo de un script en Python, que es ejecutado en PC, para adquirir los datos del acelerómetro y la herramienta Excel para los cálculos y gráficas correspondientes. En base a los resultados se desarrolló un software embebido con un algoritmo que realiza cálculos y clasificación del estado de movimiento para detectar que una persona sube escaleras. El sistema consiste de un launchpad MSP-EXP430G2ET de Texas Instruments, conectado a un boosterpack BOOSTXL-SENSORS que posee un acelerómetro BMI160. Finalmente se logró obtener correctamente los datos del sensor y la clasificación en tiempo real. De esta forma, se detecta el estado de subida de escaleras de una persona, haciendo la indicación del estado con el encendido de un LED.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2021
UARTetris: Tetris controlado por UART
Estudiantes: Juan Berniz, Joaquín Pérez
Tutor: Felipe Morán
Resumen- Se implementa el juego Tetris en el microcontrolador MSP430G2553 de Texas Instruments, donde la entrada de datos se realiza desde un teclado de una PC, mediante comunicación UART, y el juego se visualiza en un display OLED de 32x128 píxeles. El sistema diseñado pretende no sólo entretener al usuario, sino que pretende tener un de bajo consumo permitiendo que fácilmente se realize un sistema portátil agregando botones y una batería. A su vez, se logró una implementación del juego lo suficientemente optimizada como para que solo ocupe un 60% (312B) de memoria RAM y un 29% (4,8 kB) de memoria flash.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Color Check
Estudiantes: Agustina Ayala, Tania Aguirre, Andrés Herrera
Tutor: Carolina Cabrera
Resumen- Color Check nace como proyecto final del curso “Sistemas Embebidos para Tiempo Real”. Consiste en un sistema compuesto por un Launchpad MSP430G2553 de Texas Instruments y un sensor de color TCS3200, que en conjunto funcionan como un medidor de calidad del color de distintos productos, a partir de la comparación con un producto de referencia.Mide los colores del objeto de referencia y del objeto a evaluar en RGB, convierte las medidas a CIELab y calcula las distancias entre los colores, pudiendo el usuario elegir entre la distancia Euclidea y CIE94. De acuerdo al resultado el sistema informa sobre que tan parecidos son los colores, es decir, sobre la calidad del evaluado. El proyecto incluye el estudio de distintas metodologías para tratar las comparaciones de colores.
Reconocimiento de colores por aproximación CCS
Estudiantes: Pablo Bertrand, Francisco Pastorini, Francisco Valles
Tutor: Carolina Cabrera
Resumen- El proyecto consiste en el diseño e implementación de una herramienta para la lectura de un color y selección del más próximo disponible. El sistema recibe la luz reflejada por la superficie a medir por medio de un sensor, cuya salida es una onda cuadrada de frecuencia proporcional a la intensidad de la luz sensada. Una vez sensado el color, se determina cuál es el color más próximo dentro de una gama de colores precargada en la memoria del microcontrolador. Finalmente, el color encontrado es desplegado en un display OLED.
El tiempo de respuesta del sistema completo para realizar una lectura es de alrededor de un segundo y arroja resultados muy cercanos a la muestra, con el cuidado de requerir iluminación adicional a la propia del sensor para realizar la lectura.
Sistema de Testeo de Protocolos de Comunicación Serial PROCOM
Estudiantes: Carlos Menoni, Felipe Saravia
Tutor: Francisco de Izaguirre y Julián Oreggioni
Resumen- Este proyecto consisten en el diseño e implementación de un sistema capaz de testear funcionalidades de alto nivel de otro sistema embebido, así como, testear que los protocolos de comunicación I2C y UART funcionan correctamente. Se implementaron exitosamente un test de alto nivel, un test de bajo nivel y dos comandos, tanto para I2C como para UART.
Se tomó como aplicación de estudio el teste automático del laboratorio 4 de Sistemas Embebidos para Tiempo Real. En este documento cumple el propósito de Memoria del proyecto, donde se presenta toda la información relevante a este proyecto y el sistema embebido desarrollado.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
iFall: Sistema de Detección de Caídas
Estudiantes: Nicolás Aguilera, Guillermo Cabrera, Gaspar Díaz
Tutor: Varinia Cabrera
Resumen- En el presente proyecto se aborda el desarrollo de un prototipo de detector de caídas autónomo para personas mayores. El dispositivo debe ser capaz de sensar datos de aceleración, interpretarlos y ejecutar un algoritmo que permita identificar una caída, diferenciándola de otras actividades cotidianas. Una vez que se detecta dicho evento debe emitirse una alerta lumínica mediante un LED.
Con este fin debió estudiarse el hardware a utilizar y las conexiones necesarias entre componentes, que incluyeron un launchpad (MSP-EXP430G2) de pruebas con un microcontrolador (MSP430G2553) y sus periféricos asociados, un acelerómetro (BMI160), y una computadora para la etapa de desarrollo.
Para configurar y comunicar los distintos componentes de hardware, se programaron diversos módulos de software embebido en lenguaje C, que se ejecutan a través de un programa principal en el microcontrolador. Por otro lado, se desarrolló software externo en lenguaje Python, que es ejecutado en la PC para adquirir y graficar los datos obtenidos del acelerómetro para tener más datos para diseñar el algoritmo de detección de caídas. El algoritmo permite al dispositivo funcionar de forma autónoma cumpliendo los objetivos planteados. Finalmente se llevaron a cabo pruebas de verificación, pudiendo comprobar el correcto funcionamiento del prototipo desarrollado en el proyecto.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Analizador de paquetes en tránsito I2C - Sniffer I2C
Estudiantes: Ercoli Ricardo, Navadián Fausto, Varela Gabriel
Tutor: Alfredo Solari y Julián Oreggioni
Resumen- Se diseñó e implementó un sistema embebido capaz de recolectar y analizar paquetes de datos en tránsito (Sniffer) que utilizan el protocolo de comunicación I2C. El hardware utilizado para el Sniffer es el launchpad MSP-EXP430G2 de Texas instruments, y se caracteriza por utilizar 2 pines de GPIO para conectarse a los buses de datos y reloj de la comunicación I2C para implementar la recepción de los datos en tránsito. El Sniffer reconoce ciertos comandos para cambiar su funcionamiento que pueden ser enviados vía UART desde un PC. Con estos comandos se puede solicitar información de la comunicación analizada y es capaz de verificar si la conexión física de los cables de datos y reloj es correcta. El correcto funcionamiento de la propuesta fue probado con datos provenientes de una comunicación entre un Real Time Clock (RTC) actuando como esclavo de un segundo MSP-EXP430G2 funcionando como maestro de la comunicación.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SiCEM - Sistema de Clasificación de Estados de Movimiento
Estudiantes: Diego Pereyra, Ilana Stolovas, Santiago Suárez
Tutor: Varinia Cabrera y Francisco de Izaguirre
Resumen- El proyecto presenta el prototipo de un sistema vestible para identificar el movimiento de una persona, clasificado en las actividades de caminar, correr o reposo. El sistema desarrollado es capaz de adquirir medidas de aceleración, procesarlas y transmitirlas hacia un PC (vía UART). El algoritmo que permite clasificar en el microcontrolador los tres estados de movimiento antes mencionados surge del cálculo de medidas estadísticas (media, desviación estándar, máximo y mínimo), la aplicación de un algoritmo de reducción de dimensionalidad (LDA, Linear Discriminant Analysis) y de un modelo de clasificación SVM (Support Vector Machines). El sistema consiste de un launchpad MSP-EXP430G2ET de Texas Instruments, conectado a un boosterpack BOOSTXL-SENSORS que posee un acelerómetro BMI160. El prototipo desarrollado adquiere correctamente los datos mencionados y logra clasificar en tiempo real los movimientos de forma satisfactoria expresando su salida con LEDs de colores. Para diseñar el algoritmo de clasificación de estados se desarrolló una aplicación en Python, que es ejecutada en PC, para adquirir y procesar datos obtenidos del acelerómetro.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Lockers sin contacto para edificios - EDILOCK
Estudiantes: Mauro Cocchiararo, Juan Ignacio Montes, Diego Sánchez
Tutor: Mauricio González
Resumen- Edilock es un sistema de lockers para entrega sin contacto, que busca facilitar la entrega de productos a un edificio. Para eso, se utiliza un lector de tarjetas RFID conectado con el microcontrolador MSP430 y una PC para la comunicación con el usuario. La arquitectura está basada en un round robin que checkea las banderas que se prenden mediante interrupciones. La solución es eficaz en el cumplimiento de su tarea, permitiendo que se pueda realizar una entrega rápida y sencilla.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Control de Cortina Metálica de Garaje
Estudiantes: Rodrigo Moreira, André Vega
Tutor: Conrado Rossi
Resumen- En el presente proyecto se diseña e implementa un sistema embebido para el control de una cortina metálica de garaje. Se utiliza el microprocesador MSP430G2553 con una arquitectura Round-Robin con interrupciones y una máquina de estados.
Algunas de las funcionalidades más relevantes del proyecto son: permitir al usuario abrir y cerrar la cortina de forma remota, que la misma se cierre de forma automática luego de un tiempo abierta y detenerse automáticamente para evitar aplastar a una persona u objeto. Además tiene como funcionalidades secundarias detectar fallas en fines de carrera y proteger al motor al invertir su giro.
Debido a las limitaciones de tiempo y herramientas necesarias las entradas y salidas se simulan con leds, llaves y pulsadores.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Dispositivo vestible para el monitoreo de signos vitales - SMARTWATCH
Estudiantes: Isabel Morales y Leonardo Martínez
Tutor: Julián Oreggioni y Alfredo Solari
Resumen- El incremento de enfermedades contagiosas y de alto riesgo requieren del seguimiento continuo de signos vitales. Debido a la capacidad finita de atención en centros hospitalarios, cada vez existen más dispositivos vestibles que ayudan en el monitoreo de estas variables y la tarea del médico. Smartwatch es el prototipo de un dispositivo vestible compuesto por un microcontrolador MSP432P401R, un módulo Bluetooth HC-06 y un sensor biométrico SEN-15219 (MAX30101 y MAX32664). El MAX30101 mide valores de la señal de fotopletismografía (PPG) y el MAX32664 calcula la frecuencia cardiaca (HR) y porcentaje de saturación de oxígeno (SpO2). El microcontrolador obtiene mediante el protocolo i2c los valores de HR, SpO2 y los datos crudos de luz roja e infrarroja de PPG. A su vez, mediante un algoritmo que corre en el microcontrolador, se procesan los datos de PPG para estimar la frecuencia respiratoria (RR). Una aplicación desarrollada en Python se comunica mediante Bluetooth con Smartwatch para obtener estos valores. En la aplicación se despliegan los datos en tiempo real y se configura las alarmas. El diseño del algoritmo para la determinación de RR fue realizado primero en la aplicación de Python procesando datos obtenidos de bases de datos públicas..
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Tarjeta Prepaga para Taxis - TaxiCard
Estudiantes: Gabriel Rodriguez
Tutor: Mauricio Gonzalez
Resumen- El presente documento describe la implementación de una tarjeta inteligente prepaga que permite abonar un viaje en taxi.
Dicha tarjeta almacena la identificación del usuario, así como también el saldo de dinero disponible. Mediante una tecnología de identificación por radio frecuencia o RFID, un sistema embebido conectado al taxímetro del vehículo permite leer el contenido de la tarjeta y descontar así el costo del viaje.
Se abordan una serie de problemas como ser la encriptación de información sensible, el control del saldo disponible durante todo un viaje y la apropiada actualización del mismo al finalizar el recorrido. Finalmente, se investiga la opción de mantener una bitácora de viajes que, una vez descargada a una base de datos central, pueda ser consultada por el usuario mediante una aplicación web.
2020
Sistema de Invernadero Automatizado: SINVA
Estudiantes: Alvaro Briano y Julián Vera
Tutor: Julián Oreggioni
Resumen- En 2018 el sector agroindustrial representó el 8.4% del PIB (Producto Interno Bruto) de Uruguay y más del 70% de sus exportaciones anuales. Por lo tanto, en nuestro país eciste un gran interés económico en las actividades relacionadas con la agricultura, y los invernaderos son ampliamente usados para optimizarlas.
En este proyecto se diseñó e implementó un sistema embebido para el monitoreo y control de tipo ’on/off’ de cuatro magnitudes de mucho interés en un invernadero: temperatura, presión, humedad y luz ambiente.
Se trabajó con el launchpad MSP − EXP430G2ET en conjunto con el boosterpack BOOSTXL − SENSORS de Texas Instruments. El protocolo de comunicación utilizado por los sensores es I2C (Inter-Integrated Circuits) . La comunicación con el usuario a través de un PC se realizó mediante UART (Universal Asynchronous Receiver-Transmitter).
Se obtuvo un software embebido con distintos modos de funcionamiento, uno que permite al usuario configurar los rangos de las magnitudes, otro que reporta los datos periódicamente en el PC, entre otros. El sistema chequea periódicamente si las magnitudes medidas están dentro del rango predefinido, y en caso de no estarlo, se hace intervenir a los actuadores. La implementación física de los actuadores, que estaba fuera del alcance proyecto, se simuló mediante el encendido y apagado de LEDs.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Programación de algoritmos en HW de recursos reducidos: Rotation-in-HW
Estudiantes: Leandro Díaz, Martín Sivolella y Andrés Echarri
Tutor: Leonardo Barboni
Resumen- El objetivo del presente proyecto es el estudio e implementación de algoritmos y métodos numéricos aplicados en hardware de recursos reducidos. Para eso se desarrolló un módulo dedicado al cálculo de la rotación de vectores de R3.
Se estudiaron varios algoritmos para poder obtener uno con el menor consumo de memoria, mejor velocidad y el menor consumo de energía utilizando el microcontrolador MSP430G2553, el cual no posee hardware específico para realizar cálculos de operaciones en punto flotante. De estas implementaciones se obtuvieron dos algoritmos para el cálculo de la matriz de rotación: a través del cálculo de la exponencial de forma iterativa y utilizando la fórmula de Rodrigues. Este último tuvo un comportamiento mejor.
Por último se compararon estos resultados con otro grupo que trabajo en la misma biblioteca pero con una placa distinta(MSP432P401R), la comparación se hizo con el primer método (matriz exponencial) ya que el otro grupo solo utilizo el primer método.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Implementación de un datalogger: Pro-Logger
Estudiantes: Sofia Boselli , Felipe Carrau y Romina Gaudio
Tutor: Javier Schandy
Resumen- El proyecto consiste en el diseño e implementación de un datalogger. El sistema guarda periódicamente datos provenientes de 3 sensores en memoria Flash, es capaz de recibir instrucciones a través de una terminal y de leer/editar la configuración actual, pudiendo programar la toma de datos. Se desarrolla un estudio del funcionamiento de la memoria FLASH interna
al microcontrolador MSP430G2553, su conversor ADC de 10 bits, la comunicación UART y sus posibilidades de bajo consumo. Se implementa el método Round-Robin con interrupciones para la arquitectura de software y se crean diferentes módulos de software con una capa de abstracción de hardware. Se obtuvo un datalogger con 3 opciones de sensores (temperatura, voltaje interno y voltaje en un pin externo), toma de datos periódica, control por comandos seriales, protección contra reinicios del sistema ó pérdidas de alimentación. Además, presenta
la capacidad de brindar al usuario una descarga de los datos registrados, mientras el dispositivo está ejecutando sus rutinas autónomas en campo. En términos de respuesta temporal, se estima un tiempo de respuesta máximo de 750ms entre que se debe tomar una medida y efectivamente
se muestrea su valor. En términos de consumo, se estima que el sistema en régimen autónomo necesita tomar de su alimentación una corriente de 175μA promedio en el peor de los casos. Se concluyó que se lograron la mayoría de los objetivos, entre ellos, lograr un tiempo de respuesta despreciable para muestrear datos que presentan variaciones lentas en tiempo real. A su vez,
el consumo promedio permite la autonomía del dispositivo por un período de 1 mes y medio, mientras este se encuentre alimentado con una batería de 3 voltios modelo CR2032.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Módulo de rotación de trayectoria: InviRot
Estudiantes: Juan Pablo de Souza, Guillermo Etchebarne y María Eugenia Rován
Tutor: Leonardo Barboni
Resumen- Este proyecto tiene como propósito aplicar métodos numéricos para asistir la navegación de personas no videntes.
Los módulos de software desarrollados forman parte de un sistema de navegación asistente. En la práctica, dadas las dificultades de una versión remota del curso en 2020, no se utiliza ningún sensor de los que incluiría el asistente de navegación, sino que los datos que estos generarían son emulados. Lo que se implementa es el módulo de cálculo de rotación, que devolvería un cambio de dirección y/o giro para la persona.
Se trabajó con el microcontrolador MSP432P401R, una variante con el MSP430G2553 es implementada por otro grupo de estudiantes. Se buscó comparar el desempeño en términos de precisión de cálculo, consumo y tiempo de ejecución.
La primer etapa de este proyecto consistió en comprender a fondo el microcontrolador MSP432P401R e implementar los módulos básicos para lograr comunicación con la placa mediante la UART. En la segunda etapa se implementó el núcleo del proyecto, generando las librerías pertinentes para llevar a cabo la rotación de un vector. Esto implica el cálculo de una matriz exponencial, así como operaciones matriciales que debieron implementarse.
El producto final incluye un programa principal donde se actualizan el momento, el ángulo de rotación y el versor normal al plano de rotación, mediante el previo ingreso de comandos específicos. Luego se devuelve el vector en una nueva base, es decir rotado.
Adquisidor de señales de signos vitales
Estudiantes: Federico Molina, Leandro Porcile y Victoria Rossi
Tutores: Conrado Rossi y Carolina Cabrera
Resumen- El proyecto consiste en la implementación de un adquisidor de datos correspondiente a la primera etapa de un monitor de emergencia para controlar pacientes internados en un Centro de Tratamientos Intensivo (CTI).
El proyecto se desarrolla sobre la plataforma MSP430 utilizando el entorno de desarrollo integrado Code Composer Studio (CCS), y además un generador de señales USB Analog Discovery 2 (en adelante AD2). Se propuso un sistema que adquiere a través del ADC del microcontrolador, las señales analógicas pre-grabadas provenientes del AD2 el cual simula los distintos sensores de signos vitales a utilizar, luego se realiza el procesamiento que incluye el filtrado y el cálculo de parámetros de interés para cada señal. Finalmente tanto los datos filtrados como procesados son enviados mediante la interfaz UART al PC.
Las limitaciones al emular el entorno de trabajo del sistema no nos permitieron obtener resultados satisfactorios sobre la adquisición de las señales, principalmente debido al ruido agregado a la entrada. Por tal motivo, para las pruebas de los módulos de procesamiento de las señales y transmisión no fue utilizado el AD2, sin embargo a partir de datos cargados en memoria se obtuvieron resultados dentro de lo esperado.
En cuanto al rendimiento del sistema, se comprobó las ventajas del uso de librerías de punto fijo para el ahorro energético del sistema.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Periférico Basado En Sensor Capacitivo: TouchCap
Estudiantes: Álvaro Ríos , Fátima Álvez y Manuel Urquiola
Tutor: Mauricio González
Resumen- En el marco del curso de Sistemas Embebidos se desarrolló el proyecto TouchCap, consistente en un periférico basado en sensor capacitivo implementado con el Launchpad MSP430G2553 de Texas Instruments. El dispositivo logrado es capaz de sensar y filtrar un evento de interacción. Se exploraron distintas metodologías de sensado para obtener la medida capacitiva y fueron implementadas dos alternativas de filtrado sobre las muestras adquiridas. Como complemento el dispositivo actúa como esclavo en una comunicación vía SPI con un microcontrolador NRF52832 de Nordic (master), recibiendo comandos y transmitiendo datos requeridos.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Dinámica Espacial de una Oveja: DEO
Estudiantes: Nicolás Finozzi, Juan Diego Irazoqui, Victoria Campiotti
Tutor: Julián Oreggioni
Resumen- Se presenta la implementación de un sistema embebido que mide sus propios ángulos de navegación (pitch, roll y yaw) de modo tal que, adosado a algún elemento que pueda cambiar su ángulo en el plano vertical, el sistema pueda discriminar entre dos estados: ángulo alto y ángulo bajo, sin importar la posición relativa del sistema embebido respecto al elemento. Se espera utilizar los resultados de este trabajo en otro proyecto cuyo objetivo es desarrollar un collar para identificar el estado de la cabeza de una oveja (cabeza agachada o cabeza erguida).
Se trabajó con el microcontrolador MSP430G2553 y una unidad de medida inercial (acelerómetro y giroscopio) BMI160 (IMU). Para la comunicación entre el microcontrolador y la IMU se utilizó el protocolo I2C y se implementó una interfaz con un PC mediante el protocolo UART.
Los ángulos de navegación se obtienen del procesamiento, mediante un filtro complementario, de los datos proporcionados por la IMU. Esto se hace para darle mayor peso a los datos del giroscopio en tiempos cortos y a los datos del acelerómetros a tiempos largos.
Se logró obtener un sistema capaz de identificar los estados de ángulo alto y bajo independientemente del umbral que se le configurara. Además, se implementó un comando vía UART para calibrarlo.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Botón basado en sensor capacitivo
Estudiantes: Camilo Borba, Nicole Cabot y Santiago Otero
Tutor: Mauricio González
Resumen- El presente trabajo implementa botones a partir de los pines de la placa MSP4302553 basado en la estructura de los mismos. Cada pin presenta un circuito RC interno, por lo que al imponer una tensión en este, se produce la carga y descarga del condensador. Si se toca el pin, aumenta la capacidad total y por lo tanto, disminuye la constante de tiempo del RC. Se utiliza un timer para medir un tiempo fijo y otro para contar las oscilaciones que suceden en esa ventana (método RO).
En la inicialización se calcula el umbral óptimo (límite entre contacto/no-contacto) interactuando con el usuario vía UART. En el loop infinito, se sondean variables (implementando arquitectura Round-Robin) que indican el estado del botón al programa. El usuario advierte el buen funcionamiento del sistema pues se enciende un led cada vez que hay contacto.
Al finalizar el proyecto, se concluye que el sistema es capaz de funcionar en base a lo planeado. Sin embargo, se destaca que es poco robusto frente al agregado de hardware adicional.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Implementación de Datalogger: Ecologger
Estudiantes: Juan Ortuz, Rodrigo Patiño y Amón Torrado
Tutor: Javier Schandy
Resumen- El proyecto Ecologger consiste en la implementación de un datalogger, un dispositivo que registra datos en el tiempo adquiridos de múltiples sensores. Cuenta con una interfaz para su configuración y extracción de datos mediante comunicación serial. Utiliza una memoria flash para la persistencia de los datos frente a una falla de energía o del sistema.
En el presente documento se abordan aspectos del hardware a utilizar, donde se utiliza la placa programable MSP430 de Texas Instruments como componente central. También se detallan aspectos del software, como la elección del encolado de funciones como arquitectura y se hace énfasis en la modularización del código, profundizando en el funcionamiento de cada uno. Además se explica como se utilizan las interrupciones en conjunto con el encolado para alternar los distintos estados del sistema.
Por último se describen las pruebas realizadas para comprobar el funcionamiento del datalogger y se analiza un aspecto importante del sistema como es su consumo. Se explica la utilización de los modos de baja energía presente en el MSP 430 y se muestran las mediciones realizadas para distintos comportamientos.
Se concluye que el funcionamiento del datalogger es satisfactorio, con capacidad para registrar 850 datos, 5 sensores y con la flexibilidad para extender las capacidades del sistema.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Datalogger de bajo consumo con RTC y FRAM: ULP-DATALOGGER
Estudiantes: María Pía Grilli, Santiago Nan y Sofía Salmini
Tutor: Leonardo Stenfield
Resumen- Este proyecto consiste en la implementación de un Datalogger de ultra bajo consumo, que medirá y almacenará en memoria la temperatura ambiente junto con la hora de la medición. Para lograr el bajo consumo deseado, se utilizará el modo LPM4.5, donde además de apagar la CPU se apagan todos los relojes del microcontrolador y se pierde la información de la SRAM, junto con un RTC externo y un microcontrolador con memoria FRAM no volátil.
La medición de temperatura será iniciada por la interrupción del RTC.
A través de una terminal el usuario podrá hacer uso de la comunicación UART con el sistema. Podrá setear parámetros del RTC como la hora y el período de interrupción, o consultarlos y obtener todos los datos almacenados en FRAM.
El uso de la comunicación UART será activado mediante un pulsador, y desactivado a través de un comando específico o luego de cierto tiempo sin recibir comandos. Se pretende obtener un prototipo funcional, y fácilmente adaptable para distintas aplicaciones.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Interfaz gráfica para monitor de señales vitales: Vitals Grafr Uy
Estudiantes: Diego Alonso, German Minetti y Walter Barreiro
Tutores: Leonardo Steinfeld y Varinia Cabrera
Resumen- Este proyecto consiste en el diseño e implementación de un sistema capaz de recibir y desple- gar en pantalla tres señales vitales de un paciente hospitalario -ECG (Electrocardiograph), IBP (Invasive Blood Pressure) y SpO2 (Pulse Oxygen Saturation)-, así como parámetros e indicadores de las mismas. A su vez, el sistema consta de un sistema de alarmas visuales. Los rangos de las alarmas son configurables manualmente por el usuario mediante el menú de ajustes ubicado en la interfaz de la pantalla, así como a través de una interfaz en un PC comunicada mediante protocolo Wifi. La pantalla principal también cuenta con un reloj.
El sistema está basado en un Launchpad MSP-EXP432P401R, un display BOOSTXL- K350QVG y un BoosterPack CC3100 que incluye una radio Wifi, todos equipos de Texas Instruments.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2019
SmartSUN
Estudiantes: Nicolás Olloniego, Martín Porto y Araceli Rodríguez
Tutor: Leonardo Barboni
Resumen- Entendemos que en Uruguay existe un alto consumo de todo tipo de infusiones como el té, café y mate. Para la realización de estas, existe una temperatura óptima del agua caliente para que las hojas o frutos desprendan su sabor sin
liberar gustos no deseados.
En el mundo existen estudios que atribuyen el consumo de infusiones a temperaturas elevadas, al cáncer de esófago. También se sabe que hervir el agua aumenta la concentración de compuestos nocivos para la salud.
Para prevenir esto, surge Smart-SUN, un prototipo de calentador de agua portable con corte a la temperatura deseada para el consumo de infusiones. Se utilizó el launchpad MSP430G2553, sensor de temperatura DS18B20, un microrelé, display OLED SSD1351, calentador de resistencia y botones. Además se utilizó el Code Composer Studio como IDE.
En la siguiente documentación se explica la implementación de estos componentes para la realización del calentador, haciendo énfasis en el software implementado y utilizando el conocimiento adquirido en el curso de Sistemas Embebidos para Tiempo Real.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SISEST
Estudiantes: Matias Iglesias, Juan Sánchez y Marco Rolón
Tutor: Conrado Rossi
Resumen- El problema que aborda este proyecto trata de la quema eficiente de leña en las estufas de alto rendimiento. Se desarrolla una plataforma flexible que funciona como demostrador del sistema bajo estudio y sirve como base para una futura adaptación. El proyecto se desarrolla sobre la plataforma MSP430 utilizando la IDE Code Composer Studio (CCS), ambos de Texas Instruments. El sistema desarrollado adquiere la lectura de temperatura y nivel de oxigeno de humos mediante el ADC de la placa. Realiza el control servomotor mediante PWM y enciende un LED indicador de carga de leña. De forma simultánea posee una interfaz UART con un log serial periódico de datos y un interprete de comandos. Se realizaron pruebas sobre todos los módulos y el sistema completo obteniendo resultados satisfactorios. Con la finalidad de exponer el funcionamiento del sistema se culmina el proyecto diseñando e implementando físicamente el demostrador.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
PicassoBOT
Estudiantes: Daniel López, Paola Massonnier y Lucía Sirio
Tutor: Mauricio González
Resumen- PicassoBot es un brazo electro-mecánico de dos articulaciones compuesto por servos modelo Dinamixel AX-12 de Robotis, y diseñado por los autores del presente proyecto. El mismo se encuentra inspirado en “Paul the robot” desarrollado
por el artista Patrick Tresset, enmarcado en el proyecto AIKON desarrollado por el Departamento de Computación de la Goldsmiths College (Londres, UK). “Paul the robot” es un brazo robo ́tico que dibuja retratos humanos gracias a una capa de procesamiento
invisible para el usuario.
El proyecto implica desarrollar un sistema de control de movimiento para los servos, tomando como entrada un archivo .txt que contiene los comandos a ser ejecutados, en el lenguaje gráfico de plotters e impresoras HPGL de Hewllet-Packard. La salida resultante: la ejecución de movimientos mediante los cuales se representan figuras básicas como rectas y cuadrados.
Las capas de procesamiento fueron implementadas en dos entornos: el programa Octave para cálculos matemáticos, y en el software Code Composer Studio para interactuar con el microcontrolador MSP430, de Texas Instruments. Se implementa la interacción entre los mismos mediante interfaces de puertos seriales. Octave se encarga del procesamiento de la sintaxis HPGL, mientras que el MSP430, conforma el mensaje destinado a los servos y lo transmite a través de un módulo de comunicación UART implementado por software.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
GesturesMouse
Estudiantes: Rocío Curiel, Santiago Bacelar, y Fabián Cancela
Tutor: Javier Schandy
Resumen- Este documento forma parte del proyecto de fin de curso de la materia Sistemas Embebidos para Tiempo Real. El proyecto se centra en la implementación y diseño de un mouse inclusivo para personas con dificultades motoras, cimentando
la base para el desarrollo de un mouse completo y funcional. Para hacerlo, se trabajó con un sensor de movimiento MPU6050 y dos microcontroladores, un MPS430G2553 para la lectura y procesamiento de datos y un MSP430F5529 para la comunicación USB con
la PC. Las acciones del ‘mouse’ se corresponden a los distintos movimientos del sensor, ocasionados por el usuario. Se utiliza un protocolo de comunicación I2C con el sensor, UART entre los microcontroladores y USB con la PC. Se trabajo con un arquitectura
de software Round-Robin con interrupciones, maximizando los tiempos en que los microcontroladores se encuentran en modo de bajo consumo. Se logró implementar dicho mecanismo, limitándonos a la detección de un gesto preestablecido, siendo interpretado
como un click izquierdo en la PC.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
ControlRemotoInc
Estudiantes: Martín Cáceres y Matías Nieves
Tutor: Javier Schandy
Resumen- CONTROLin es una primera implementación de un control remoto inclusivo enmarcado en el trabajo de fin de curso de la asignatura Sistemas Embebidos para Tiempo Real. El sistema controla de forma remota un televisor mediante la
identificación de movimientos. El sistema esta compuesto por dos microcontroladores, un MSP430G2553 y un MSP430FR4133, comunicados entre ellos mediante comunicación UART. El primer microcontrolador tiene asociado un IMU, MPU-6050 de Ivensense, que
es consultado periódicamente mediante comunicación I2C para obtener la aceleración lineal del conjunto. De esta forma, mediante un análisis de las aceleraciones obtenidas se pueden identificar gestos y asociarlos a comandos. El MSP430FR4133 tiene
asociado un transmisor y receptor infrarrojo, BOOST-IR de Texas Instruments, con el cual se controla el televisor de forma remota. Sin importar el protocolo de comunicaciones infrarroja, el microcontrolador almacena la cadena de pulsos asociados a
un comando del televisor y lo asocia con uno de los comandos ya relacionado con un gesto. Logrando que cada vez que el MSP430G2553 identifica un gesto el MSP430FR4133 lo transmite para controlar el televisor.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SetSens
Estudiantes: Kevin Sosa y Martín Amado
Tutor: Mauricio Gonzalez
Resumen- Este proyecto consistió en la implementación de un sistema embebido el cual debió controlar el funcionamiento de tres sensores con diferentes protocolos de comunicación. El mismo está relacionado con el proyecto de fin de carrera
de los autores, el cual consiste en la implementación de un drone de vuelo autónomo. El tutor del proyecto fue Mauricio González y el cliente del mismo fue Rafael Canetti.
Se contó con un microcontrolador MSP430G2553, dos sensores de distancia, uno del tipo infrarrojo y uno de ultrasonido, y un sensor del tipo inercial (acelerómetro y giroscopio). Además se contó con hardware adicional como lo son protoboards, cables, resistencias.
Los protocolos de comunicación utilizados por los sensores son I2C, ancho de pulso, y comunicación por voltaje analógico. La comunicación con el usuario se realizo mediante UART.
Dados los recursos escasos de procesamiento y memoria del microcontrolador, y la complejidad de los eventos a manejar, se optó por una arquitectura de software no bloqueante, basada en máquinas de estado, cuyas transiciones son dadas por interrupciones.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
GuriZ
Estudiantes: Varinia Cabrera, Micaela Lopassio y Micaela Peña
Tutor: Julián Oreggioni
Resumen- El sistema diseñado e implementado se basa en el LaunchPad MSP-EXP430F5529LP en conjunto con el BoosterPack BOOSTXL-K350QVG-S1. Dicho sistema convierte señales analógicas de tensión a digital utilizando un ADC de 12 bits, realiza
el promedio de n muestras (con un período de adquisición y cantidad de muestras configurables) y luego con el promedio, efectúa determinados cálculos. Además tiene interacción con el usuario mediante la PC, el display y dos botones.
A través de la PC se ingresan comandos y datos en un terminal, luego la UART comunica la PC y el microcontrolador. El display muestra las diferentes pantallas, acorde a las opciones seleccionadas por el usuario y a la información recabada (tanto de medidas como de comandos ingresados).
Por otro lado la información se puede guardar en un registro con capacidad para diez pacientes y ocho medidas.
Paralelamente el sistema puede entrar en un modo de bajo consumo luego de no recibir pulsaciones en los botones por un tiempo determinado.
Así se logra obtener un sistema que permitirá en futuro adaptarse a un proyecto más completo. Este tendrá como fin medir la impedancia transtorácica en pacientes pediátricos (Z) y realizar una estimación de la cantidad de agua corporal (TBW).
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Proyecto de Control de Luminaria LED
Estudiantes: Emilio Albarracín, Tomás Arrivillaga y Felipe Morán
Tutor: Leonardo Steinfeld
Resumen- En este proyecto se planteó realizar el controlador de una luminaria LED, que debe poder tomar decisiones de comando de luminaria (encendido, apagado, dimerizado) en base a múltiples fuentes de información. Estas fuentes son un Reloj
Astrónomico, un Plan Horario y la información proveniente de una fotocélula. Se planteó la creación de modos dependiendo de la fuente de información que se toma en cuenta. También se propuso la posibilidad de combinar fuentes de información.
Se diseñó un controlador que realiza lo anterior; además, se generó un modo directo, donde se controla el comportamiento de la luminaria directamente a través de comunicación UART. Esta comunicación también sirve para el cambio de modos, y varias funciones tales como el agregado o eliminado de eventos al Plan Horario
El control de la luminaria se realiza con el protocolo 0-10V. Para poder obtener estos niveles de tensión se genera una salida PWM con duty cycle variable. Esta salida se filtra y posteriormente se amplifica, efectivamente pasando de un PWM 0-3.3V a DC 0-10V. Esta conversión la realiza un filtro RC y luego un amplificador no inversor.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
CCuP
Estudiantes: Alejandro Bellati, Nicolás Pérez y Bruno Galli
Tutor: Leonardo Barboni
Resumen- El objetivo de este proyecto es generar contenidos dinámicos para la placa Color OLED Breakout Board con el microcrontrolador MSP430G2553 utilizado en el curso. Como contenido dinámico a desplegar, se decidió la implementación del juego de la Viborita debido a la complejidad de software que este implicaba.
La primer etapa del proyecto consistió en lograr desplegar contenido en el display. Durante el desarrollo se fueron tratando diferentes problemas entre ellos: entender el protocolo SPI, configurar el módulo USCI del microprocesador en este modo, analizar el driver SSD_1351 que es utilizado por el OLED, lograr que el microcontrolador se comunicará con la pantalla y desplegar un primer contenido en pantalla. En la segunda etapa se implementó el motor del juego, el módulo de refresco de pantalla, el eliminador de rebotes de los botones y un menú.
El producto final consta de tres modos de juego, more size, more speed y mixed, con tres niveles de dificultad cada uno donde el usuario puede elegir modo y dificultad en el menú de inicio. Además el juego lleva el puntaje del jugador mostrandolo al final del juego.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2018
Insulogger
Estudiantes: Jose Bentancour, Rodrigo de Soto, Maite Gil
Tutor: Conrado Rossi
Resumen- La diabetes es una enfermedad crónica no transmisible que afecta a 1 de cada 11 personas a nivel mundial, prácticamente un 10 % de la población mundial. Las personas que padecen diabetes tienen la necesidad de llevar un re gistro que los ayude a mantenerla bajo control. Dicho registro debe, al menos, incluir: la actividad física realizada, la cantidad de carbohidratos consumidos y las dosis de insulina inyectada. InsuLogger ataca el último punto, proporcionando una interfaz amigable y conveniente para el registro de las dosis de insulina inyectadas. Dicho dispositivo va a permitir al usuario: observar en un display el tiempo transcurrido desde la última inyección, registrar eventos diferenciando dos tipos de insulina, la dosis de insulina inyectada y la medida de glucosa en sangre en caso de contar con el análisis. InsuLogger es capaz de enviar los datos por Bluetooth Low Energy (BLE) a un dispositivo móvil. En este trabajo se presenta una prueba de concepto del sistema, donde InsuLogger es un sistema de bajo consumo basado en el SoC Nordic nRF51822 (32-bit ARM R CortexTM M0, 16kB RAM, Embedded 2.4GHz Bluetooth Low Energy transceiver), que controla un micro-display OLED y posee una interfaz de tres botones para navegar por el sistema, ya sea para ingresar los datos o para iniciar la transferencia de los mismos. El sistema fue probado en laboratorio durante el tiempo suficiente para corroborar su correcto funcionamiento.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Invernadero
Estudiantes: Carolina Cabrera, Sofía Bertinat, Matias Echeverria
Tutor: Leonardo Steinfeld
Resumen- La motivación de este proyecto es automatizar el control del riego y ventilación de un invernadero a partir del sensado de la humedad y la temperatura. La solución propuesta consiste en una red de tres nodos OpenMote-B (basados en el SoC CC2538) conectados inalámbricamente utilizando la tecnología IEEE 802.15.4 en la banda de 2.4GHz. Los nodos forman una red en forma de árbol donde uno de ellos tiene la función de ser la raíz del árbol, otro sensa las variables climáticas periódicamente (humedad y temperatura) y las transmite a un tercer nodo. Éste último que es quien realiza la lógica de control a partir de los datos recibidos y enciende o apaga LEDs que simulan ser los ventiladores y regaderos del invernadero. Para resolver la comunicación se utilizó el fimware implementado por el proyecto OpenWSN, incorporándole aplicaciones propias para realizar el sensado y el control. Como arquitectura de software se debió adoptar la utilizada por OpenWSN que consiste en una lista de tareas ordenadas por prioridades que son ejecutadas por un scheduler (o planificador). Para la construcción del firmware se utilizó Scons para compilar utilizando armgcc. Otras herramientas de software utilizadas para debuggear fueron IAR para ARM y OpenVisualizer.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Sonometro
Estudiantes: Leopoldo Agorio,Andrés Corchs, Florencia Montaldo
Tutor: Leonardo Steinfeld, Santiago Radi.
Resumen- Es de creciente interés la medición automatizada de nivel de intensidad sonora en el ambiente urbano. En este marco es que se busca desarrollar un prototipo de sonómetro de bajo costo con potenciales aplicaciones en el monitoreo urbano. Se utilizó como plataforma de trabajo el LaunchPad de TI (Texas Instruments) basado en el microcontrolador MSP432P401R con un ADC de alta precisión y FPU (Floating Point Unit), ambas características claves para el éxito de este proyecto. Se puede separar el proyecto en tres grandes áreas: la adquisición de audio, el procesamien to de la señal y el análisis del rendimiento del sistema cuando se trabaja con distintos tipos de datos a la hora de procesar. Respecto a lo primero, se evaluó el uso de DMA (Direct Memory Access) y se constató que existe una mejoría en el tiempo de procesamiento aunque para este proyecto no resulta decisiva. En cuanto al filtrado, se implementó un filtro IIR y se buscó optimizarlo en velocidad. Aquí es donde también el análisis para los distintos tipos de datos es clave, constatándose que el uso de FPU es determinante, mejorando el rendimiento del sistemade manera muy significativa.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SGTc
Estudiantes: Diego Mazzuco, Ignacio Brugnoli, Thomas Rokicki
Tutor: Julián Oreggioni, Santiago Radi
Resumen- Este proyecto se encuentra inspirado en la problemática causada por el aumento del tráfico vehicular en ciudades cuyo sistema de control de tráfico se encuentra descentralizado, generando demoras en la implementacion de politicas de ingenieria de trafico. Con esto en mente, este proyecto pretende introducir una transición sencilla y de bajo costo entre un sistema desactualizado (que no permite configuraciones remotas) y un sistema completamente automatizado y por tanto complejo y costoso. Para ello, se diseño un sistema que permite controlar semaforos segun distintas configuraciones enviadas de forma remota a través de LoRa, un protocolo de comunicacion inalambrica de largo alcance y libre de gastos operativos. Las configuraciones permiten configurar los diferentes tiempos asociados a los estados de los semaforos, asi como la configuracion de modos de funcionamiento normales y de ceda el paso. La red implementada se encuentra constituida por un Gateway conectado a una PC a traves de un puerto UART, haciendo de traductor entre la PC y el canal de comunicacion inalambrico sobre el protocolo LoRa y un conjunto de nodos de la red (controladores de semaforos) que se comunican con el gateway a traves de este canal.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Espigas
Estudiantes: Martı́n Beiro, Maximiliano Cárdenas, Leo Reyes
Tutor: Leonardo Barboni
Resumen- Como proyecto de la materia Sistemas Embebidos para Tiempo Real se implementó un detector de eventos en tiempo real de 8 canales. Este utilizó la plataforma MSP432 de Texas Instruments, con el Code Composer Studio (CCS) como IDE. El dispositivo muestrea mediante el ADC14 del dispositivo los 8 canales, para luego procesarlos mediante un filtro matcheado con el fin de detectar un evento especı́fico. El tiempo transcurrido entre la ocurrencia de el evento y la detección del mismo es de a lo sumo 10 ms. Como interfaz de usuario se desarrolló un script en Matlab que permite la selección del filtro, el inicio del estudio y el despliegue de los resultados. La documentación contiene el proceso de diseño e implementación del detector. Además se incluyen las pruebas del sistema, y análisis de tiempos, crucial para un dispositivo de estas caracterı́sticas.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Perimetro Virtual
Estudiantes: Nestor Acosta, Pablo Caitano, Alejandra Clivio
Tutor: Julin Oreggioni
Resumen- Se diseñó un sistema de comunicación inalámbrica que consiste en un nodo sensor (NS) y un nodo hub (NH) que se comunican mediante el protocolo LoRa. Dicho sistema tiene la finalidad de implementar la funcionalidad de Perı́metro Virtual (PV), que consiste en sensar la posición de un GPS y enviar el mensaje “Perı́metro Atravesado” hacia un PC en caso que el NS atraviese un perı́metro previamente establecido por el usuario. El NH consta de un microcontrolador MSP430F5438 y un módulo de radio SX1276, mientras que el NS está implementado con un módulo EVK-G26H (este contiene un módulo GPS LEA-6H) además de los módulos antes mencionados. Se logró entablar la comunicación SPI entre los módulos SX1276 y los microcontroladores, además de desarrollar y testear el software necesario para la comunicación por UART con el GPS y el procesamiento de los datos obtenidos del mismo mostrando su correcto funcionamiento, obteniendo los datos de latitud y longitud deseados. Mediante el uso y modificación de código de terceros se logró la comunicación entre los módulos SX1276 siendo esta inestable, capaz de enviar solo algunos paquetes de datos entre los nodos. Debido a esto se testeó el software de PV manualmente, ingresando perı́metros que contenı́an la posición del NS y otros que no la contenı́an, verificando su correcto funcionamiento al consultar buffers internos del programa que son “escritos” en caso de no estar dentro del PV
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Border Detection Hardware
Estudiantes: Antonio Bracco, Federico Grunwald, Agustı́n Navcevich
Tutor: Leonardo Barboni, Mauricio Gonzalez
Resumen- El proyecto desarrollado toma problemáticas abiertas del Proyecto final de Sistemas Embebidos para tiempo real FirmwareMetrologı́a [2] y el Proyecto de fin de carrera Plagavisión. Plagavisión [1] buscaba automatizar el conteo de polillas capturadas con trampas en el agro. Este conteo que se suele realizar manualmente, provee información útil para calibrar entre otras cosas cuanto pesticida se debe emplear. El proyecto FirmwareMetrologı́a consistı́a de varias etapas para implementar comunicación con una red inalámbrica. Se generaba en un nodo una matriz de tamaño 270x270 que simula una imagen en escala de grises. Esta se transmitı́a por radio hacia otro nodo y se le aplicaba un algoritmo de detección de bordes en el receptor. Se busca entonces trabajar con imágenes obtenidas de una cámara infrarroja y llevar a cabo el procesa miento de la misma en el propio microcontrolador, para luego solo enviar la información de bordes. Se realizó una aplicación entonces para recibir una imagen JPEG por comunicación serial UART, pasarla a formato RAW para procesamiento, ejecutar el algoritmo de detección de bordes y finalmente enviar por la UART el resultado obtenido.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Plataforma Testeo Multisensorial
Estudiantes: Andrés De Luca, Agustín Costa, Santiago Bernheim
Tutor: Mauricio Rodríguez
Resumen- El siguiente documento presenta el proyecto realizado como trabajo de fin de curso de Sistemas Embebidos, que consistió en realizar una plataforma de testeo multisensorial. Se planteó desarrollar una arquitectura distinta a las vistas en el curso con el objetivo de lograr un sistema rápido a pesar de las limitaciones del hardware utilizado. En particular se compara el rendimiento entre una arquitectura de polling y otra del estilo "non-blocking",utilizada en la versión final. Para lograr la arquitectura antes mencionada, se implementó cada módulo de manejo sensorial como un máquina de estados. Estas máquinas de estados funcionan en base a interrupciones para optimizar el uso de tiempos del procesador. Adicionalmente, se implementó una comunicación con una PC a través de la UART y una interfaz gráfica y de procesamiento en Python. Se logró dominar las interfaces de todos los sensores y se obtuvieron muy buenos resultados experimentando con una arquitectura alternativa a las explicadas en el curso. Además, se incursionó con éxito en el lenguaje Python para el procesamiento y la interfaz gráfica.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2017
Damava
Estudiantes: Magdalena Mendı́vil, Henry Marichal, Fabián Vique
Tutor: Leonardo Steinfeld
Resumen- Hoy en dı́a se considera a la mastitis vacuna como una de las enfermedades que más afecta económicamente al productor lechero en el mundo. En este contexto, el presente trabajo busca desarrollar los módulos de comunicación y adquisición de datos de un sistema para la detección de esta enfermedad, basado en el monitoreo de la conductividad y temperatura en la leche. El sistema implementado se encarga de adquirir las medidas de los sensores durante el ordeñe de cada vaca, y envı́a los datos mediante WIFI a una PC. Además, se implementa una interfaz de usuario. Para su prueba se introducen señales sinusoidales y triangulares por puertos analogicos conectados a un ADC del microcontrolador. El sistema está compuesto por un LaunchPad MSP-EXP432P401R, un LaunchPad SimpleLink WIFI CC3100 y un router. La implementacion del sistema utiliza 12kB de memoria RAM de un máximo disponible de 64kB. Esto permite reducir costos, ya que a priori, el sistema podrı́a implementarse en un micro con menos memoria. El diseño del sistema permite que pueda ser utilizado por otras aplicaciones, en las cuales sea necesario la adquisición y envı́o de datos, sólo cambiando la lógica de ciertos módulos.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
LoRa
Estudiantes: Juan Martín Chiale , Mariana Siniscalchi
Tutor: Javier Schandy
Resumen- LoRa es un protocolo de comunicación inalámbrica de baja potencia y largo alcance. Está enfocado a pequeños dispositivos autónomos. En este proyecto se formó una red de dos nodos utilizando el protocolo LoRa en la
banda de 868 MHz. Cada nodo está basado en el launchpad MSP4030 que incluye el microprocesador MSP430G2553 y un módulo inalámbrico LoRa SX1276. Uno de los nodos, dotado de un sensor de temperatura, toma una medida periódicamente
y envía el dato al otro nodo. Este último a su vez envía a través de la UART el dato recibido a un PC, que sirve de concentrador de la información e interfaz de usuario. Se utilizó una arquitectura Round Robin con interrupciones.Se
obtuvieron apenas 10 m de alcance, mucho menor a 5 km especificados por el fabricante para entornos urbanos. Se obtuvieron 15.8 mA de consumo máximo, donde 1.7 mA corresponden al sensor de temperatura activo y la diferencia
a la radio en recepción y el launchpad en su funcionamiento normal. El throughput de datos está limitado por la implementación del software a 8 bps, pero es adecuado al caso de aplicación.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
ProcessAccel
Estudiantes: Joaquı́n Facal, Nicolás Gammarano, Alex Gurevich
Tutor: Conrado Rossi
determinación del eje principal, promedio de ventana móvil y diferencia entre aceleraciones sucesivas (jerk). El sistema también lleva la hora (que puede setearse y consultarse mediante comandos). Se obtuvo una plataforma embebida funcional que cumple con los objetivos planteados.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SendSlope
Estudiantes: Jorge Dominguez, Andrés Bologna, Agustín Fernandez
Tutor: Mauricio Gonzalez
en la pantalla de un teléfono celular. El sistema está compuesto por un microcontrolador, un giroscopio de tres ejes, un
acelerómetro de tres ejes y un módulo Bluetooth Low Energy 4.0, del lado del paciente; y un celular con Bluetooth 4.0 del lado del técnico. En este trabajo se desarrolló el software embebido para el microcontrolador MSP430G2553 de Texas Instruments.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Ultrasonido
Estudiantes: Vitali Carpentieri, Diego Pisano
Tutor: Leonardo Barboni
generador de ondas, los cuales deben ser configurados desde una PC que se comunica con el microcontrolador mediante una comunicación UART. Se utilizó el microcontrolador MSP432P401R por poseer una unidad aritmética de punto flo tante. El código está organizado en distintos módulos que contienen la funciones necesarias para el control de los periféricos. La arquitectura elegida es encolado de funciones.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2016
Emulador AFE
Estudiantes: Federico Nin, Santiago Radi, Federico Silva
Tutor: Leonardo Steinfeld
Resumen- Este proyecto consistió en programar un microcontrolador que emulase el comportamiento de la comunicación SPI del adquisidor de señales biológicas RHD2132 a nivel funcional. Éste chip filtra, amplifica y convierte
de analógico a digital las señales recibidas en sus 32 canales en un número de 16 bits. En este proyecto se simularon las respuestas que debe dar el mismo a los comandos correspondientes. También se programó una interfaz, la cual se
encarga del manejo del chip, proveyendo una API de alto nivel para funciones de conversión y configuración.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Aquiles
Estudiantes: Martín Randall, Santiago Saralegui
Tutor: Mauricio González
Resumen-El trabajo que se describirá a continuación se planteó hallar la posición de nuestro hardware. Para esto se utilizaron dos periféricos: un GPS y una IMU (que integra acelerómetro, brújula y giróscopo). Se reciben los datos de
los periféricos a través de dos canales de comunicación: UART (GPS) e I2C (IMU). Finalmente, se procesan los datos recibidos para obtener la posición y la inclinación del hardware. Para el desarrollo del proyecto se utilizaron conceptos
adquiridos en el curso, aplicándolos a hardware nuevo y manejando entornos de desarrollo también desconocidos. Además, se estudiaron el proceso de comunicación a través de I2C, y las posibilidades de procesamiento de datos
adquiridos de una IMU (filtro pasabajos, filtro complementario).
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Mano Dura
Estudiantes: Franciso De Izaguirre, Martin Ottavianelli, Santiago Vanoli
Tutor: Leonardo Barboni
Resumen- Hoy en día, determinados desórdenes motores-neurológicos sólo pueden ser diagnosticados por inspección visual,
cuando se presentan en estado avanzado. En este contexto, se busca diseñar una herramienta prototipo para asistir a
un psicomotricista en la detección de estos trastornos, a partir de la ejecución de ejercicios con las yemas de los dedos de la mano, en series temporales con patrones de presión. En el proyecto, se ha trabajado en el desarrollo del
prototipo utilizando una placa Arduino Mega, el software de desarrollo Atmel Studio para la utlización de break points y visualización de variables, y resistencias variables QTC (Quantum Tunnelling Composite Pills) sensibles a la presión.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Posicionador 2D con Golpeador
Estudiantes: Guzman Vigliecca, Vittorio Scopelli, Maximiliano Silva
Tutor: Conrado Rossi
Resumen- El proyecto consiste en la implementación del software de control de un posicionador de dos dimensiones. Se encuentra basado en motores paso a paso, utilizando un microcontrolador MSP430G2553 y periféricos para controlar
la posición. Este proyecto se enmarca en un proyecto de grado, el cual requiere de un dispositivo que permita golpear una superficie controladamente y en una posición bien determinada. Para cumplir con estos objetivos, se desarrolló
un software que integra el control de dos motores a paso, junto con cuatro interruptores de parada, y un led que simula el estado del golpeador. Se utilizó una arquitectura Round Robin con interrupciones, en donde las interrupciones
están asociadas a un Timer y a la comunicación. El Timer se encarga de dar el período de los pasos del motor y el tiempo de los golpes, mientras que la comunicación se encarga de recibir y enviar comandos hacia la pc. El
dispositivo se comunica con la PC utilizando la UART, y es capaz de recibir, interpretar y ejecutar comandos relativos a la posición y velocidad, y enviar mensajes de error o con información del estado actual.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Domotica
Estudiantes: Nicolás Barreto, Richard Rodríguez, Rodrigo Barboza
Tutor: Conrado Rossi, Javier Schandy
Resumen- Se construyó un panel de control central de domótica, utilizando un LaunchPad MSP430G2553. Simulamos, utilizando el módulo UART y el RealTerm, tanto la comunicación entre el usuario y el panel central, como la del
panel central y posibles paneles secundarios. El usuario puede controlar dispositivos locales y remotos (manejados por paneles secundarios) agregando tareas de apagado y prendido con distintas opciones de configuración (tarea única, de
Lunes a viernes, Sábado y Domingo, entre otras). El panel de control contiene una tabla de tareas de todos los dispositivos del sistema (remotos y locales), la cual es recorrida una vez por minuto, para luego ejecutar la tarea si el
dispositivo es local ,o en caso de ser remoto, enviar un paquete a través de la UART. También contiene tres tablas mas, una tabla con todos los puertos lógicos del sistema (esta contiene todos los dispositivos del sistema), otra con
los puertos locales correspondientes a dispositivos locales y una última tabla guardada en ROM que contiene las direcciones de los puertos locales.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Datalogger con RTOS
Estudiantes: Gonzalo Cuñarro, Andrea Delbuggio, Alfredo Solari
Tutor: Javier Schandy
Resumen- El proyecto se centra en desarrollar un datalogger de arquitectura en base a RTOS, donde un sensor de temperatura se comunicara implementando el protocolo Bluetooth Low Energy para transmitir datos desde el mismo a una interfaz remota la cual se comunica a una computadora por UART. Evaluamos en el proceso el TI-RTOS (RTOS de Texas instruments), el entorno de desarrollo CCS (Code Composer Studio) y el stack de red Bluetooth Low Energy. El alcance constituye la implementación del datalogger configurable, las comunicaciones de Bluetooth, UART y la interfaz PC.
- Documentación (.pdf)
- Codigo no disponible
Rectas Paralelas con RTOS
Estudiantes: Gabriel Bibbó, Abraham Rebori
Tutor: Mauricio Gonzalez, Leonardo Steinfeld
Resumen-El proyecto consiste en la utilización de tres sensores de ultrasonido colocados a lo largo de una regla, que al ser enfrentados a una pared, permiten calcular el ángulo entre la regla y la pared. Se despliega dicho valor
en el PC. Los sensores son
HCSR04, el microcontrolador es MSP430f5438 y se implementa con la arquitectura RTOS utilizando FreeRTOS. Se implementó un módulo de lectura del sensor, la tarea de atención a los mismos, de cálculo del
ángulo y de comunicación vía UART con el PC.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2015
Camera Full Control
Estudiantes: Ignacio Abadie, Aldo Vignone, Mauro Martínez
Tutor: Leonardo Barboni
Resumen: Camera Full Control se enmarca dentro del proyecto de fin de carrera titulado AgroVisión. Se trabajó sobre un sistema formado por un nodo CC2538 de ARM que maneja una cámara M12x0.5 Camera Lens - LS-20150 f=2.8mm de LinkSprite mediante un driver. El driver fue diseñado por los grupos de Proyecto de fin de Carrera Plagavisión y WSNVisión. El software en el nodo está implementado en Contiki OS. Entre las funcionalidades del driver estan: la configuración de la cámara, la orden de tomar una foto para luego solicitar su transmisión y guardarla en la memoria del nodo. El trabajo de este proyecto consistió principalmente en el estudio del sistema y el driver que lo maneja, incorporar al driver la capacidad de responder frente a errores de datos y pérdida de información durante la transmisión por el puerto de comunicación UART del sistema y el estudio del consumo que tiene el sistema para diferentes configuraciones de la cámara. Para poder encontrar una solución a los problemas de comunicación en el driver primero se debió estudiar a fondo el módulo de UART de Contiki para comprender cómo maneja estos eventos el sistema. Esto queda comprendido dentro del proyecto. Dentro de las conclusiones que desprendemos del trabajo remarcamos que cumplimos mayormente con los objetivos planteados al comienzo del proyecto con la salvedad de que aún queda pendiente la estimación de los tiempos de procesamiento del sistema en las diferentes configuraciones de la cámara debido a complicaciones que surgieron durante la realización del trabajo y que serán explicadas más adelante.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SAT- Sistema Automático de Testeo
Estudiantes: Renzo Caballero, Gonzalo Carozo, Ma Cecilia Costa
Tutor: Conrado Rossi
Resumen-Este documento especifica la primera implementación del SAT (Sistema Automático de Testeo). El SAT permite el control y monitoreo remoto de DUTs (Dispositivos bajo testeo) desde una PC. Se le atribuyen las siguientes características:
Controlable
vía USB, 16 salidas digitales de control,16 entradas digitales de monitoreo y muestreo,preparado para comunicación UART y SPI (con el DUT),reloj en tiempo real con consulta de hora,dos relojes configurables,sistema de seguridad que impide el comienzo
del monitoreo sin la previa configuración del resto de las características. Se configuraron e implementaron funciones por módulos para cumplir con los requerimientos y se hizo una abstracción de HW de los módulos para que sea más fácil portarlos
a otras familias de microcontroladores. En el transcurso del proyecto se fueron testeando los módulos por separado y luego se hizo una última prueba para testar todos los módulos trabajando en conjunto. El resultado de las pruebas
fue satisfactorio, cumpliéndose con todas las especificaciones requeridas excepto la comunicación SPI. Se consiguió una frecuencia máxima de
muestreo de 10 Hz. Aunque en primera instancia no se consideraron requerimientos de velocidad,
es una de las mejoras a implementar para futuros usos.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
DC-DC
Estudiantes: Arthur Bourgeois, Pierre-Emmanuel De Solages, Federico Diaz
Tutor: Leonardo Steinfel, Javier Schandy
Resumen- El proyecto DC/DC tiene una relación directa con otro proyecto más completo que permite calcular la energía consumida y definir todas las características del sistema de un conversor DC/DC conectado a un microprocesador que comunica con otros microprocesadores a través de ondas radio. El DC/DC genera pulsos que podemos transformar y adaptar a la entrada de nuestro microprocesador. En este proyecto, el MSP430G2553 debe recibir la misma señal que el microprocesador. Pero para conocer exactamente la frecuencia de entrada, el valor en volts de los pulsos, reemplazamos el DC/DC con un generador de señal. Nuestro sistema está hecho de un generador de señales y del microprocesador MSP430G2553. La diferencia es que con el generador podemos enviar solo un tipo de pulsos, y que el microprocesador tiene diferentes modos de funcionamiento:
- Documentación (.pdf)
- Codigo no disponible
Sensores ópticos
Estudiantes: Franco La Paz, Facundo Artagaveytia, Ignacio Reyes
Tutor: Mauricio Gonzalez, Rafael Canetti
Resumen- El proyecto descrito en el presente informe consiste en el diseño e implementación de un sistema embebido que censa distancias en varias direcciones utilizando sensores de infrarrojos Sharp y cuyas medidas son
procesadas en el launchpad MSP430G2553 de Texas Instruments. Primeramente el conversor AD del launchapad lee la medida realizada por los sensores y la transforma en un número digital de 10 bits. Luego esa medida es procesada
para obtener la distancia equivalente al valor entregado por el sensor. Posteriormente se despliegan las mismas a través de LEDs de bajo consumo, cuya intensidad lumínica es inversamente proporcional a la distancia medida. Además se utiliza
el módulo UART presente en el launchpad para establecer una conexión con una PC y desplegar las medidas en forma gráfica en la pantalla. Para esto último se utiliza el programa MatLab en donde se implementó una función que tiene como
argumento un archivo de texto con las medidas realizadas por los sensores, y devuelve la gráfica correspondiente. Por último se compara el desempeño del microprocesador al realizar las
operaciones requeridas en punto fijo o
en punto flotante (implementado por software).
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
CtlDali
Estudiantes: Bruno Inuggi, Rodrigo Pérez, Federico Pugliese.
Tutor: Mauricio González y Javier Schandy
Resumen- Con la idea de mejorar la iluminación del salón de actos surgió la necesidad de realizar un sistema inteligente de control de luminarias. El protocolo DALI (Digital Lighting Addressable Interface), el cual permite una comunicación
con cada luminaria para cambiar su intensidad de luz, es la opción elegida. Cada luminaria es un grupo de luces LED de alto brillo manejadas por un driver DALI, el cual interpreta comandos y actúa sobre ellas. De aquí en más llamaremos a dicho driver,
balasto. CTRL-DALI es un controlador de luminarias basado en dicho protocolo DALI y está implementado en un microcontrolador MSP430g2553 de Texas Instruments. Para comandar las luces se incluyen cuatro botones y una llave bipolar (dimmer
digital).
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Redes Neuronales de Dos Etapas
Estudiantes: Fabio Lima, Braulio Ríos, Guillermo Sánchez
Tutor: Leonardo Barboni
Resumen -Se implementó, en un sistema embebido de tiempo real, una red neuronal de dos etapas: una Liquid State Machine (LSM) para el pre-procesamiento de la información, y una segunda etapa de “readout” donde se clasifica
las salidas del LSM mediante un perceptrón paralelo modificado llamado “Dendritically Enhaced Perceptron” (DER). El objetivo del proyecto fue implementar una red DER que sea capaz de reconocer señales simples, como ser sinusoidales,
ondas cuadradas y triangulares, y luego añadir una capa LSM con dimensiones ajustadas a nuestro hardware. Se buscó determinar la viabilidad de la implementación en un microcontrolador estándar como el MSP430G2553, así como la
eficiencia de la red en el reconocimiento de dichas
señales simples. Asimismo se buscó comparar los resultados con la red sin el bloque LSM (el cual requiere un gran poder computacional) para determinar si se justifica un LSM en nuestro
hardware.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
IR+PI
Estudiantes: Florencia Ferrer, Lucía Korenko y Paola Romero
Tutor: Leonardo Steinfeld
Resumen- El presente trabajo parte del problema de aclimatar un ambiente con un aire acondicionado (AC), que se encuentre alejado del mismo. Para esto se propone una solución en tres bloques que llamaremos nodos: uno que estará ubicado en el ambiente a aclimatar (Nodo Medición de Temperatura) y dos próximos al AC (Nodo Gateway y Nodo Controlador). Se construye el sistema con la finalidad de lograr la temperatura deseada en el ambiente a partir de la medición de la temperatura en el mismo y el cálculo de la temperatura a setear en el AC. Para implementar el sistema se manejaron conceptos impartidos en el curso, se adaptaron conocimientos a nuevos hardwares y se aprendieron nuevos. En particular se investigó sobre la comunicación infrarroja (IR) de los AC, la comunicación por radiofrecuencia, comunicación SPI y controladores PI discretos. En esta documentación se encontrarán los conceptos indagados, los detalles de la implementación, las pruebas realizadas y las reflexiones sobre el resultado.
- Documentación (.pdf)
- Codigo no disponible
Wolverine Contiki
Estudiantes: Bruno Bellini, Rodolfo Jalabert
Tutor: Javier Schandy, Leonardo Steinfeld
Resumen- El presente documento contiene la memoria del proyecto Wolverine-Contiki, el cual consistió en la implementación de un nodo para una red de sensores inalámbricos. Se portó el Sistema Operativo (SO) Contiki para el
microcontrolador MSP430FR5969 y se implementó el driver de la radio CC110L. Ambos CI se caracterizan por su bajo consumo energético, y pertenecen a la familia Texas Instruments. El porte del SO se realizó a partir de la versión ya
existente para el Launchpad MSPEXP430G2, y el driver de la radio se implementó a partir del driver de la radio CC1101
- Documentación (.pdf)
- Codigo no disponible
2014
FirmwareMetrologia
Estudiantes: Florencia Arbio, Federico Lopez, Miguel Pereyra
Tutor: Leonardo Barboni
Resumen- El proyecto desarrollado toma problemáticas abiertas del Proyecto de Fin de Carrera (PFC) Plagavision cuyo estudio será un insumo importante para el PFC WSNvision. Estas interrogantes se componen de una jerarquía
descendente de problemas a resolver usando Contiki OS , los cuales son el elemento de estudio del presente proyecto. Estos problemas son: i) manejo de la
memoria flash de un nodo, ii) comunicación por radio, iii) manejo de timers e interrupciones,
iv) implementación de un algoritmo de procesamiento de imágenes en el nodo, v) caracterización del consumo de los nodos desarrollados en Plagavision. Como primera aplicación se genera en un nodo una matriz de tamaño 270x270, que
simula una imagen en escala de grises, se transmite la matriz por radio hacia otro nodo y se le aplica un algoritmo de detección de bordes en el receptor. Por último se transmite la imagen procesada vía UART al PC y se la visualiza. En
segundo lugar se realiza una aplicación que, en un nodo esclavo a un PC, calcula la frecuencia de un tren de pulsos provenientes de un generador que emula al integrado contador de carga INA139, para lograr de esta forma tener herramientas
de medida del consumo de un nodo.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
RattusBot Mordedor
Estudiantes: Nicolás Blanco, Mariana del Castillo, Joaquín Quagliotti
Tutor: Leonardo Barboni
Resumen- El proyecto realizado comprende el ensamble y programación de una plataforma robótica que cumpla con un cierto comportamiento especificado. Su objetivo principal es consolidar los conocimientos adquiridos durante el
curso de Sistemas Embebidos Para Tiempo Real. Esta memoria comprende un resumen del proyecto, partiendo desde su planteo con una breve introducción, pasando por los objetivos planteados para el mismo y el alcance definido. Luego
se aborda el diseño e implementación realizada, especificando hardware y software, finalmente se comentan algunos desafíos y problemas encontrados y las conclusiones alcanzadas luego de la realización del proyecto. Se adjunta a esta
memoria el código implementado.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
GRSI
Estudiantes: Cecilia Cardozo, Agustín Rodríguez, Bruno Serra
Tutor: Leonardo Steinfeld, Javier Schandy
Resumen: En el proyecto GRSI se desarrolló el nodo base de una red inhalámbrica de sensores. Se utilizó la plataforma Contiki OS implementada en un mote TelosB compatible. Se configuróenvı́o de los datos a un servidor web junto
con alarmas automáticas vı́a SMS utilizando un modem Leon G200 conectado vı́a UART al nodo base de la red.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
HEM
Estudiantes: Pablo Modernell, Kenji Nakasone, Andrés Seré.
Tutor: Leonardo Steinfeld, Javier Schandy
Resumen- En el presente proyecto se diseña una red de sensores capaces de realizar mediciones de la energı́a eléctrica consumida por una instalación eléctrica. Pretende ser un primer acercamien to al desarrollo de un sistema capaz de caracterizár el consumo eléctrico de una residencia. Para la realización de las mediciones se utilizaron sensores de corriente no invasivos. Se di señó un circuito básico de adquisición de señales, capaz que adaptar la salida de los sensores de corriente hacia el ADC de plataformas TelosB compatibles. Para el cálculo de la potencia consumida solamente se tomaron datos de la corriente. Se asumen cargas resistivas, corriente sinusoidal perfecta, y se utiliza para los cálculos la tensió nominal de la red. Se diseñó con Contiki OS, utilizando los módulos del Stack Rime que permiten implementar recolección de datos multisalto, utilizando el protocolo de red CTP (Collection Tree Proto col). Este aspecto fue pensado principalmente para permitir la fácil escalabilidad del sistema.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
QiController
Estudiantes: Nicolás Alves, Carlos Anza,Gonzalo Gutiérrez
Tutor: Pablo Mazzara
Resumen- El presente trabajo se centrará en el diseño del controlador de un cargador inalámbrico implementando dicho diseño mediante el uso de statecharts y cumpliendo las especifica ciones del estándar Qi[1]. Los diseños se realizarán
utilizando el entorno de desarrollo IAR visualSTATE. Para incluir este proyecto en el marco del curso Sistemas Embebidos para Tiempo R eal, se llevará a cabo este diseño enfocándose fuertemente en la funcionalidad lógica del controlador.
En otras palabras, se diseñará únicamente el software de dicho sistema de carga y se corroborará su funcionamiento en el kit de evaluación MSP-EXP430G2.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Abejimetro
Estudiantes: Alejandro Draper,Nicolás Obrusnik,Pablo Zinemanas
Tutor: Conrado Rossi
Resumen- Su objetivo es construir un dispositivo que registra una señal de audio, calcula su Transformada Rápida de Fourier (FFT) y almacena el resultado en una memoria externa. El sistema está constituido por un micrófono,
un circuito analógico
para adaptar la señal y una placa de desarrollo con un microcontrolador (Stellaris EKI-LM4F232 de Texas Instruments). El software se programó en el ambiente de desarrollo IAR Embedded Workbench y en lenguaje
C. Interesa estudiar el espectro de las frecuencias menores a 1KHz. El algoritmo FFT utilizado es Radix 2 no recursivo y con coeficientes calculados en tiempo real. La memoria externa es una tarjeta micro SD, y en ella
se crean archivos que contienen los módulos de las FFT calculadas.
- Documentación (.pdf)
- Codigo no disponible
MDM
Estudiantes: Joaquín Berrutti,Federico Favaro,Darío Sosa
Tutor: Pablo Mazzara, Rafael Canetti
Resumen- El presente proyecto describe el diseño e implementación de un sistema embebido capaz de medir distancias a objetos cercanos en múltiples direcciones de forma periódica. Se utilizan dos tecnologías diferentes para
cumplir el objetivo, la primera es el uso de sensores de ultrasonido digitales y la segunda sensores de infrarrojo analógicos. Además se describen las configuraciones y uso de distintos periféricos tales como Timers y un conversor
analógico-digital. También se explica el uso de una comunicación serial UART que comunica las medidas realizadas a un sistema externo no considerado en el este proyecto pero simulado para verificar el correcto envío de la información.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
CtrlMotors3D
Estudiantes: Guillermo Airaldi, Guillermo Antúnez, José Basualdo
Tutor: Conrado Rossi, Rafael Canetti
Resumen: El trabajo descripto a continuación se desprende del proyecto Modular3D, el cual tiene como principal objetivo el diseño de una impresora 3D. Ésta para su funcionamiento requiere de un posicionador de 3 dimensiones,
es decir, de un sistema capaz de posicionar en el espacio un puntero de impresión encargado de extruir el material de impresión de tal manera que sea posible formar una figura en 3D. Este sistema se basa en un conjunto de ejes
tridimensionales(en coordenadas cartesianas) que en su totalidad desplazan el cabezal de impresión al lugar requerido mediante el impulso generado por 4 motores paso a paso, de los cuales 3 son utilizados por los ejes y uno por el extrusor
de material. La problemática a atacar en el presente proyecto consiste en el diseño de un controlador de bajo nivel para los motores mencionados anteriormente. Dicho controlador debe poseer la portablidad necesaria para ser implementado
en distintas clases de microcontroladores, ası́ como también ofrecer a los niveles de implementación de capas de software superiores cierto grado de seguridad que permitan evitar cualquier tipo de daño de la impresora en caso de cualquier error
o desperfecto de la misma. El diseño del controlador se basa en una arquitectura de software llamada Round-Robin con interrupciones, lo cual es un método para seleccionar tareas de un grupo de manera equitativa
y en un orden racional
aunque a su vez permite dar cierta prioridad a las tareas que ası́ lo requieran.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Contiki Sinticki
Estudiantes: Pablo Balliva, Gustavo Brown, Carlos Fernandez
Tutor: Leonardo Steinfeld, Javier Schandy
Resumen- Los RTOS Real Time Operating Systems (‘sistemas operativos de tiempo real’) utilizan timers provistos por el hardware para realizar diversas acciones como ser: medir tiempo, planificar tareas o agendar eventos tanto
del sistema como del usua-
rio. La implementación actual de Contiki OS utiliza timers con período fijo para realizar estas tareas. Esto conduce a que el procesador se mantenga en un estado de alto consumo por un tiempo mayor
al necesario, puesto que una gran proporción
de las interrupciones del temporizador son solamente para actualizar el estado del timer. En este proyecto se modificaron algunas de las bibliotecas de timer de Conti ki, incluyendo el
módulo reloj específico de la plataforma Sky, de manera de que hardware solo interrumpa cuando haya sido agendado. La implementación es completamente transparente para las aplicaciones existentes y funcionó correctamente en varios
casos de prueba. En algunas aplicaciones podría obtenerse una baja en el consumo considerable. Todo tipo de aplicaciones de bajo consumo podrían verse beneficiadas por la extensión de esta estrategia a otras plataformas.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2013
Imagenes en RSI
Estudiantes: Mauricio Gonzalez, Nicolás Lamath, Nicolás Wainstein
Tutor : Leonardo Barboni
Resumen-Durante la realización del proyecto se exploró la capacidad del nodo TelosB para realizar tareas de compresión y transmisión de grandes paquetes de información, documentando todas las dificultades que surgen en el proceso. El proyecto consiste en la generación de un patrón de imagen en uno de los nodos, procesamiento del mismo detectando los bordes y transmisión de la imagen a otro nodo. Se espera tomar medidas de tiempo de procesamiento y consumo de cada una de las etapas, así como documentar los tamaños máximos de imagen.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Timer sin tick
Estudiantes: Matías Valdés, Federico Vanzini, Fernando Viera
Tutor: Leonardo Steinfeld
Resumen-El proyecto consistió en implementar un modulo que brinde el servicio de timer sin tick a un sistema embebido. Para el manejo de timeouts se implementó una lista encadenada para almacenar los tiempos de timeouts y funciones para su manejo que permiten agregar, quitar y decrementar timeouts de la lista. Se desarrollo un modulo que permite configurar el timer de forma dinámica según el próximo tiempo de timeout. Para el manejo del tiempo transcurrido de ejecución se desarrollo un modulo que permite incrementar el tiempo en múltiplos de la resolución temporal. El modulo implementado fue integrado a la aplicación datalogger del curso 2012. Para medir el desempeño del datalogger con y sin tick periódico se estudiaron aspectos tales como el consumo de potencia, memoria utilizada, cantidad de ticks por segundo y ciclos de trabajo.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Control de recorrida
Estudiantes: Ignacio Camps, Martín Driedger, Rodrigo Espiga
Tutor: Pablo Mazzara
Resumen-Este proyecto implementa un sistema basado en microcontroladores MSP430 que, utilizando un módulo de radiofrecuencia CC2500, se comunican entre sí para controlar el recorrido de un guardia de seguridad en un predio amplio. El sistema consta de tres tipos de nodos distintos: fijo, móvil y base. Los nodos fijos se ubican en puntos de control del recorrido, el nodo móvil es portado por el guardia de seguridad y el nodo base está conectado mediante un puerto USB a una PC y es utilizado para configurar el nodo móvil y descargar los datos al finalizar la jornada. Al comienzo de la jornada el guardia configura su nodo móvil mediante el nodo base, inicia su recorrido y registra el pasaje por cada punto de control utilizando un pulsador. Al terminar el recorrido descarga los datos al nodo base. Finalmente, se transfieren los datos a través del módulo UART a la PC y se despliegan en pantalla.
- Documentación (.pdf)
- Codigo no disponible
ECG Digital
Estudiantes: Martín Bertrán, Natalia Martínez, Julián Rodríguez
Tutor: Juan Curto
Resumen-El proyecto se basa en el diseño de un dispositivo capaz de determinar ciertas características de un ECG a partir de un microcontrolador MSP430F2274. Se trata de un dispositivo de diagnóstico rápido o para monitoreo de pacientes desde el hogar, por lo tanto solo se abarca la posibilidad se extraer características básicas que permiten el diagnóstico de una cantidad acotada de anomalías, como por ejemplo el de una arritmia. El dispositivo también debe ser der capaz que comunicar los resultados mediante la UART para poder compararlos con los obtenidos en Matlab. En el diseño del control del dispositivo se usaran conceptos aprendidos durante el curso, como es el caso de las colas y el encolado de funciones o la solución del problema de datos compartidos.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Control de Acceso
Estudiantes: Florencia Blasina, Gonzalo Finozzi, Nicolás Marquez
Tutor: Conrado Rossi
Resumen-El Proyecto consiste en una maqueta de un sistema de control del ingreso de personas a áreas restringidas que identifica los usuarios autorizados mediante un lector de tarjetas de proximidad. El egreso se habilita al pulsar un botón ubicado en la zona restringida. Un detector del estado de la puerta permite disparar una alarma si la puerta permanece abierta demasiado tiempo. El sistema guarda registros de eventos con su fecha, hora y usuario asociado en los casos en que es identificable. La configuración de usuarios autorizados, horarios habilitados y otros parámetros se realiza a través de una terminal serie mediante menús sencillos desplegados por el sistema. Así mismo pueden ser descargados los registros de actividad. La maqueta tiene una capacidad limitada en la cantidad de personas autorizadas y otras funcionalidades auxiliares a fin de adecuar el proyecto a la asignatura.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2012
_compsummo
Estudiantes: Francisco Aguerre, Ismael Rodriguez Pedragosa, Carlos Briozzo
Tutor: Leonardo Barboni, Leonardo Steinfeld
Resumen: La reducción del consumo de carga de la baterı́a es de fundamental importancia en la disciplina de las redes de sensores inalámbricos (de aquı́ en más RSI), por lo que el estudio de nuevas metodologı́as para reducción
del consumo energético es muy importante. En este proyecto se busca determinar si la compresión de los datos previa a la transmisión resulta en un
ahorro energético respecto al envı́o de los datos sin comprimir. Este estudio se realizó
sobre un nodo Telosb (MSP430F1611 y radio CC2420) utilizando el sistema operativo Contiki y el algoritmo de compresión de datos S-LZW.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
DataloggerDVFS
Estudiantes: Sebastián Besio, Pablo Perez, Francisco Veirano
Tutor: Conrado Rossi, Juan Curto
Resumen: El proyecto consistió en la migración de un datalogger, implementado en un At mega32, a un MSP430F5438A.Luego de estudiado las funcionalidades de DVFS (Dynamic Voltage Frequency Scaling) proporcionadas por el microcontrolador,
se sacaron
conclusiones de como mejorar el consumo del msimo. El datalogger consta de hasta 8 canales diferentes, cada uno con su propia frecuencia de muestreo. Se comunica con el exterior mediante la interfaz RS-232 por medio de
la cual puede recibir comandos y responder a los mismos. En un principio las funcionalidades de DVFS se implementaron de la siguiente for ma: se definieron tres modos de funcionamiento distintos, con distinta frecuencia de clock
y distinto voltaje de alimentación para el microcontrolador. Luego cada tarea que el datalogger realizara serı́a llevada a cabo en el modo que mejor se ajuste a los requerimientos de dicha tarea.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Wireless Data Streaming
Estudiantes: Andres Nacelle, Gerardo Robert
Tutor: Leonardo Steinfeld
Resumen: (no disponible)
- Documentacion no disponible
- Codigo no disponible
Modulo DOAS
Estudiantes: Matias Osorio, Santiago Silva Dalla Rizza, Martín Reyes
Tutor: Juan Curto
Resumen: En el presente proyecto se realizó un módulo que permite el manejo de un motor a pasos y un control de temperatura para una plataforma DOAS (Differential Optical Absorption Spectroscopy) para funcionar con un microcontrolador
MSP430-RF2500 programado en lenguaje C. Para el manejo del motor y la temperatura se realizó una conexión UART con el PC. Se diseñaron las correspondientes capas de software y hardware ası́ como el hardware involucrado para un correcto
funcionamiento del sistema. Una serie de tests fueron realizados para observar la eficacia y robustez del mismo.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
CarApp
Estudiantes: Ramiro Barrón, Andrea Cukerman, Juan Martín Ortega
Tutor: Leonardo Barboni, Leonardo Steinfeld
Resumen: Este proyecto se basa en la implementación de un sistema de avisos al detectarse la activación de una alarma. Para ello, se utiliza un micro controlador con el fin de integrar la alarma con un módulo GSM, el cual es capaz
de generar los avisos correspondientes. La aplicación final a la cual se llegó es capaz de enviar y recibir SMSs, así también como de realizar llamadas a los números previamente definidos. Para realizar esto se estudiaron
los comandos AT, quienes permiten comunicarse a través del puerto serial con el módem GSM. Así, se llegó a la conclusión que el módem no respondía siempre de la misma forma, por lo que se implementaron funciones para configurar la
uart dinámicamente. Con el fin de hacerlo simple de configurar, el sistema posee también una lista de comandos, no excluyentes y fácilmente ampliable, que permiten setear los parámetros básicos del mismo.
Éstos, enviados como simples
SMSs al número del sistema, permiten desde seleccionar los usuarios habilitados a interactuar con el sistema, hasta elegir el tiempo entre los avisos. Se desarrolló un aplicación modularizada que permite reutilizar bloques.
- Documentación (.pdf)
- Codigo no disponible
TestI2C
Estudiantes: Martín Ardao, Imanol Calvo
Tutor: Pablo Mazzara, Conrado Rossi
Resumen: En el siguiente documento se describe el proceso de diseño y programación de un microcontrolador (MSP4305438A) de manera de poder monitorear la comunicación I2C entre distintos módulos de un sistema compuesto por
varios dispositivos. La idea principal es poder emular el comportamiento de los módulos que componen el nano satélite (Antelsat) actualmente en desarrollo por la Facultad de Ingeniería y Antel. Cada módulo podrá ser configurado con
una determinada personalidad (maestro o
esclavo) y de acuerdo a ella, se comunicara con el resto de los dispositivos presentes en el bus.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2011
SPMTracker
Estudiantes: Sebastián Alpuy, Pablo Cabalo, Marcelo Forets Irurtia
Tutor: Conrado Rossi
Resumen: El proyecto SPMTracker se enmarca dentro del proyecto de fin de carrera CubeSatET, una estación terrena para un satélite. Entre las tareas necesarias para establecer la comunicación entre la ET y el satélite se encuentra la de manejar automáticamente la antena que debe apuntar al satélite. Se implementó el control que maneja la caja del rotor G-5400B de Yaesu, el cual mueve la antena, integrando el software predictor de posición instalado en un PC (gpredict) y el controlador del rotor.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
GSM-Contiki
Estudiantes: Santiago Barreira, Matías Bonora
Tutores: Leonardo Steinfeld, Pablo Mazzara
Resumen: Este proyecto integró un modem GSM (Leon-G200) a un nodo base eZ430-RF2500 (microcontrolador y radio de Texas Inst.), desarrollando un módulo de software que se integra a ContikiOS. La base se comunica con el modem GSM a través de la UART utilizando el stack TCP/IP integrado. La base recibe los datos enviados inalámbricamente (2.4 GHz) por otros nodos y los envía a un servidor (pachube.com) a través de la red celular.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Datalogger StateChart
Estudiantes: Federico Cancela, Federico de Izaguirre, Javier Osinaga
Tutores: Juan Curto, Leonardo Steinfeld
Resumen: El principal problema a ser resuelto será implementar un recolector de datos autónomo (datalogger) utilizando el entorno gráfico VisualSTATE, de IAR Systems. Para lograr esto será necesario utilizar la metodología de programación basada en StateChart (UML) y aprender a utilizar la herramienta específica. Las funcionalidades del producto final serán similares a las de los proyectos Datalogger del año 2009 y al Datalogger-Contiki del año 2010.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SEM & EEM (Self and External Energy Metering)
Estudiantes: Sebastian Fernández, Julián Oreggioni
Tutor: Leonardo Steinfeld
Resumen: El proyecto busca agregar a un sistema embebido basado en un microcontrolador la capacidad de medir su propio consumo durante su funcionamiento normal, es decir fuera de laboratorio. Si bien podría ser de uso general se diseñará para aplicaciones en nodos de redes de sensores inalámbricos (WSN), donde los recursos son escasos, en especial: tamaño, energía y memoria.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Ejecución desde RAM
Estudiantes: María José González, Santiago Paternain, Martin Pijuan
Tutores: Leonardo Steinfeld, Conrado Rossi
Resumen: Este proyecto aborda el problema de la disminución de la energía consumida por un microcontrolador mediante la ejecución de parte del código desde memoria RAM. Se utiliza el microcontrolador MSP430F5438 (Texas Instruments) dado que el fabricante especifica un consumo de aproximadamente la mitad ejecutando desde RAM respecto a ejecutar directamente desde FLASH. Además se implementó un "program counter profiler" que contabiliza cuantas veces se ejecuta cada instrucción en un programa.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2010
miniODU
Estudiantes: Adriana Castro Maisonnave, Santiago Coronel y Martin Patrone
Tutor: Conrado Rossi
Resumen: Se implementaron algunas funcionalidades de un osciloscopio digital con interfaz USB. Para ello se usó un microcontrolador con interfaz USB para realizar la adquisición, procesamiento, almacenamiento y transmisión de datos. Este proyecto se enmarca dentro proyecto de fin de carrera ODU (osciloscopio de mayor ancho de banda y funcionalidad completa.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Módulos dinámicos
Estudiantes: Matias Bakalian, Francisco Lanzari, Santiago Martínez
Tutor: Leonardo Steinfeld
Resumen: Se propuso una metodología y diseñó e implementó una herramienta que permite reprogramar parcialmente el firmware de un sistema embebido posibilitando cambiar la aplicación, enviada por un puerto de comunicación, sin necesidad de reprogaramar las bibliotecas que dan soporte y no cambian entre diferentes aplicaciones (por ejemplo bibliotecas como: board support package, stack de comunicación inalámbrica, en este caso SimpliciTI de Texas Instruments).
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Datalogger-Contiki
Estudiantes: Germán Ferrari, Juan Pablo García Gutiérrez y Johnny Silvera
Tutor: Leonardo Steinfeld
Resumen: Se estudió y adaptó el sistema operativo ContikiOS (a compilador diferente) para implementar un registrador de datos (funcionalidades similares a las del proyecto Datalogger del año 2009). El usuario configura la cantidad de canales a sensar y el periodo de muestro, los datos son almacenaran en una memoria para ser recuperados más adelante a través del puerto serie. ContikiOS es un sistema operativo basado en protothreads que ocupa muy poca memoria de datos (ya que no usa stack) además de ocupar también poco espacio de memoria de código.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Transmisión de ráfagas
Estudiantes: Santiago Brum y Pablo Castro
Tutor: Leonardo Steinfeld
Resumen: El objetivo del proyecto es recibir de manera inalámbrica (Zigbee) trazas de interés de datos adquiridos por sensores de los nodos remotos. De esta manera se posibilita el análisis off-line de dichas trazas en un PC conectado al nodo central evitando la transmisión de todos los datos adquiridos, con la consecuente reducción del tráfico. Para poder tener consistencia temporal entre las trazas de diferentes nodos, los mismos se mantienen con la hora sincronizada. Se definió la temperatura como señal a adquirir y la condición de interés, que dispara la transmisión de una serie, una variación mayor a cierto umbral.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Beacons
Estudiantes: Milton Bentos y Gabriel Firme
Tutor: Leonardo Steinfeld, Pablo Mazzara
Resumen: Se implementó parcialmente una estación radiocomunicaciones realizándose el software (drivers de sensores y apliación) que corre sobre un microcontrolador e implementa las funciones requeridas: adquirir información sobre los parámetros propios de la transmisión (no implementado aun pero que incluirá: potencia efectiva radiada, tipo y condición de la fuente de alimentación empleada en el momento de la transmisión) y sobre las condiciones climáticas, atmosféricas y geográficas (ubicación dada por GPS) para conformar la trama de datos APRS para su posterior transmisión. Este proyecto se enmarca dentro proyecto de fin de carrera Beacons. Algunos de los sensores necesarios no estuvieron disponibles para su uso en el presente proyecto de fin de curso.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2009
VacaSD
Estudiantes: Luis Ignacio de León Echarri, Cecilia San Román y Gonzalo Sotta
Tutor : Leonardo Steinfeld
Resumen: Se desarrolló un controlador para una tarjeta de memoria SD utilizando un microcontrolador. El mismo recibe datos, realiza las operaciones necesarias sobre la memoria SD para almacenar dichos datos.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
DataLogger
Estudiantes: Ignacio Ferreño, German Fierro y Guzmán Hernández
Tutor: Pablo Mazzara
Resumen: Se implementó un sistema para recolectar datos de varios sensores con tiempos de muestreo diferentes mediante interrupciones, quedando los datos almacenados momentáneamente en la memoria RAM del dispositivo. El número de sensores a utilizar no estará fijo, sino que podrá se configurado por el usuario dentro de ciertos límites, al inicializar el sistema.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
CursorControl
Estudiantes: Martin Lucas, Pablo Steffen y Diego Viganó
Tutor: Leonardo Steinfeld, Pablo Mazzara
Resumen: Se creó un dispositivo que mediante la acción de pulsadores logrará controlar la posición del cursor en la pantalla del PC, utilizando como medio de comunicación entre el PC y el dispositivo una interfaz USB. Se utilizó un microcontrolador con interfaz USB y se implementó utilizando el sistema operativo de tiempo real uC/OS-II.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Localizador
Estudiantes: Damian Lancieri, Mercedes Mato y Jorge Villaverde
Tutor: Leonardo Steinfeld
Resumen: La meta es lograr que tres módulos (basado en microcontrolador y radio 2.4GHz), sean capaces de comunicarse entre sí y logren ubicar a un cuarto módulo. La información que utilizarán es el valor de RSSI/LQI (calidad del enlace) que proveen algunos paquetes de radio integrados.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Rastreador
Estudiantes: Martin Alonzo, Santiago Nogueira y Edgardo Vaz
Tutor: Leonardo Steinfeld
Resumen: Se implementó un sistema (basado en un microcontrolador, GPS y modem GSM), capaz de brindar información, solicitada por el usuario, sobre la posición del vehículo a rastrear. La comunicación entre usuario y dispositivo será de forma inalámbrica mediante intercambio de mensajes SMS.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2008
Monokrom
Estudiantes: Jorge Barboza, Federico Davoine y Gaston Marin
Tutor: Leonardo Steinfeld
Resumen: Se realizó un controlador de un motor de pasos para controlar la posición de un monocromador, dispositivo que permite la salida de luz monocromática a partir de una fuente de luz blanca, perteneciente al Laboratorio de Caracterización
Óptica de Materiales del Instituto de Física. El controlador diseñado, basado en un microcontrolador (ATmega32 de Atmel), permite el manejo del monocromador a partir de un PC o de manera autónoma mediante el uso de botones.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
Domo-IP
Estudiantes: Juan Martín Gonzalez, Pablo Biagioni y Matías Tasano
Tutor: Leonardo Steinfeld
Resumen: Se construyó un módulo inicial, basado en un microcontrolador (ATmega32 de Atmel) y una interfaz Ethernet (ENC28J60 de Microchip), para posibilitar el control del hogar a través de Internet (posteriormente se agregará la interfaz para el manejo de sensores y actuadores). En esta instancia se adaptó un stack TCP/IP y se implementó una aplicación para la obtención de la hora mediante el protocolo SNTP.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
IEEE 802.15.4 Packet Sniffer
Estudiantes: Pedro Moreira y Leonardo Pendás
Tutor: Leonardo Steinfeld, Pablo Mazzara
Resumen: Se implementó una "packet-sniffer” de IEEE 802.15.4 LR-WPAN (low rate-wireless personal area network), para la adquisición de paquetes en forma promiscua y su posterior despliegue en un PC. Se utilizó un módulo TmoteSky que dispone
un microprocesador (MPS430 de Texas Inst.), radio compatible con la norma (CC2420 de TI) y UART para la comunicación con el PC, entre otros.
- Documentación (.pdf)
- Codigo no disponible
Modulo Medidor de Cosumo
Estudiantes: Natalia Botto, Claudia Guastavino e Ismael Schinca
Tutor: Leonardo Steinfeld
Resumen: Este proyecto trata del diseño y la implementación de un dispositivo que permita la recolección de datos de consumo de corriente y de voltaje de algún otro tipo de dispositivo de forma instantánea o a lo largo del tiempo, proporcionando
distintas funciones para el procesamiento de esta información. Para ello fue necesario resolver tanto el hardware como el software de la solución, esto llevó al armado de una placa con todos los componentes y la programación del software que permite
tomar las medidas y realizar los cálculos necesarios.
Para tomar las medidas de corriente se utilizó el integrado Maxim DS2740, el cual es un medidor de coulomb de alta precisión. Este dispositivo utiliza el protocolo de comunicación 1-Wire para
la comunicación con el micro, por lo que fue necesario resolverlo tanto en la implementación del hardware como para el software.
Trabajamos con el microprocesador Atmega32 de Atmel, para la implementación del software se utilizó el entorno de desarrollo
IAR Embedded Workbench. El hardware se diseñó utilizando EAGLE Layout Editor.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
SimCard Sniffer
Estudiantes: Andrés Bergert y Juan Pablo González
Tutores: Julio Perez, Leonardo Steinfeld, Leonardo Etcheverry
Resumen: El proyecto consistió en configurar un microprocesador softcore NIOS II en una plataforma de desarrollo que cuenta con un FPGA de la empresa Altera y programar en él un sniffer de comunicación y otras señales entre un teléfono celular y su tarjeta SIM, así como implementar el envío de estos datos a un PC.
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)
2007
Voyeur
Estudiantes: Juan Curto y Diego Bouvier
Tutor: Leonardo Steinfeld
Resumen:
- Documentación (.pdf)
- Codigo / Documentacion doxygen (.zip)