Skip to content

Estructura Global del PFC

El PFC tendrá la siguiente estructura aproximada (supeditada a los contratiempos e ideas que se nos vayan ocurrando durante el desarrollo del mismo):
  • Tema 1: Descripción del problema a resolver.
  • Tema 2: Estado del arte.
  • Tema 3: Introducción a Arduino.
  • Tema 4: Sistemas de comunicaciones (Redes ZigBee y GPRS)
  • Tema 5: Detección de caídas (acelerómetro).
  • Tema 6: Localización y tracking outdoor (GPS y el botón de pánico).
  • Tema 7: Monitorización de constantes vitales (pletismógrafo).
  • Tema 8: Sistema de monitorización central.
  • Tema 9: Integración de tecnologías para la resolución del problema a resolver.
  • Tema 10: Pruebas experimentales.
  • Anexo 1: Manual de instalación y descarga del software con el IDE de Arduino.
  • Anexo 2: Instalación del software de la centralita de control.
  • Anexo 3: Planificación temporal (Gantt) y estimación de costes.
Estos temas/anexos son simplemente orientativos, pero valdrán para ir separando en temas la documentación que se vaya generando. Según se desenvuelva el proyecto ya iremos desgranando cada tema en subapartados.

Fase 1: Documentación Inicial

Esta primera fase del proyecto estará enfocada a realizar la parte un poco más tediosa del PFC que valdrá como base para los temas 1, 2 y 3 de la memoria.

Continue reading ›

Anexo 1: Instalación del IDE y carga de programas

Instalación del IDE Continue reading ›

Tagged , ,

Tema 1: Descripción del problema a resolver

Actualmente existen microcontroladores montados en placas que posee comunidades detrás en internet, de manera que se pueden obtener soluciones a muchas necesidades, muchas de ellas ya probadas. Si a eso le añadimos un bajo coste en un tamaño pequeño, sencillez de programación y disponibilidad gratuita de los diseños hardware, se tienen todos los ingredientes para realizar cualquier proyecto electrónico personal de baja-media potencia de cálculo. Continue reading ›

Tema 3: Introducción a Arduino [SIN TERMINAR]

¿Qué es Arduino?

Arduino es una plataforma de prototipado de circuitos, de software libre, basada en hardware y software flexible y fácil de usar. Está destinada a cualquiera que esté interesado en crear entonos u objetos iteractivos.

Arduino puede ser usado para desarrollar objetos interactivos, que reciben las entradas de una serie de conmutadores y sensores, y controlan luces, motores y otras salidas físicas. Los proyectos en Arduino pueden ser autónomos, o pueden comunicarse con software ejecutándose en un ordenador. Las placas pueden ser soldadas a mano o compradas ya montadas. El IDE es software libre y puede ser descargado gratis. Continue reading ›

Fase 2: Sistemas de Comunicaciones (ZigBee) + botón de pánico

Existe un shield para Arduino que permite llevar a cabo comunicaciones utilizando el estándar inalámbrico ZigBee. Dicho shield hace uso de los módulos Xbee de Digi (inicialmente eran de Maxstream) (Datasheet, web Digi). Una buena guía de introducción al uso del módulo se encuentra aquí. Continue reading ›

Sistemas de comunicaciones: redes ZigBee

¿Qué es ZigBee?

ZigBee es un estándar de comunicación wireless bidireccional, de bajo precio y muy bajo consumo de energía, basado en el estándar IEEE 802.15.4. Continue reading ›

Tagged

XBee

¿Qué es XBee?

XBee es un módulo de radiofrecuencia fabricado por Digi International que implementa el estándar ZigBee. Continue reading ›

Tagged

Actualización del firmware del módulo XBee

Hay que comprobar la versión del firmware de los módulos (tanto cliente como servidor), cuyo modelo es el XBee-PRO ZB RF. Para ello haremos lo siguiente: Continue reading ›

Tagged , ,

