Skip to content

{ Author Archives }

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). […]

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.

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

Instalación del IDE

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 […]

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 […]

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í.

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.

Tagged

XBee

¿Qué es XBee? XBee es un módulo de radiofrecuencia fabricado por Digi International que implementa el estándar ZigBee.

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:

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”.

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.

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.

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:

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 […]

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.

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.

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.

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 […]

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.

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.

Tagged , ,

Determinación de umbrales de caída

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

Software

Arduino y visualizador:

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:

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.

Tagged

Algoritmos de detección de caídas

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

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).

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.

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:

Tagged , ,

Probando el GPS

El montaje con el módulo GPS es el siguiente:

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

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.

Tagged

Utilizando el GPS

Se ha actualizado el software.

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.

Lectura exacta de pulso PWM

O al menos lo más exacta posible.

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:

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.

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.

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 ,