Pruebas de comunicación: ZigBee-ZigBee

En esta prueba se transmitirá información de XBee a XBee y se leerán los datos en el X-CTU mediante la pestaña “Terminal”. Continue reading ›

Tagged

Pruebas de comunicación: Transmisión periódica

En esta prueba se transmitirá periódicamente un carácter desde un arduino. La respuesta la leeremos mediante el X-CTU. Continue reading ›

Tagged

Pruebas de comunicación: pulsador

En esta prueba se comprobará la respuesta a un pulsador. Se programará el arduino para que cuando le llegue un determinado carácter, el LED integrado conmute. El emisor será el módulo XBee conectado al X-CTU, utilizando la terminal intergrada. Continue reading ›

Tagged

Conclusión sobre ZigBee

Tras comprobar la simplicidad de ZigBee para transmitir datos y su bajo consumo, es positivo incluirlo en el proyecto, ya que permitiría funcionalidades como: Continue reading ›

Tagged ,

Fase 3: Detección de caídas, acelerómetro Memsic 2125

Uno de los mayores peligros a los que se ven sometidas las personas dependientes (ancianos, minusválidos) son las caídas. Dichas caídas pueden dar lugar a fracturas y limitaciones de movilidad que en casos extremos llegan a causar la muerte por derrames internos o inanición. Debido a esto, es deseable monitorizar la incidencias motrices por medio de un sensor que permita determinar cuándo se produc Continue reading ›

Tagged

Acelerómetro Memsic 2125

Con el fin de poder detectar caídas del usuario, el sistema llevará un acelerómetro encargado de medir la aceleración en distintos ejes. Continue reading ›

Tagged ,

Pruebas de acelerómetro: verificación del funcionamiento

Para verificar el funcionamiento se conectará el acelerómetro Memsic 2125 al arduino, y este transmitirá por puerto serie las lecturas al ordenador. En el ordenador se ejecutará un programa escrito en Processing que mostrará la salida. Continue reading ›

Tagged , ,

Preparación de la caja de pruebas de impacto

Tras comprobar que el Memsic 2125 funciona correctamente y que es posible su utilización con el arduino, es momento de preparar una caja acolchada para las siguientes pruebas. Así mismo hay que preparar la circuitería en la que irá conectado el acelerómetro. Continue reading ›

Documentación del shield creado

Se ha creado un shield personalizado que proporciona varias funcionalidades necesarias:  soporte y lectura del acelerómetro, interfaz para poder dormir/despertar el XBee y proporcionar un punto de conexión de la alimentación externa. Como añadido  a cualquier shield, dispone también de un botón de reset, ya que el del propio arduino queda fuera del alcance al conectar un shield. Continue reading ›

Tagged , ,

Exportar esquemas de Fritzing a SVG

La versión de Fritzing que utilizo (0.4.3) no exporta bien a SVG. La solución es exportar a PDF e importar este último documento en Inkscape.

    En el Inkscape (o herramienta favorita de edición vectorial) se desagrupan los objetos y ya se puede trabajar de manera normal.

    Sobre el consumo de batería del Arduino

    ¿Cuánto dura el arduino sin cambiar/recargar la batería?

    El ATmega168 consume 9.5mA a 5V y 16Mhz. Utilizando mi batería de 9V recargable de 200 mA, debería durar unas 21 horas. Continue reading ›

    Lectura del Memsic 2125 mediante interrupciones

    Una gran mejora es leer las señales del Memsic 2125 sin realizar una espera activa en la lectura, es decir, sin utilizar pulseIn() ya que éste realiza la lectura mediante un bucle y mantiene el procesador al 100% de trabajo. Continue reading ›

    Tagged , ,

    Determinación de umbrales de caída

    Para determinar el umbral de caída hay que tener en cuenta las siguientes cuestiones: Continue reading ›

    Software

    Arduino y visualizador: Continue reading ›

    Tagged , , , , , ,

    Funcionamiento detallado del Memsic 2125

    La manera de funcionar del Memsic 2125 al principio parece un poco rara. A la hora de comprender el funcionamiento puede darse el caso de que parezca que “algo no encaja” al mezclar mediciones que involucran aceleración estática y aceleración dinámica. Veamos un ejemplo: Continue reading ›

    Actualización de software

    El código de arduino y el del visualizador se han actualizado para poder modificar variables de los algoritmos sin tener que estar montando y desmontando la caja de colisiones, el arduino, etc,… cada vez que se quieren probar los algoritmos modificando las variables. Continue reading ›

    Tagged

    Algoritmos de detección de caídas

    Tras el análisis del funcionamiento detallado del Memsic 2125, se analizan posibles algoritmos. Continue reading ›

    Tagged ,

    Prueba de algoritmos

    Algoritmo 1

    Se ha procedido a evaluar diferentes situaciones. Como primeras pruebas, el parámetro de colisión se ha configurado a 2gs (valor 38). Continue reading ›

    Fase 4: Localización en exteriores (GPS)

    La tecnología GPS (Global Positioning System) permite determinar en exteriores la posición de un elemento en la superficie de la tierra. Continue reading ›

    Tagged

    Funcionamiento del GPS

    Para incluir la funcionalidad del GPS en el dispositivo se utilizará el módulo GPS de Libelium que posee el circutio integrado A1037-A: Continue reading ›

    Tagged , ,

    Probando el GPS

    El montaje con el módulo GPS es el siguiente: Continue reading ›

    Actualización del protocolo para el GPS

    Para que el visualizador pueda mostrar información del GPS hay que actualizar el protocolo de comunicación entre el arduino y el visualizador. Para Continue reading ›

    Tagged , ,

    Modificando la librería GPS de Libelium (original de D.Cuartielles)

    Por cuestiones de limitaciones de memoria, ya que el arduino Duemilanove con el ATmega168 sólo posee 1KB de memoria RAM, ha sido necesario modificar la librería GPS , editando los ficheros LB_GPS.h y LB_GPS.cpp. Continue reading ›

    Tagged

    Utilizando el GPS

    Se ha actualizado el software. Continue reading ›

    Tagged , ,

    Tema 7: Monitorización de constantes vitales (pletismógrafo)

    Un pletismógrafo es un dispositivo utilizado para medir el volumen de órganos animales. Dichos cambios de volumen se detectan en base a fluctuaciones de líquidos o gases, generalmente aire o sangre. Debido a que los pletismógrafos permiten controlar el bombeo de sangre, es posible monitorizar el pulso en personas dependientes. Continue reading ›

    Lectura exacta de pulso PWM

    O al menos lo más exacta posible. Continue reading ›

    Tagged , , ,

    Configuración de lectura

    Tras realizar muchas pruebas en la placa de prototipos, las especificaciones concretas para conseguir la lectura del pulso son las siguientes: Continue reading ›

    Lectura asíncrona del pletismógrafo

    La lectura del pletismógrafo se realizará a una frecuencia fija de 30Hz (aunque se podría a 50 Hz, 100Hz o más) utilizando el modo de bajo ruido de lectura analógica del arduino, para lo que será necesario dormirlo. Continue reading ›

    Tagged , , , ,

    Algoritmo de medida de pulsaciones

    Para medir las pulsaciones primero se desarrolla un método para detectar cada pulsación. Para calcular las pulsaciones en un minuto y obtener una medida rápido, una opción es leer durante 7,5 segundos y multiplicar por 8, o leer durante 15 segundos y multiplicar por 4. En nuestro caso se utilizan las lecturas durante 7,5 segundos. Continue reading ›

    Tagged

    Actualización de la librería GPS

    Se ha actualizado la librería GPS de D. Cuartielles para que todas las cadenas de texto internas se definan en espacio de código mediante PROGMEM y así disminuir la huella en RAM.

    Descargar del apartado de software.

    Tagged ,