Los números de 2012


Los duendes de las estadísticas de WordPress.com prepararon un informe sobre el año 2012 de este blog.

Aquí hay un extracto:

19,000 people fit into the new Barclays Center to see Jay-Z perform. This blog was viewed about 100.000 times in 2012. If it were a concert at the Barclays Center, it would take about 5 sold-out performances for that many people to see it.

Haz click para ver el reporte completo.

Anuncio publicitario

Pistas para reparar un epad


Este video es para ayudar a restaurar el dispositivo cuando ya no se puede conectar al PC a la tableta o simplemente en tu tableta no se ve nada pero el led de encendido esta en verde. Este procedimiento requiere que usted abra el dispositivo, así que tenga mucho cuidado. Hay varios videos por ahí sobre cómo abrir varios dispositivos (youtube es el mejor sitio donde buscar). Dependiendo de su tableta habra una forma de abrirla (youtube es una vez más una fuente de informacion). Para el epad, este es elmetodo para abrirlo (recuerda siempre extraer la microsd de la tableta)


Se entiende que tampoco pude recuperar el dispositivo pues no responde a la combinación de botón de encendido y menú ( normalmente volumen- o el botón central del cuadradito).
Atención :antes de hacer este procedimiento aconsejo comprobar las conexiones del panel lcd a la placa madre tal  y como se muestra en este vídeo:

Y este es el procedimiento para acceder a la tableta cuando todo lo demás no nos ha funcionado

Migrar un blog de wordpress a blogger


¿Alguna vez has querido mover los blogs de WordPress a Blogger? Pues la aplicacion que se ejecutara en la nube de Google App Engine te lo va a poner muy facil 




 Instrucciones paso a paso

 1-Accede a tu cuenta WordPress y vaya al cuadro de instrumentos para el blog que te gustaría transferir a Blogger.
 2-Haga clic en la ficha Administrar debajo del nombre del blog.
 3-Haga clic en el enlace de exportación por debajo de la ficha Administrar.
 4-Descargue el archivo de WordPress WXR exportación, haga clic en Exportar archivo de descarga.Guardar este archivo en su máquina local.Comprobar que el fichero exportado no supera 1MB (si fuese asi exportar por rango de fechas hasta cubrir todo el blog)
 5-Vaya a http://wordpress2blogger.appspot.com/
 6-Vaya a ese documento guardado pinchando en el formulario y haga clic en Convertir.
 7-Guardar este archivo en su máquina local. Este archivo será el contenido de sus mensajes / comentarios de WordPress en un archivo de exportación de Blogger.
8-Accede a tu Blogger o crear una cuenta nueva.
9-Una vez conectado, haga clic en el enlace Crear un blog desde el panel de usuario y, a continuación, haga clic en la herramienta Importar Blog
 10-Siga las instrucciones y cargar el archivo de exportación de Blogger cuando se le solicite.
 11-Después de completar el asistente de importación, debe tener un conjunto de mensajes importados de WordPress que ahora puede publicar en Blogger.

 NOTA MUY IPORTANTE : La aplicación alojada en Google sólo permitirá descargas más pequeñas que 1 MB. Para obtener información sobre cómo ejecutar esta conversión por su cuenta, visite el proyecto de código abierto alojado en code.google.com

Liberar memoria con Android


En este articulo  nos vamos a dedicar a la técnica que consiste en mover aplicaciones desde  /data/app   hacia  /system/ app , ganando así memoria para descargar otras aplicaciones.

El procedimiento es fácil y vas a recuperar la misma memoria que ocupa la aplicación que muevas ( el tamaño del archivo .apk )
Para este procedimiento también necesitas acceso ROOT y un explorador de archivos como el Root Explorer
En foros se  recomienda eliminar aplicaciones de sistema en desuso ( previo resguardo ) que se encuentran dentro de   /system /app
Borrar específicamente en esa carpeta no  te hace ganar memoria de usuario pero, como también tiene un límite, es mejor obtener todo el espacio disponible que se pueda porque ahora lo vamos a utilizar…

Lo que tienés que saber:

  • Una aplicación que trabaje desde /system /app se comportará igual que si trabajara desde /data/ app . No se hará mas lenta nitiene porque fallar, solo será vista porAndroid como aplicación de sistema.
  • Ok,que implica esto? Que ya no la vas a poder desinstalar por los medios normales y además si en algún momento la actualizas desde el Market, nuevamente volverá a consumirte la memoria que liberaste ( ymás también como veremos ).
  •  Esto es porque el Market instala las aplicaciones en /data/ app
    Si en algún momento necesitas eliminar una aplicación que bajaste a /system/ app según este procedimiento, lo que tenés que hacer es eliminar el archivo .apk asociado y su área de trabajo en /data/ dalvik-cache/[email protected] @(nombre_aplicación )[email protected] classes.dex
    Este nombre para el área de trabajo puede parecer complicado pero solo reemplazas
    (nombre_aplicación) por la que estés buscando.
  • Las aplicaciones “ideales” o convenientes para instalar en /system/ app son las mas
    pesadas, en general mas de 2Mb y mucho mejor si seleccionas aplicaciones de 5 u 8
    Mb. Cualquier aplicación que te hallas bajado desde el Market y principalmente,
    las no actualizables que instalaste por tu cuenta. Mientras mas “pesada” mejor.
  • Algo a recordar, si moves las aplicaciones descargadas desde el Market , vas a tener
    el trabajo adicional de volver a instalarlas en /system/ app una vez actualizadas para
    volver a recuperar memoria o sea, vos la  sacaste de /data/ app para ganar espacio y
    el Market la vuelve a colocar ahí.
    La técnica:
    Es sencilla. Solo 3 pasos:
    1 – Mover la aplicación que nos interese desde /data/ app a /system
    2 – Verificar permisos. Cambiarlos si es necesario
    3 – Mover la aplicación a /system/ app  La razón por la cual movemos primero a /
    system
    y no directamente a /system/ app es que Android aunque la instale, no la va a
    actualizar en nuestra lista de aplicaciones hasta el próximo inicio.
  •  En un caso así deberías reiniciar tu telefono r para que aparezca. Evitamos este tiempo moviendo a /system , cambiando los permisos si corresponde y luego moviendo e instalado donde va, en /system/ app
  • Este método a pesar de ser sencillo lo dejé  para el final porque ahora utilizamos
    espacio en /system/ app que en los post  anteriores liberamos al desinstalar
    aplicaciones de sistema que no nos interesa.

    Vamos con un ejemplo:
    Aplicación candidata Maps4.0.0- brut, ElGoogle Maps con Navegador GPS.
    Tamaño a liberar 2.7 Mb aproximadamente( el mismo del archivo .apk ). Además no está en el Market, si tenés esta versión es que la bajaste por tu cuenta. Es una aplicación que en cualquier situación hay que actualizar “a mano” reinstalando una versión nueva encima.

    1 – Entramos a Root Explorer y pulsamos el botón “Mount R/W” La etiqueta cambiará a “Mount R/O” asignando de esta forma derechos de lectura y escritura sobre cualquier carpeta o archivo del teléfono. esto nos permitirá mover las aplicaciones hacia áreas restringidas ( /system/ app )
    2 – Vas a la carpeta /data/ app con Root Explorer, ubicas el archivo brut.googlemaps.apk y lo moves a /system
    3 – Ya en /system verificas los permisos del archivo. Deben ser “ rw – r – – r – -” según lo que ves en la línea informativa debajo del nombre de la aplicación.
    El significado de estos permisos son los mismos que en Linux y es: read/write para Usuario y read para Grupo y Otros. De esta manera deben estar los permisos de una aplicación antes de su instalación en / system/app . Para cambiar los permisos por si no estuvieran así, hacemos un tap  largo sobre el nombre de la aplicación y seleccionamos “ Permissions ” en el menú desplegable que aparece. Una vez dentro marcamos las tildes que correspondan, Read y Write en la linea User y dejamos solo Read para Group y Others. Damos “OK”
    4 – Movés ahora brut.googlemaps.apk hacia /system/ app Si todo salió bien, deberías ver “Maps – brut” en la lista de aplicaciones. En el raro caso que no fuera así, se actualizará en
    cuanto reinicies el teléfono.
    Qué pasa con el área de trabajo? Y que pasa con las áreas de trabajo que ya sabemos están en /data/ dalvik-cache ?
    Se actualizan solas. Android elimina el área en /data/ dalvik-cache/ data @app… y crea una nueva en /data/ dalvik-cache/ system @app… Debería quedarte una sola sino NO recuperas memoria. Una va a estar siempre de mas ( la data @app en este caso ) si ves un caso así puede que halla sufrido una actualización.

    Fuente:http://www.topsony.com/forum_es/tutoriales-android-f210/liberar-memoria-en-android-t138596.html

    Circuitos de Iluminación


    Mini flash espectroscópico de bolsillo

    Este circuito constituye  un flash storoscope que usted puede hacer tan  pequeño que puede caber dentro de su bolsillo. El circuito no consume mucha energia,ya que se alimenta  de dos baterías pequeñas de 1.5V que dan una autonomia de una hora funcioando de modo constante y la tasa máxima del destello. La tasa del destello es variable de cero hast aproximadamente 10 destellos. LLéveselo  con usted en fiestas y sera el centro de atención!.

    Principios del funcionamiento de un luz de flash

    Una luz de flah se produce al pasar por un gas un pulso breve, intenso de corriente eléctrica , lo cual luego emite un despliegue violento brillante de luz.
    El gas es usualmente un gas inerte ( xenón o criptón),el cual emite relativamente una luz blanca   cuando están atrapados por los electrones en movimiento en la corriente eléctrica. Gracias a que el criptón y los átomos del xenón tienen una gran cantidad de electrones y sus estructuras electrónicas son muy complicadas, emiten sobre un rango generoso de longitudes de onda. Así la luz estroboscópica emite un blanco enriquecedor mientras la corriente está de paso a través del gas. Suministrar la corriente enorme necesitada para mantener el arco conciso en el gas de la luz estroboscópica ha terminado con la ayuda de un condensador (usualmente para el rango del 200-600V). Usted a menudo puede oír un sonido sonar como este suministro de fuerza hace su trabajo.  Sin embargo, la corriente no puede atravesar el gas en la lámpara de flash hasta que algunas cargas eléctricas sean inyectadas en el gas. Estas cargas iniciales son usualmente producidos por un pulso de alto voltaje ejercidos para un hilo que se enrolla en la lámpara de flash opor medio del reflector de metal cercano  de la lámpara de flash. Una cascada de colisiones rápidamente conduce a un arco violento de partículas fluyendo a través del lámpara de flash y chocando con los átomos del gas. La lámpara de flash emite un despliegue violento brillante que termina sólo cuando las cargas eléctricas separadas del condensador y energía almacenada se agotan.

    El circuito

    El principio de funcionamiento: Q1, R1, T1 y D1 forman un convertidor DC-DC para convertir el voltaje del + 3V de baterías a + 200..+El voltaje del 500V cargan el condensador principal del destello C1.La resistencia R4 y el potenciómetro P1 forman un divisor de voltaje y C2 se varía de ese voltaje a traves de R3. Cuando C2 carga hasta un voltaje del 70V, la bombilla de neón N1 en el circuito comienza a dirigir y provocar al triac Q2. El Thyristor causara la  descarga de C2 a través de transformador del gatillo T2, lo cual genere un alto voltaje corto (2..4 kV) el pulso que provoca el instante el tubo X1. Luego el condensador principal del destello C1 descarga a través de tubo del destello y el tubo genera un destello brillante. Nuevamente la   carga de C1 comenzara de nuevo.
    ATENCION:El alto voltaje de unidad del destello de la cámara puede causar una sacudida grave y posiblemente fatal. El condensador de almacenamiento de energía puede retener alto voltaje peligroso después incluso de haver dejado de alimentar el circuito Los transformadores (T1 y T2), el tubo del destello (X1), la bombilla de neón (N1) y el circuito impreso estaban en la unidad original del destello. Casi todas otras partes se han variado.

    Como conseguir los  componentes

    Componente T1, T2, D1, X1 y N1 fueron tomados de unidad vieja del destello de la cámara. Allí es nada especial en otros componentes y ellos debería ampliamente estar disponible. Usted puede substituir a Q2 con cualquier thyristor o triac adecuado que puede resistir 400V y pocos amperios. También puede usar cualquier transistor adecuado (> 2A y voltaje > 40V evaluando) de poder como Q1 si usted cambia el valor de R1 para más fot adecuado de valor que el transistor. De cualquier manera puede probar otros valores para (100 para 2000 ohmes) afinar el circuito para operar mejor con el transformador que usted usa como T1 y el transistor que usted usa como Q1. El destello del xenón tubo X1 debería dedicarse al rango de voltaje del 200-400V y el gatillo en 4 que el voltaje provocante kV generó por T2.

    Notas constructivas

    Si usted construye este circuito recuerde que el voltaje en el circuito puede alcanzar niveles peligrosos. No toque ninguna  parte bajo tensión cuando el circuito este funcionando.

    El circuito debería ser colocado en el interior de  una caja aislante . Debería haber una «ventana» plástica transparente delante del tubo del destello. Todas las partes deberían ser adecuadamente aisladas en el panel de circuito y la placa debería estar adecuadamente aislada. Si usted usa esto en fiestas, entonces seria aconsejable  algún nivel de protección ante vertido accidental de líquidos o sacudidas mecánicas .

    Lista de componentes

    D1  1N4007
    Q1  TIP 41A
    Q2  MAC 216-4
    T1  Switcher transformer taken from pocket camera flash unit
    T2  Xenon flash tube trigger transformer
    R1  500 ohm
    R2  500 ohm
    R3  4.7 Mohm
    R4  220 kohm
    P1  1 Mohm potentiometer (lin)
    C1  470 nF 400V
    C2  22 nF 200V
    X1  xenon flash tube taken from pocket camera
    N1  Small neon bulb (60V)

    NOTA: Usted necesita un circuito pequeño del estroboscopio parecido a uno que he usado en el proyecto crear este circuito. Hay muchos componentes necesarios (T1, X1) que usted puede comprar de una tienda componente. La única forma para obtener esos componentes debe tomar ellos de la unidad del destello de la cámara. El NOTE2: He usado a MAC216-4 TRIAC (Q2) en el circuito provocante (podría deber duramente llegar hoy día, yo no sé que una buena fuente para esos el ceuse el lugar que compré esos está ya no del negocio). Básicamente este circuito también operaría bastante bien con thyristor simplista, pero usé a TRIAC en este circuito porque tuve partes de esos cuando construí el circuito pero yo no tuve cualquier thyristors adecuados en casa. Teóricamente usted debería poder traer el circuito a operar con un thyristor igualmente. Justamente recogí MAC216-4 porque acerté a tener pocos de esos luying de alrededor de cuando yo el buitl el circuito. El MAC216-4 es evaluado para 200V, 6A y eso es Igt está menos de 50 miliamperio. Usted puede tratar de reemplazar con casi cualquier triac o thyristor con lentes similares. Un libro del comparision que tengo recomienda los siguientes tipos como las reposiciones adecuadas: SC141B, T281B, BTA20C, TXC10K40M (no tengo idea donde para traer esos ya sea). Podría ser una buena idea seleccionar un thyristor que puede resistir 400V o que se repita, que no deja de operar si allí es más problemático en el circuito provocante.

     

    Resumen de características

    • Resuma descripción de operación: Brillando intermitente mente con poco equipaje en la velocidad regulable
    • La protección del circuito: Ninguno de los circuitos de protección especiales usados
    • La complejidad del circuito: Pocas modificaciones para un circuito existente
    • El desempeño del circuito: Trabaja bastante bien L
    • a disponibilidad de componentes: El problema es encontrar una unidad de flas de la cámara del suitalble tomar componentes
    •  El diseño experimentando: La unidad del destello del original fue modificada que surtió efecto como quiero
    • Las aplicaciones: Gane firmes adentro festeja, el estroboscopio muy pequeño de escala experimenta
    • El suministro de fuerza: Dos Alcohólicos Anónimos del 1.5V dimensionan baterías
    • Estimé costo componente: Unidad de filas de la cámara de pocos dólares de + edad
    •  Las consideraciones de seguridad: El peligro de golpe de corriente, el condensador principal tiene cargo del 500V y el pulso del gatillo es 4 kV, deberían ser creados para un caso adecuadamente aislante

     

    Flash estraboscopico a 12V

    Usualmente muchos circuito del estraboscopios operan directamente de voltaje dela red, pero este circuito usa CORRIENTE DIRECTA del 12V CORRIENTE ALTERNA  Ésta es idea muy buena si usted no quiere travesear voltaje directo de 220v al circuito o usted quiere utilizar el flash  estroboscopio a baterías. El circuito tiene algunas funciones especiales comparadas para otros circuitos del estroboscopio encontrados en los libros de electrónica.
    Primero lo que hay un interruptor para seleccionar el poder del destello: Con C3 usted puede obtener  tasas muy altas del destello de vacio(sobre 50 Hz), C2 es más adecuado para la operación normal y cuando se utiliza C1  brilla intermitente mente.. El flash espectroscopio brillará intermitente mente cuando un pulso adecuado de voltaje es aplicado a a la entrada de disparo. Esta fuente del disparo puede ser una fuente de frecuencia de pequeña variable osciladora, de música o una controladora especial del strobo

    Como trabaja el circuito

    El tubo del estoboscopio necesita acerca de CORRIENTE DIRECTA del 250-400V para funcionar. Este alto voltaje es generado usando  simplemente el voltaje de 12 voltios AC excitando  a los  transistores Q1, Q2 y alimentando al  transformador T1. Este transformador  suministra a su salida  CORRIENTE ALTERNA del 230V que es entonces rectificada con el puente U1 (debe tener ser de como mínimo del 400V ) y se almacena en el condensador principal C1.
    El resto del circuito pude tomarse de una unidad viejo flash de cámara en desuso(La lampara , el condensador y los dos transformadores). En cuanto al triac cualquier triac que pueda manejar  al menos 1A y 400V debería hacer el trabajo adecuadamente.

    ATENCION ! El condensador de almacenamiento de energía puede retener alta tensión muy peligrosa después incluso de apagar el circuito!

    Que es la energía disponible de  flash

    Los condensadores son cargados de forma creciente hasta alcanzar 350V, así es que los condensadores diferentes se dimensionan en función de  las siguientes potencias nominales:

      Cond. Energia       Flash Max.    velocidad Max. energia lampara
    C1         9 Ws               2 Hz          20 W
    C2         0.3 Ws             40 Hz         12 W
    C3         0.06 Ws            80 Hz          5 W

    Advertencias!

    Lea las siguientes advertencias cuidadosamente antes de aun de pensar ern construir este circuito:

    • Cuando el circuito funciona hay  voltajes muy  altos en el circuito
    • No toque en cualquier caso el circuito cuando este alimentado.
    • La carga del condensador principal le puede dar choque eléctrico muy alto y puede ser incluso capaz de provocar una parada cardíaca. Pueden incluso su   alto voltaje durante mucho tiempo después de que ustedes hayan desconectado el circuito porque que no hay reostatos de descarga (usted puede agregar su propio si usted desea, justamente conecte reostatos del 1Mohm paralelamente con C1, C2 y C3).
    •  Asegúrese que usted tiene algún escudo del plástico (el plástico transparente) delante del tubo del destello todo el tiempo. Si la potencia nominal del tubo del destello es excedida o el tubo del destello está dañado, entonces el tubo del destello puede abrirse a presión. Un escudo plástico delante del tubo del destello hará seguro que los pedazos voladores del tubo no dañen a  alguien cercano.
    • Porque el condensador se carga más energéticamente que en la unidad original del destello y este alimenta alel tubo del destello ,este podría obtener más poder común que en al disposición original . Es posible que el tubo del destello puede sobrecalentarse por esto.
    • No conecte el suministro de fuerza de adentro por la vía equivocada porque esto puede dañar los transistores de poder y / o el transformador T1
    • . Podría ser una buena idea añadir un diodo para la entrada de energía para hacer seguro que usted no alimente la vía equivocada para el circuito.
    •  No mire directamente hacia el tubo del destello en las cortas distancias.
    • Los destellos generados por este circuito son muy brillantes (mas brillantes que el destello original de la cámara en el modo alto de poder). Esos destellos momentáneamente le pueden cegar si usted esta demasiado cercano del circuito.

    Lista de componentes

    R1 1.2 kohm 1/2W
    R3 120 ohm 2W R4 10 kohm
    R4 10KIM 1/2w
    C1 100 A 150mF 400V(reciclado de una viejo flash perteneciente a una cámara)
    C2 4.7 uF 400V
    C3 1 uF 400V CZ
    Q1,Q2 transistor de potencia NPN
    Q3 TRIAC MAC216-4
    F1 Flash de Xenon (reciclado de una viejo flash perteneciente a una camara)
    T1 T1 transformador de 220V a 2x9V de al menos una potencia de 10W
    T2 transformador de desparo para flash (reciclado de una viejo flash perteneciente a una camara)
    T3 THYRISTOR
    u1 Rectificador 1A 400V (puede construirse con 4 diodos 1N4007 )
    S1 Interruptor de al menos 2A 400V.

    Resumen de características del circuito

    •  Brillo intermitentemente a velocidad regulable, necesita señal externa de disparo
    •  La protección del circuito: No se usa ningun circuito de protección especial
    • La complejidad del circuito: El convertidor  DC/AC es muy simple y se parte de una unidad modificada procedente de una cámara en desuso
    • El comportamiento del circuito: Trabaja bastante bien
    • La disponibilidad de componentes: El problema es encontrar una unidad adecuada de flash procedente de una cámara en desuso
    •  Las aplicaciones: El estroboscopio efectúa un  destello rápido de carga para cámara
    • El suministro de energía: El suministro de energía es de 1A de CORRIENTE DIRECTA del 12V
    •  Las notas especiales: El tubo del destello del estroboscopio se sobrecalentará si se usa durante largos periodos de tiempo
    •  Las consideraciones de seguridad: El peligro de shock es doble, el condensador principal tiene una  carga del 500V y el pulso del disparo es de 4 kV, los condensadores conservan carga mucho tiempo después de que el circuito se haya cerrado, el circuito debería construirse con una protección adecuadamente aislante

     

     

    Consola analógica de control  de luz

    Este circuito devuelve señales de control del 0-10V estándar adecuadas para controladores ligeros profesionales de luz y otros equipos de alumbrado.

    La salida del controlador será un voltaje estable de CORRIENTE DIRECTA variando entre 0 y 10V. El 0V representa apagado y 10V sera el máximo en adelante. Los controladores pasivos, con salidas no moderadas, usarán potenciómetros con un valor de resistencia de ohmios del orden de 10K o menos. Este circuito usa resistencias de  1 kohm para el buen desempeño y una impedancia baja de salida. Es recomendable que los controladores y los dispositivos de salida tengan  limitada la corriente que proporciona en  todo sus alidas algo semejante ya que no pueden resultar dañados por cortos circuitos debido a tener señales  comunes. La señal de control y todo los elementos del conector de control estarán apartados de lineas de CORRIENTE ALTERNA (la línea y la de  neutro). Es importante que la señal de control esté apantallada con tierra . La protección de corto circuito en este circuito es provista en el caso cuando el suministro de fuerza haya sobrepasado el  limite de  capacidad de la corriente de salida del LM317. Las señales de control están con creces aisladas en este diseño. ESTA E1.3, Entertainment Technology – Iluminando Sistema de Control – 0 para 10V Analog Control Emite El Protocolo, Draft 9 junio de 1997 (CP/97-1003r1) describe también que los controladores y los dispositivos de salida serán provistos de un diodo bloqueador (o un circuito similar) algo semejante a que cada salida presenta un circuito abierto a cualquier voltaje de la fuente de más que sí mismo. Los diodos bloqueadores dan salidas o controladores múltiples permiso de ser monitoreareado por  los mismos apagadores o los aparatos receptores en una «precedencia más alta de tomas» base.

    Diagrama del circuito

    Este diagrama del circuito de control es muy sencillo. Justamente consta de regulador de voltaje (LM317 y R1) y los potenciómetros. El regulador reparte el voltaje regulado del + 10V y los potenciómetros ajustan los voltajes de salida.

    El voltaje que proporciona el regulador necesita ser ajustado para obtener exactamente el voltaje de salida del 10V. El voltaje de salida se ajustara girando R1 y cotejando el voltaje de salida con un multimetro. El voltaje regulable del LM317, nos permitiría  ajustar a otro estándar de voltaje de control (esas son muy raras pero existen en algunas aplicaciones). El regulador IC no necesita ningún disipador de calor especial  porque la corriente de salida es realmente pequeña (alrededor de 40 + corriente de miliamperio tomada de las salidas).

    lista de componentes

    IC1    LM317
    R1     1 kohm trimmer
    R2-R5  1 kohm LIN potenciometro

     

    Alimentación del  circuito

    Usted puede alimentar este circuito muy fácilmente con un alimentador 12V wallwart pequeño. El circuito necesita menos de 100 corriente de miliamperios así es que un wallwart pequeño hará bastante bien. En algunos casos el equipo que usted controla le puede abastecer el voltaje operativo.

    Conector de salida

    Usted puede usar prácticamente cualquier tipo de conector para la salida del circuito. Un ejemplo adecuado de conector es emplear un conector DIN  Pentapolar con  la siguiente distribución:

    Pin 1 = Canal 4 salida
    Pin 2 = masa (conectada al chasis )
    Pin 3 = Canal 1 salida
    Pin 4 = Canal 3 salida
    Pin 5 = Canal 2 salida

    Diodos blequeadoes a las salidas

    Si usted quiere igualar este circuito con algunos controladores  existentes, entonces usted necesita añadir los diodos bloqueadores para las salidas del circuito. Usted puede usar por ejemplo 1N4184 o casi cualquier otro diodo general de propósito para esto. Usted necesita añadir un diodo en  serie con cada salida.  A causa de de que en  los diodos causan una pequeña caida de tensión(0.7v)  debería necesitar ajustar el voltaje del regulador arriba de un tanto a fin de que usted realmente obtenga 0V de la salida cuando los dispositivos deslizantes están colocados para dar amplitud máxima.

    La lista componente para la versión modificada:

    IC1    LM317
    R1     1 kohm trimmer
    R2-R5  1 kohm LINr potentiometro
    D1-D4  1N4148 diodo

     

    Notas:

    •  Los potenciómetros lineales de 1kohm deslizante parecen ser dificiles de conseguir. Si usted no los puede conseguir, entonces usted puede probar algunos valores de resistencia algo mayores. Los valores para alrededor de 10 kohm deberían trabajan adecuadamente
      Botones de flash por canal: Si usted quiere momentáneamente encender un canal breve mente sin mover el pontenciómetro mismo, entonces usted puede construir un botón de flash para cualquier canal añadiendo un diodo (1n4148)y un interruptor para el circuito.
      Mas canales de salida:Usted puede añadir más canales de salida justamente conectando más potenciómetros iguale con el potenciómetros existente P2..P5. Porque más potenciómetros toman más energía del regulador debería añadir un disipador de calor para el regulador. Con un disipador de calor el regulador fácilmente maniobrará canales del 10-20 sin cualquier problemas.
      Protección contra inversión de polaridad:Si usted piensa que es probable que accidentalmente pueda alimentar de forma equivocada el circuito (y tan posiblemente  dañe el LM317 IC) es una buena idea añadir diodos de protección para una eventual  incorrecta inversión  de polaridad. La protección puede agregarse fácilmente añadiendo un diodo  1N4007 por ejemplo en serie con la entrada de energiar.
    • Protección contra cortocircuitos:Si usted quiere estar seguro que las salidas del circuito no se puedan dañarse en cualquier caso de corto circuito entonces éste puede conectar una resistencia de 470ohm (1/2W) en  serie con cada salida. Esta resistencia siempre delimitará el corto circuito coetáneo hasta un valor seguro.
    • Sistema de dos preseleciones:La mayoría de controladores manuales comerciales tienen dos escenas: Uno para lo que usted esté presentándose escenifica ahora mismo y otro para establecer lo que usted va a engañar después, con un crossfader en medio. Esto es usualmente suficiente para casi todas las aplicaciones con número pequeño de canales más oscuros (los apagadores 4-6) y no haya necesidad de  más  dos escenas. Usted puede construir un básico manual sistema de dos escenas de preprogramado expandiendo el diseño. Primero usted construye dos de estos  circuitos del escritorio de 4 canales descrito conectando los diodos de salida para ellos y unidendo en paralelo ambas salidas salidas en paralelo.
    
    

    APP Android para saber el estado de los sensores de tu tablet o smartphone


    Si le gusta saber todo lo posible de los sensores que incluye  tu smarphone o tablet , incluyendo el estado actual de los sensores  existe una aplicación gratuita  en  Google Play  Store que  nos puede ayudar: My Android Sensors.
    Esta app  ,que esta  en ingles   ,nos da una lectura de los sensores del terminal. Entre la información que nos aporta  destaca :

    • El nombre de sensor,
    • El  Proveedor del sensor,
    •  El Tipo de sensor 
    •  La Potencia 
    •  La Lectura actual.

     Además  incluye  una descripción de cada tipo de sensor, exponiendo qué es, qué hace, cómo da las lecturas (explicando las unidades y su interpretación) e incluso qué lecturas son apropiadas.
    sensors e1355855747817 Descubre si funcionan todos los sensores de tu Android con My Android Sensors

    Todo esto sin necesidad de dar permisos a la app, dado que no pide ningún permiso, ni gastar RAM. El motivo: la app está muy bien diseñada y puesto que los sensores funcionan siempre, solo lee los resultados. Se trata de una aplicación sencilla pero muy interesante ya que por los 72kB que ocupa podremos comprobar si los sensores dan lecturas correctas, conocer las capacidades del teléfono y como funcionan los sensores. Lo único malo, no hay versión en español. Si te gusta el mundo de los sensores , también  hay  en Google Play hay ,entre otras, estas aplicaciones gratuitas relacionadas con los sensores:

     
    • Sensor track
    • Sensor List
    • Find  Sensors
    • Sensor Tester
    • Sensor Display
    • My sensors

     

     


    Saber más aquí

    Aplicaciones Biomédicas para Arduino/Netduino/Raspberry


    El Sensor Shield e-Salud permite que usuarios de Arduino y Raspberry Pi para realizar aplicaciones biométricas y médica donde se necesita supervisión cuerpo mediante el uso de diferentes sensores 9: pulso, el oxígeno en la sangre (SpO2), flujo de aire (respiración), la temperatura corporal, electrocardiograma (ECG) , glucómetro, la respuesta galvánica de la piel (GSR – sudoración), presión arterial (esfigmomanómetro) y el paciente de posición (acelerómetro).

    Esta información se puede utilizar para monitorizar en tiempo real el estado de un paciente o para obtener datos sensibles para ser posteriormente analizados para el diagnóstico médico.Información biométrica recopilada puede ser enviado de forma inalámbrica utilizando cualquiera de las 6 opciones de conectividad disponibles: Wi-Fi, 3G, GPRS, Bluetooth, ZigBee 802.15.4 y dependiendo de la aplicación.
    Si el diagnóstico imágenes en tiempo real que se necesita una cámara se puede conectar al módulo 3G para enviar fotos y videos de la paciente a un centro de diagnóstico médico.
    Los datos pueden ser enviados a la nube con el fin de realizar el almacenamiento permanente o visualizada en tiempo real mediante el envío de los datos directamente a un ordenador portátil o Smartphone. aplicaciones de iPhone y Android han sido diseñados con el fin de ver fácilmente la información del paciente.
    e-Health_all_elements
    Quick FAQ:
    • ¿Qué significa para contar con una plataforma de monitorización médica abierta?
      Hacks cocina quiere dar a la comunidad las herramientas necesarias para el desarrollo de nuevas aplicaciones de salud electrónica y productos. Queremos Arduino y Raspberry Pi Comunidad a utilizar esta plataforma como una prueba rápida del concepto y la base de una nueva era de productos de código abierto médicos.
    • ¿Cómo asegurar la privacidad de los datos biométricos enviado?
      La privacidad es uno de los puntos clave en este tipo de aplicaciones. Por esta razón, la plataforma incluye varios niveles de seguridad:
      • En la capa de enlace de comunicación: AES 128 para 802.14.5 / ZigBee y WPA2 para Wifi.
      • En la capa de aplicación: mediante el HTTPS (segura) de protocolo que asegurar un punto a otro túnel de seguridad entre cada nodo sensor y el servidor web (este es el mismo método utilizado en las transferencias bancarias).
    Luis_connected
    e-Health Sensor Shield sobre Arduino Pi (izquierda) Frambuesa (derecha)

    e-Health_all_elements

    IMPORTANTE: La plataforma de sensores e-Salud ha sido diseñado por Hacks de cocina (la división de hardware abierto de Libelium) con el fin de ayudar a investigadores, desarrolladores y artistas para medir los datos biométricos de sensores para fines de experimentación, diversión y prueba. Hacks cocina ofrece una alternativa barata y abierta en comparación con las soluciones propietarias y precios prohibitivos del mercado médicas. Sin embargo, como la plataforma no tiene certificados médicos no pueden ser usados para controlar a los pacientes críticos que necesitan una supervisión precisa médico o aquellos cuyas condiciones debe ser medido con precisión para un diagnóstico profesional ulterior.

    Para mas información ,pulse aquí

    Enviando información de sensores a la nube


    La telemedicina es el uso de las tecnologías de las telecomunicaciones y de la información con el fin de proporcionar atención clínica de la salud a distancia. Favorece la eliminación de las barreras de distancia y puede mejorar el acceso a los servicios médicos que no suelen estar siempre disponibles en lejanas comunidades rurales. También se utiliza para salvar vidas en cuidados críticos y situaciones de emergencia.

    Aunque hubo precursores distantes de la telemedicina, que es esencialmente un producto de telecomunicaciones del siglo 20 y las tecnologías de la información. Estas tecnologías permiten la comunicación entre paciente y el personal médico con conveniencia y fidelidad, así como la transmisión de los médicos, la imagen y la salud informática de datos de un sitio a otro.

    Sensores de la  plataforma eHealth permite compartir datos médicos con la nube, y realizar diagnóstico en tiempo real. Gracias a los módulos de comunicación puede enviar muchos datos a través de varios protocolos de transmisión

     

    Wifi

    Vamos a utilizar el módulo wifi Roving RN-171. Este módulo encaja en el zócalo XBee Shield de nuestra comunicación y permite conectar tu Arduino / escudo RasberryPi a una red WiFi.
    e_health+placa
    Example code
    Wifi examples shows the way to communicate with the Arduino Wifi Demo Android and iPhone app.
    Refer to Wifi tutorials (Arduino) (Raspberry) for more information.

    Bluetooth

    Módulos Bluetooth para Arduino / Netduino/Raspberry son capaces de estar conectados a la XBee Shield y obtener una comunicación serie entre el ordenador y una placa Arduino / RasberryPi a través de protocolo Bluetooth.
    xbee2
    Módulo Bluetooth para Arduino PRO soporta Serial Port Profile (SPP) para intercambiar datos con otros dispositivos. Este perfil permite crear conexiones a otro dispositivo usando el mismo perfil (p2p conexión). Se envía datos al dispositivo especificado. Este dispositivo es el que ha sido creado para la conexión.
     
    Consulte tutoriales Bluetooth (Arduino) (Frambuesa) para obtener más información.

     

    Zigbee / 802.15.4

    El Arduino Xbee shield permite su Arduino / RasberryPi bordo para comunicarse de forma inalámbrica utilizando Zigbee.
    xbee
    Example code
    This example shows the way to communicate with the Arduino using Zigbee protocol. Upload the next code:

    Show Code

    /*
     *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
     *
     *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     *  users to perform biometric and medical applications by using 9 different 
     *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     *  Patient Position (Accelerometer)."  
     *
     *  Explanation: This example shows the way to communicate with  
     *  the Arduino using ZigBee protocol. 
     *
     *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
     *  http://www.libelium.com
     *
     *  This program is free software: you can redistribute it and/or modify
     *  it under the terms of the GNU General Public License as published by
     *  the Free Software Foundation, either version 3 of the License, or
     *  (at your option) any later version.
     *
     *  This program is distributed in the hope that it will be useful,
     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *  GNU General Public License for more details.
     *
     *  You should have received a copy of the GNU General Public License
     *  along with this program.  If not, see .
     *
     *  Version 0.1
     *  Author: Luis Martin & Ahmad Saad 
     */

    #include
    #include

    char recv[128];
    uint8_t cont = 0;

    // Note : The Xbee modules must be configured previously.
    // See the next link http://www.cooking-hacks.com/index.php/documentation/tutorials/arduino-xbee-shield

    void setup()
    {
    Serial.begin(9600);

    eHealth.initPulsioximeter();
    eHealth.initPositionSensor();

    //Attach the inttruptions for using the pulsioximeter.
    PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
    delay(1000);

    }

    void loop()
    {

    //1. Read from eHealth.
    int airFlow = eHealth.getAirFlow();
    float temperature = eHealth.getTemperature();
    float conductance = eHealth.getSkinConductance();
    float resistance = eHealth.getSkinResistance();
    int BPM = eHealth.getBPM();
    int SPO2 = eHealth.getOxygenSaturation();
    uint8_t pos = eHealth.getBodyPosition();

    Serial.print(int(airFlow)); Serial.print(«#»);
    Serial.print(temperature); Serial.print(«#»);
    Serial.print(int(BPM)); Serial.print(«#»);
    Serial.print(int(SPO2)); Serial.print(«#»);
    Serial.print(conductance); Serial.print(«#»);
    Serial.print(int(resistance)); Serial.print(«#»);
    Serial.print(int(pos)); Serial.print(«#»);
    Serial.print(«\n»);

    // Reduce this delay for more data rate
    delay(250);
    }

    void check(){
    cont=0; delay(500);
    while (Serial.available()>0)
    {
    recv[cont]=Serial.read(); delay(10);
    cont++;
    }
    recv[cont]=’\0′;
    Serial.println(recv);
    Serial.flush(); delay(100);
    }

    //Include always this code when using the pulsioximeter sensor
    //=========================================================================
    void readPulsioximeter(){

    cont ++;

    if (cont == 50) { //Get only one 50 measures to reduce the latency
    eHealth.readPulsioximeter();
    cont = 0;
    }
    }

    NOTE: The Xbee modules must be configured previously. See the next link http://www.cooking-hacks.com/index.php/documentation/tutorials/arduino-xbee-shield
    Refer to XBee tutorials (Arduino) (Raspberry) for more information.

    GPRS

    Cuatribanda GPRS para Arduino/Netduino Módulo /Raspberry (SIM900) ofrece conexión GPRS a la placa Arduino / cartón RasberryPi. Usted puede enviar sus datos a través de SMS o de llamadas perdidas no de tu Arduino/netduino a los dispositivos móviles … oa otro Arduino / netduino/RasberryPi conectado a este módulo.
    e_health+placa_Verde
    Example code
    This example shows the way to send a text message with the corporal temperature using the GPRS module. Upload the next code:

    Show Code

    /*
     *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
     *
     *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     *  users to perform biometric and medical applications by using 9 different 
     *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     *  Patient Position (Accelerometer)."  
     *
     *  Explanation: This example shows the way to send a text message with 
     *  the corporal temperature using the GPRS module. 
     *
     *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
     *  http://www.libelium.com
     *
     *  This program is free software: you can redistribute it and/or modify
     *  it under the terms of the GNU General Public License as published by
     *  the Free Software Foundation, either version 3 of the License, or
     *  (at your option) any later version.
     *
     *  This program is distributed in the hope that it will be useful,
     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *  GNU General Public License for more details.
     *
     *  You should have received a copy of the GNU General Public License
     *  along with this program.  If not, see .
     *
     *  Version 0.1
     *  Author: Luis Martin & Ahmad Saad 
     */

    // For more information about the GPRS shield please see our tutorial
    // in cooking-hacks web site. http://www.cooking-hacks.com

    #include

    // the pin to switch on the module (without press on button)
    int pinModuleOn = 2;

    // ********* is the number to call
    char phoneNumber[]=»**********»;

    void switchModule(){
    digitalWrite(pinModuleOn,HIGH);
    delay(2000);
    digitalWrite(pinModuleOn,LOW);
    }

    void setup() {

    // UART baud rate
    Serial.begin(115200);
    delay(2000);

    // Sitches the module ON
    // switchModulo();

    for (int i=0;i < 5;i++){
    Serial.println(«Push the button»);
    delay(5000);
    }
    // Sets the SMS mode to text
    Serial.println(«AT+CMGF=1»);
    delay(100);
    }

    void loop(){

    delay(100);
    float temperature = eHealth.getTemperature();

    delay(1500);
    // send the SMS number
    Serial.print(«AT+CMGS=\»»);
    Serial.print(phoneNumber);
    Serial.println(«\»»);
    // the SMS body
    while(Serial.read()!=’>’);
    Serial.print(temperature);

    delay(1000);
    //sends ++
    Serial.write(0x1A);
    Serial.write(0x0D);
    Serial.write(0x0A);
    delay(5000);

    }

    Refer to GPRS tutorials (Arduino) (Raspberry) for more information.

    3G

    El nuevo escudo 3G para Arduino / Netduino/Rasberry permite la conectividad a alta velocidad WCDMA y HSPA celulares con el fin de hacer posible la creación de un nivel superior de interactividad proyectos en todo el mundo dentro de la nueva «Internet de las Cosas» era..
    gps_e_health
    e_health_con_conectores
    Example code
    This example how to send data using 3G shield and making a connection to a server. Upload the next code:

    Show Code

    /*
     *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
     *
     *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     *  users to perform biometric and medical applications by using 9 different 
     *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     *  Patient Position (Accelerometer)."  
     *
     *  Explanation: This example how to send data using 3G shield and 
     *  making a connection to a server. 
     *
     *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
     *  http://www.libelium.com
     *
     *  This program is free software: you can redistribute it and/or modify
     *  it under the terms of the GNU General Public License as published by
     *  the Free Software Foundation, either version 3 of the License, or
     *  (at your option) any later version.
     *
     *  This program is distributed in the hope that it will be useful,
     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *  GNU General Public License for more details.
     *
     *  You should have received a copy of the GNU General Public License
     *  along with this program.  If not, see .
     *
     *  Version 0.1
     *  Author: Luis Martin & Ahmad Saad 
     */

    // For more information about the 3G shield please see our tutorial
    // in cooking-hacks web site. http://www.cooking-hacks.com

    #include

    char data[512];
    char tosend[128];
    int led = 13;
    int onModulePin = 2; // the pin to switch on the module (without press on button)

    int x = 0;

    char name[20];

    char server[ ]=»192.198.1.1″; //Your server IP address
    char port[ ]=»5555″; // Your port.

    void switchModule(){
    digitalWrite(onModulePin,HIGH);
    delay(2000);
    digitalWrite(onModulePin,LOW);
    }

    void setup(){

    Serial.begin(115200); // UART baud rate
    delay(2000);
    pinMode(led, OUTPUT);
    pinMode(onModulePin, OUTPUT);
    switchModule(); // switches the module ON

    for (int i=0;i< 5;i++){
    delay(5000);
    }

    Serial.println(«AT+CGSOCKCONT=1,\»IP\»,\»internetmas\»»);
    Serial.flush();
    x=0;
    do
    {
    while(Serial.available()==0);
    data[x]=Serial.read();
    x++;
    } while(!(data[x-1]==’K’&&data[x-2]==’O’)); //waits for response «Network opened»

    }

    void loop()
    {
    float temperature = eHealth.getTemperature();
    int longitud = sprintf(tosend,»%d», temperature);

    Serial.print(«AT+NETOPEN=\»TCP\»,»);
    //Opens the socket with the type of protocol and the port
    Serial.println(port);
    Serial.flush();
    x=0;

    do
    {
    while(Serial.available()==0);
    data[x]=Serial.read();
    x++;
    }
    while(!(data[x-1]==’K’&&data[x-2]==’O’)); //waits for response «Network opened»

    Serial.print(«AT+TCPCONNECT=\»»); //Connects with the server
    Serial.print(server);
    Serial.print(«\»,»);
    Serial.println(port);

    Serial.flush();
    while(Serial.read()!=’K’);

    Serial.print(«AT+TCPWRITE=»);
    Serial.println(longitud, DEC); //Sends TCP data
    Serial.flush();

    do
    {
    while (Serial.available() == 0) {};
    //Serial.println(char(Serial.read()));
    } while(Serial.read()!=’>’);

    Serial.println(tosend);

    x=0;

    do
    {
    while(Serial.available()==0);
    data[x]=Serial.read();
    x++;
    }
    while(!(data[x-1]==’K’&&data[x-2]==’O’));

    Serial.println(«AT+NETCLOSE»); //Opens the socket with the type of protocol and the port
    Serial.flush();
    while(Serial.read()!=’K’);

    while(1);

    }

    Camera for Photo Diagnosis

    Este módulo permite la conexión de una cámara para grabar video y tomar fotos. Una vez guardado el archivo de vídeo o la imagen se pueden enviar a un servidor FTP o FTPS como se verá más adelante. Las imágenes con tutorial módulo 3G.
     
    Cámara para el escudo 3G
    3G camera
    Inserte la cámara con los contactos metálicos hacia arriba
    3G camera
    Example Code
    Take photos is very easy. Upload the next code.

    Show Code

    /*
    *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
    *  http://www.libelium.com
    *
    *  This program is free software: you can redistribute it and/or modify
    *  it under the terms of the GNU General Public License as published by
    *  the Free Software Foundation, either version 3 of the License, or
    *  (at your option) any later version.
    *
    *  This program is distributed in the hope that it will be useful,
    *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    *  GNU General Public License for more details.
    *
    *  You should have received a copy of the GNU General Public License
    *  along with this program.  If not, see .
    *
    *  Version 0.1
    *  Author: Alejandro Gállego
    */

    int led = 13;
    int onModulePin = 2; // the pin to switch on the module (without press on button)

    int x = 0;

    char name[20];

    void switchModule(){
    digitalWrite(onModulePin,HIGH);
    delay(2000);
    digitalWrite(onModulePin,LOW);
    }

    void setup(){

    Serial.begin(115200); // UART baud rate
    delay(2000);
    pinMode(led, OUTPUT);
    pinMode(onModulePin, OUTPUT);
    switchModule(); // switches the module ON

    for (int i=0;i < 5;i++){
    delay(5000);
    }

    Serial.println(«AT+CCAMS»); //starts the camera
    while(Serial.read()!=’K’);

    Serial.println(«AT+CCAMSETD=640,480»); //sets VGA (640*480) resolution
    while(Serial.read()!=’K’);

    Serial.println(«AT+FSLOCA=0»); //stores the image file in the 3G module
    while(Serial.read()!=’K’);

    }

    void loop(){

    delay(1500);
    while(Serial.available()!=0){
    Serial.read();
    }
    Serial.println(«AT+CCAMTP»); //takes a picture, but not saved it
    while(Serial.read()!=’K’);

    Serial.println(«AT+CCAMEP»); // saves the picture into C:/Picture
    Serial.flush();
    while(Serial.read()!=’/’);
    while(Serial.read()!=’/’);

    x=0;
    do{
    while(Serial.available()==0);
    name[x]=Serial.read();
    x++;
    }while(x < 19);

    while(Serial.read()!=’K’);
    Serial.println(name);

    Serial.println(«AT+CCAME»); // stops the camera
    while(Serial.read()!=’K’);

    while(1);

    }

    Example picture 2: (Patient photo)
    Snake bites occur when a snake bites the skin. They are medical emergencies if the snake is poisonous.
    Sending images via 3g is a simple and rapid method for medical consultation
    Refer to 3G tutorials (Arduino) (Raspberry) for more information.
    Para saber más,pulse aquí

    Visualizando datos en Arduino y Netduino


     


    GLCD

    La biblioteca de e-salud incluye funciones para gestionar una pantalla gráfica LCD para la visualización de datos. La mochila de serie gráfica LCD está soldada a la 128×64 pixel LCD gráfico y proporciona al usuario una interfaz serial simple.
    Caracteristicas:
    Voltaje: 5V – 7V DC
    Corriente: 220mA (luz de fondo al 100%)
    De entrada: 0-5V, 115.200 bps (ajustable), 8 bits de datos, 1 bit de parada, sin paridad
    Conexión del GLCD
    Es necesario conectar el dispositivo con las señales en la posición correcta. El cable rojo que alimenta el módulo muestra cómo conectarlo.
    e_health+pantalla
    pantalla2

    Las medidas de los sensores se distribuye en tres pantallas que cambian al presionar el botón.

    e-Health_button-01

    En la primera pantalla podemos ver algunos valores como la temperatura, el pulso o el oxígeno.

    pantalla1b

    En la segunda pantalla se utiliza para la presentación de la onda de flujo de aire.

    pantalla4

    Cuando no se detecta la respiración, la pantalla se aconsejan de un RISQ de apnea.

    pantalla3

    La última pantalla recibe la onda del ECG.

    pantalla5
    Después de la tercera pantalla, si se presiona el botón de nuevo, volverá a la primera pantalla.
    GLCD biblioteca
    La biblioteca de la sanidad electrónica incluye todas las funciones necesarias para la gestión de la pantalla LCD y mostrar en tiempo real las medidas de sensores de datos. Para utilizar esta función, ante todo, debe incluir la biblioteca correspondiente.
     #include
    Library functions:
    •  init() // Configure and initializes the LCD.
    •  InitValuesScreen() // Configure some parameters of the values screen.
    •  PrintValuesScreen() // It prints (refresh) the values of the sensors in the screen.
    •  InitECGScreen() // Configure some parameters of the ECG screen.
    •  printECGScreen() // It prints (refresh) the ECG wave in the LCD screen.
    •  initAirFlowScreen() //Configure some parameters of the AirFlow screen.
    •  PrintAirFlowScreen() // It prints (refresh) the AirFlow wave in the LCD screen.
    Inicializar el LCD
    Utilice la función de inicio en la configuración antes de empezar a usar la pantalla LCD.
    Example
       {
        eHealthDisplay.init ();
        }
    Los valores de la pantalla:
    En esta pantalla se pueden ver algunos parámetros numéricos como el pulso, el oxígeno, la temperatura, amd una representación de la posición del cuerpo actual.
    Inicialización
    Esta pantalla debe ser inicializado con la siguiente función:
    Example:
       {
        eHealthDisplay.initValuesScreen ();
        }
    Obtención de datos
    Para actualizar los valores de la LCD ejecutar la siguiente función.
    Example
       {
        eHealthDisplay.printValuesScreen ();
        }
    AirFlow pantalla:
    En esta pantalla podemos ver el flujo de aire (respiración) de onda y el número de respiraciones por minuto. Esta pantalla incluye un asesor apnea cuando no respira.
    Inicialización
    Esta pantalla debe ser inicializado con la siguiente función:
    Example:
       {
        eHealthDisplay.initAirFlowScreen ();
        }
    Obtención de datos
    Para actualizar los valores de la LCD ejecutar la siguiente función.
    Example
       {
        eHealthDisplay.printAirFlowScreen ();
        }
    ECGScreen:
    Esta pantalla recibe la onda de electrocardiograma y mide la frecuencia de latido del corazón.
    Inicialización
    Esta pantalla debe ser inicializado con la siguiente función:
    Example:
       {
        eHealthDisplay.initECGScreen ();
        }
    Obtención de datos
    Para actualizar los valores de la LCD ejecutar la siguiente función.
    Example
       {
        eHealthDisplay.printECGScreen ();
        }
    El pulsador:
    La junta eHealth icludes un botón pulsador integrado para cambiar entre la pantalla o se puede utilizar un botón de lika purpuose general para cualquier aplicación. El botón pulsador se enruta al pin digital 4.
    Example
    Arduino
    Sube el siguiente código para ver los datos en el GLCD:

     # Include
    # Include
    # Include

    #define pushButton 4

    uint8_t screenNumber = 1;
    uint8_t buttonState;
    uint8_t cont = 0;

    void setup () {
    Serial.begin(115200);
    retardo (100);

    //Configure and initializes the LCD.
    eHealthDisplay.init();
    retardo (100);
    }

    void loop () {

    //Screen number one with the numerical sensor values and body position
    //=========================================================================

    eHealthDisplay.initValuesScreen();
    retardo (100);

    //Attach the inttruptions for using the pulsioximeter

    PCintPort::attachInterrupt(6, readPulsioximeter, RISING);

    while(screenNumber == 1) {
    //It prints data sensor measures in the LCD.
    buttonState = digitalRead(pushButton);
    delay(10);

    if(buttonState == 1) {
    screenNumber++;
    }

    eHealthDisplay.printValuesScreen();
    }

    PCintPort::detachInterrupt(6);

    //Screen number two wich represent the air flow wave
    //=========================================================================

    eHealthDisplay.initAirFlowScreen();

    while( screenNumber == 2) {
    buttonState = digitalRead(pushButton);
    delay(10);

    if(buttonState==1){
    screenNumber++;
    }

    eHealthDisplay.printAirFlowScreen();
    }

    //Screen number three wich represent the ECG wave
    //=========================================================================

    eHealthDisplay.initECGScreen();

    while( screenNumber == 3) {
    buttonState = digitalRead(pushButton);
    delay(10);

    if(buttonState==1){
    screenNumber++;
    }

    eHealthDisplay.printECGScreen();
    }

    screenNumber = 1;
    delay(10);
    }

    //Include always this function for using the pulsioximeter sensor
    //=========================================================================
    void readPulsioximeter() {

    cont ++;

    if (cont == 50) {
    //Get only one 50 measures to reduce the latency
    eHealth.readPulsioximeter();
    cont = 0;
    }
    }

    El GLCD muestra la información de los nodos se envía, que contiene los datos de sensor recogidos.

    KST: Real-time data viewing and plotting

    KST es el más rápido en tiempo real a gran conjunto de datos de visualización y trazado herramienta disponible (usted puede estar interesado en algunos puntos de referencia) y tiene una funcionalidad integrada de análisis de datos. Es muy fácil de usar y contiene muchas potente incorporado en funciones y se puede ampliar con plugins y extensiones.
    3-pics
    KST está licenciado bajo la GPL, y es como tal libremente disponible para cualquier persona. Lo que es más, a partir de 2.0.x está disponible en todas las plataformas: Microsoft Windows, Linux, Mac OSX.
    Antes de todo, usted tiene que instalar el programa KST en su PC. Puede descargar el programa desde la página web KST:
    http://kst-plot.kde.org/
    Vamos a utilizar KST para representar la onda ECG, flujo de aire y la respuesta galvánica de la piel.
    Ejemplo de código
    Este ejemplo es para el sistema operativo Linux. Se representan las diferentes olas y los datos medidos por el sensor plataforma e-Salud.
    Puede encontrar más información acerca de cómo utilizar KST en este video tutorial.
    Para comenzar a trabajar con los datos en tiempo real primero debe cargar el código apropiado en el Arduino.
    Como vamos a trabajar con Linux vamos a utilizar la consola para guardar los datos en un archivo (. Txt).
    Enchufe en el dispositivo, y ejecutar

     stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon 
      -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
    14_
    en la consola «A».
    Con esta orden se debe configurar el puerto ttyACM0.
    A continuación, utilice el comando en la consola del mismo para crear el archivo de texto en el que se almacenarán los datos.
      tail-f / dev/ttyACM0> Desktop / test.txt
    456_
    Los programas de Arduino KST muestras están listas para enviar datos de forma continua cuando recibe una «C» y dejar de enviar cuando se recibe una «F». Estos datos se enviarán por consola «B» con los comandos:
     echo 'C' > /dev/ttyACM0
      echo 'F' > /dev/ttyACM0
    546_
    7887_
    Cconfiguración básica
    Ahora con el archivo creado y actualizado con los datos recibidos, tenemos que abrir el programa KST.
    Para configurar KST para cada ejemplo, tendremos que establecer parámetros comunes.
    1) En la ventana emergente, seleccione el directorio en el txt. Creado anteriormente y pulse el botón Configurar.
    Pantallazo_
    2) El siguiente paso, es configurar la fuente de datos.
    Pantallazo-1_
    3) Seleccione los datos de medición. Los datos de campo / columna 2.

    Pantallazo_

    Pantallazo-1_

    El paso final es diferente dependiendo de cada ejemplo.
    ECG ejemplo en KST
    En este ejemplo se configura el KST para mostrar un determinado período de tiempo x (x = 300). Estamos interesados sólo en los valores más actuales del ECG.

    Pantallazo-4_Pantallazo-6_

    ecg_measure
    The Arduino code used in this program is presented next:
    #Include

    extern volatile unsigned long timer0_overflow_count;
    float fanalog0;
    int analog0;
    unsigned long time;

    byte serialByte;
    void setup () {
    Serial.begin (9600);
    Serial.println(«Starting…»);
    }

    void loop () {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if (serialByte==’C’){
    while (1) {
    fanalog0=eHealth.getECG();
    // Use the timer0 => 1 tick every 4 us
    time=(timer0_overflow_count << 8) + TCNT0;
    // Microseconds conversion.
    time=(time*4);
    //Print in a file for simulation
    Serial.print(time);
    Serial.print(«;»);
    Serial.println(fanalog0,5);

    if (Serial.available()>0){
    serialByte=Serial.read();
    if (serialByte==’F’) break;
    }
    }
    }
    }
    }

    Respuesta Galvánica de la Piel ejemplo en KST
    En el ejemplo de respuesta galvánica de la piel que está interesado en todos los datos desde el inicio de la medición. Vamos a configurar el KST para mostrar una onda con todos los datos.

    Pantallazo-5_Pantallazo-6_

    Pantallazo-2
    Pantallazo2
    The Arduino code used in this program is presented next:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks. 
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)."  
      *
     * In this example we read the value of the GSR sensor 
     * and print the GSR wave form in the KST .
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad 
      * /

    # Include

    extern volatile unsigned long timer0_overflow_count;
    float fanalog0;
    int analog0;
    unsigned long time;
    byte serialByte;

    void setup () {
    Serial.begin (9600);
    Serial.println(«Starting…»);
    }

    void loop () {
    while (Serial.available()>0){
    serialByte=Serial.read();

    if (serialByte==’C’){
    while (1) {
    fanalog0=eHealth.getSkinConductance();
    // Use the timer0 => 1 tick every 4 us
    time=(timer0_overflow_count << 8) + TCNT0;
    // Microseconds conversion.
    time=time*4;
    //Print in a file for simulation
    Serial.print(time);
    Serial.print(char(‘ ; ‘));
    Serial.println(fanalog0,5);
    if (Serial.available()>0){
    serialByte=Serial.read();
    if (serialByte==’F’) break;
    }
    }
    }
    }
    }

    Flujo de aire en el ejemplo KST
    Podemos configurar el programa KST en este ejemplo de acuerdo con los datos que queremos Muestra (métodos anteriores).
    breathing_measure
    The Arduino code used in this program is presented next:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)."  
      *
     * In this example we read the value of the air flow sensor 
     * and print the air Flow wave form using KST.
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad 
      * /

    # Include

    extern volatile unsigned long timer0_overflow_count;
    float fanalog0;
    int analog0;
    unsigned long time;
    byte serialByte;

    void setup () {
    Serial.begin (9600);
    Serial.println(«Starting…»);
    }

    void loop () {
    while (Serial.available()>0) {
    serialByte=Serial.read();

    if (serialByte==’C’){
    while (1) {
    fanalog0=eHealth.getAirFlow();
    // Use the timer0 => 1 tick every 4 us
    time=(timer0_overflow_count << 8) + TCNT0;
    // Microseconds conversion.
    time=time*4;
    //Print in a file for simulation
    Serial.print(time);
    Serial.print(«;»);
    Serial.println(fanalog0,5);
    if (Serial.available()>0){
    serialByte=Serial.read();
    if (serialByte==’F’) break;
    }
    }
    }
    }
    }

    La consola serie

    Todos los datos se pueden visualizar en el monitor serie de Arduino / RasberryPi utilizando el siguiente programa de consola serie.
    Cargar el programa eHealth_SerialMenu ejemplo y abrir el monitor serie de Arduino IDE.
    En el menú principal podemos encontrar todos los sensores de salud electrónica. Mediante el envío de un comando para el puerto serie que se puede seleccionar uno de ellos.
    NOTA: La medición de la glucosa no se ha aplicado en este ejemplo porque ambos procesos utilizan UART comunicación y puede causar un mal funcionamiento
    MainMenu
    Para ver las medidas del sensor, envía el comando correspondiente y pulse la tecla Intro.
    Puede volver al menú principal mediante el envío de la orden de «B».
    ExitCommand
    Ejemplo
    Arduino
    The Arduino code used in this program is presented next:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)." 
      *
     * In this example we have used the serial monitor like a programed
     * console where we can choose the sensor we want to view.  *   
      * 
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martín & Ahmad Saad
      * /

    # Include
    # Include

    char serialByte;
    uint8_t state = 0;
    uint8_t cont = 0;

    float parameter = 0.098;

    void setup ()
    {
    Serial.begin(115200);
    initScreen();
    retardo (100);
    }

    void loop ()
    {
    state = 0;

    while (Serial.available()>0){
    serialByte=Serial.read();

    if ((serialByte==’A’) || (serialByte == ‘a’)){ //Airflow sensor
    airFlowMenu();
    airFlowBucle();

    } else if ((serialByte==’S’) || (serialByte == ‘s’)){
    skinSensorMenu();
    skinSensorBucle();

    } else if ((serialByte==’E’) || (serialByte == ‘e’)){
    ECGMenu();
    ECGBucle();

    } else if ((serialByte==’P’) || (serialByte == ‘p’)){
    pulsioximeterMenu();
    pulsioximeterBucle();

    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    bodyPositionMenu();
    bodyPositionBucle();

    } else if ((serialByte==’T’) || (serialByte == ‘t’)){
    temperatureMenu();
    temperatureBucle();

    } else if ((serialByte==’N’) || (serialByte == ‘n’)){
    BloodPressureMenu();
    BloodPressureBucle();
    }
    }
    }

    void initScreen(void)
    {
    printLogoEhealth();
    retardo (100);
    mainMenu();
    }

    void mainMenu(void)
    {
    lineFeed(); Serial.print(F(» ——–> EHEALTH MENU OPTIONS <——–«)); lineFeed(); lineFeed();

    initialSpace(); Serial.print(F(«A : AirFlow sensor options»)); lineFeed();
    initialSpace(); Serial.print(F(«S : Skin sensor options»)); lineFeed();
    initialSpace(); Serial.print(F(«E : ECG sensor options»)); lineFeed();
    initialSpace(); Serial.print(F(«P : Pulsioximeter sensor options»)); lineFeed();
    initialSpace(); Serial.print(F(«B : Body position sensor options»)); lineFeed();
    initialSpace(); Serial.print(F(«T : Temperature sensor options»)); lineFeed();
    initialSpace(); Serial.print(F(«N : Blood Pressure sensor options»));lineFeed();
    }

    void airFlowMenu(void)
    {
    lineFeed(); Serial.print(F(«——–> AIRFLOW MENU OPTIONS <——–«)); lineFeed(); lineFeed();
    initialSpace(); Serial.print(F(«W : Wave form»)); lineFeed();
    initialSpace(); Serial.print(F(«V : Analogic value»)); lineFeed();
    initialSpace(); Serial.print(F(«B : BACK MAIN MENU»)); lineFeed();
    }

    void airFlowBucle(void) {
    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’W’) || (serialByte == ‘w’)){ //Airflow sensor
    while (1) {
    serialByte=Serial.read();
    eHealth.airFlowWave(eHealth.getAirFlow());

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    airFlowMenu();
    break;
    }
    }
    } else if ((serialByte==’V’) || (serialByte == ‘v’)){
    while (1) {
    serialByte=Serial.read();
    Serial.print(F(» Airflow analogic value : «));
    Serial.println(eHealth.getAirFlow());
    delay(20);
    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    airFlowMenu();
    break;
    }
    }
    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();
    }

    void skinSensorMenu(void)
    {
    lineFeed(); Serial.print(F(«——–> SKIN SENSOR MENU OPTIONS <——–«)); lineFeed(); lineFeed();
    outputMenu();
    }

    void skinSensorBucle(void) {
    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’S’) || (serialByte == ‘s’)){
    while (1) {

    lineFeed();

    serialByte=Serial.read();
    float conductance = eHealth.getSkinConductance();
    long resistance = eHealth.getSkinResistance();
    float conductanceVoltage = eHealth.getSkinConductanceVoltage();

    if (conductance == -1) {
    Serial.println(» No patient connection»);
    } Else {

    Serial.print(F(» Skin conductance value : «));
    Serial.println(conductance);

    Serial.print(F(» Skin resistance value : «));
    Serial.println(resistance);

    Serial.print(F(» Skin conductance value in volts: «));
    Serial.println(conductanceVoltage);

    retardo (500);
    }

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    skinSensorMenu();
    break;
    }
    }

    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();
    }

    void ECGMenu(void) {
    lineFeed(); Serial.print(F(«——–> ECG MENU OPTIONS <——–«)); lineFeed(); lineFeed();
    outputMenu();
    }

    void ECGBucle(void) {
    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’S’) || (serialByte == ‘s’)){
    while (1) {

    lineFeed();
    serialByte=Serial.read();

    retardo (500);

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    ECGMenu();
    break;
    }
    }
    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();
    }

    void pulsioximeterMenu(void)
    {
    lineFeed(); Serial.print(F(«——–> PULSIOXIMETER MENU OPTIONS <——–«)); lineFeed(); lineFeed();
    outputMenu();
    }

    void pulsioximeterBucle(void)
    {
    //Attach the interruptions for using the pulsioximeter.
    PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
    eHealth.initPulsioximeter();

    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’S’) || (serialByte == ‘s’)){
    while (1) {

    //eHealth.readPulsioximeter();

    lineFeed();
    serialByte=Serial.read();
    Serial.print(«PRbpm : «);
    Serial.print(eHealth.getOxygenSaturation());

    Serial.print(» % SPo2 : «);
    Serial.print(eHealth.getBPM());

    Serial.print(«\n»);
    retardo (500);

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    pulsioximeterMenu();
    break;
    }
    }
    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();

    PCintPort::detachInterrupt(6);
    }

    void bodyPositionMenu(void)
    {
    lineFeed(); Serial.print(F(«——–> BODY POSTITIONMENU OPTIONS <——–«)); lineFeed(); lineFeed();
    outputMenu();
    }

    void bodyPositionBucle(void)
    {
    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’S’) || (serialByte == ‘s’)){
    while (1) {

    lineFeed();
    serialByte=Serial.read();

    Serial.print(«Current position : «);
    uint8_t position = eHealth.getBodyPosition();
    eHealth.printPosition(position);
    retardo (100);

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    bodyPositionMenu();
    break;
    }
    }
    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();
    }

    void temperatureMenu(void)
    {
    lineFeed(); Serial.print(F(«——–> TEMPERATURE MENU OPTIONS <——–«)); lineFeed(); lineFeed();
    outputMenu();
    }

    void temperatureBucle(void)
    {
    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’S’) || (serialByte == ‘s’)){
    while (1) {

    lineFeed();
    serialByte=Serial.read();

    float temperature = eHealth.getTemperature();
    Serial.print(«Temperature (ºC): «);
    Serial.println(temperature, 2);

    delay (1000);

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    temperatureMenu();
    break;
    }
    }
    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();
    }

    void BloodPressureMenu(void)
    {
    lineFeed(); Serial.print(F(«——–> BLOOD PRESSURE MENU OPTIONS <——–«)); lineFeed(); lineFeed();
    outputMenu();
    }

    void BloodPressureBucle()
    {
    while (state == 0) {
    while (Serial.available()>0){
    serialByte=Serial.read();
    if ((serialByte==’S’) || (serialByte == ‘s’)){
    while (1) {

    lineFeed();
    serialByte=Serial.read();
    Serial.println(«Press On/Off button please…»);

    eHealth.initBloodPressureSensor(parameter);

    Serial.println(«****************************»);
    Serial.print(«Systolic blood pressure value : «);
    Serial.println(eHealth.getSystolicPressure());

    Serial.println(«****************************»);
    Serial.print(«Diastolic blood pressure value : «);
    Serial.println(eHealth.getDiastolicPressure());
    retardo (3000);

    if ((serialByte== ‘B’) || (serialByte == ‘b’)) {
    BloodPressureMenu();
    break;
    }
    }
    } else if ((serialByte==’B’) || (serialByte == ‘b’)){
    state = 1;
    }
    }
    }
    mainMenu();
    }

    void outputMenu(void) {
    initialSpace(); Serial.print(F(«S : Serial output value»)); lineFeed();
    initialSpace(); Serial.print(F(«B : BACK MAIN MENU»)); lineFeed();
    }

    void printLogoEhealth(void)
    {
    starLine();
    starPrint(); blank(); HLeterOne(); blank(); blank(); blank(); tLeterOne(); hLeterOne(); starPrint(); lineFeed();
    starPrint(); eLeterTwo(); HLeterTwo(); eLeterTwo(); aLeterTwo(); lLeterTwo(); tLeterTwo(); hLeterTwo(); starPrint(); lineFeed();
    starPrint(); eLeterThree(); HLeterThree(); eLeterThree(); aLeterThree(); lLeterThree(); tLeterThree(); hLeterThree(); starPrint(); lineFeed();
    starPrint(); eLeterFour(); HLeterFour(); eLeterFour(); aLeterFour(); lLeterFour(); tLeterFour(); hLeterFour(); starPrint(); lineFeed();
    starPrint(); eLeterFive(); HLeterFive(); eLeterFive(); aLeterFive(); lLeterFive(); tLeterFive(); hLeterFive(); starPrint(); lineFeed();
    starPrint(); eLeterSix(); HLeterSix(); eLeterSix(); aLeterSix(); lLeterSix(); tLeterSix(); hLeterSix(); starPrint(); lineFeed();
    starLine();
    }

    void eLeterTwo(void) { Serial.print(F(» _____ «)); }
    void eLeterThree(void) { Serial.print(F(«| __ | «)); }
    void eLeterFour(void) { Serial.print(F(«| ___| «)); }
    void eLeterFive(void) { Serial.print(F(«| |___ «)); }
    void eLeterSix(void) { Serial.print(F(«|_____| «)); }

    void HLeterOne(void) { Serial.print(F(» _ _ «)); }
    void HLeterTwo(void) { Serial.print(F(«| | | | «)); }
    void HLeterThree(void) { Serial.print(F(«| |__| | «)); }
    void HLeterFour(void) { Serial.print(F(«| __ | «)); }
    void HLeterFive(void) { Serial.print(F(«| | | | «)); }
    void HLeterSix(void) { Serial.print(F(«|_| |_| «)); }

    void aLeterTwo(void) { Serial.print(F(» ______ «)); }
    void aLeterThree(void) { Serial.print(F(«| | «)); }
    void aLeterFour(void) { Serial.print(F(«| {} | «)); }
    void aLeterFive(void) { Serial.print(F(«| __ | «)); }
    void aLeterSix(void) { Serial.print(F(«|_| |_| «)); }

    void lLeterTwo(void) { Serial.print(F(» _ «)); }
    void lLeterThree(void) { Serial.print(F(«| | «)); }
    void lLeterFour(void) { Serial.print(F(«| | «)); }
    void lLeterFive(void) { Serial.print(F(«| |____ «)); }
    void lLeterSix(void) { Serial.print(F(«|______|»)); }

    void tLeterOne(void) { Serial.print(F(» _ «));}
    void tLeterTwo(void) { Serial.print(F(» _| |__ «)); }
    void tLeterThree(void) { Serial.print(F(«(_ __) «)); }
    void tLeterFour(void) { Serial.print(F(» | | «)); }
    void tLeterFive(void) { Serial.print(F(» | |__ «)); }
    void tLeterSix(void) { Serial.print(F(» |____) «)); }

    void hLeterOne(void) { Serial.print(F(» _ «));}
    void hLeterTwo(void) { Serial.print(F(«| | «)); }
    void hLeterThree(void) { Serial.print(F(«| |___ «)); }
    void hLeterFour(void) { Serial.print(F(«| _ | «)); }
    void hLeterFive(void) { Serial.print(F(«| | | | «)); }
    void hLeterSix(void) { Serial.print(F(«|_| |_| «)); }

    void blank(void) { Serial.print(F(» «));}

    void initialSpace(void)
    {
    Serial.print(F(» «));
    }

    void starPrint(void)
    {
    Serial.print(F(«* «));
    }

    void lineFeed(void)
    {
    Serial.print(F(«\n»));
    }

    void starLine(void)
    {
    for (int i = 0; i< 63; i++)
    {
    Serial.print(F(«*»));
    }
    lineFeed();
    }

    int freeRam () {
    extern int __heap_start, *__brkval;
    int v;
    return (int) &v – (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
    }

    //Include always this code for using the pulsioximeter sensor
    //=========================================================================
    void readPulsioximeter(){

    cont ++;

    if (cont == 30) { //Get only one of 25 measures to reduce the latency
    eHealth.readPulsioximeter();
    cont = 0;
    }
    }

    Upload the code and watch the Serial monitor.

    SmartPhone Application

    ehealth_icon_op3
    The wifi module may perform direct communications with iPhone and Android devices without the need of an intermediate router by creating an Adhoc network between them.
    We have developed the application e-Health Sensor Plattform, for both iPhone and Android platforms. The application may be also downloaded from the official App markets or from the Libelium website for free: http://www.cooking-hacks.com/apps
    Official app markets URL’s:
    ehealth_icon_op3 ehealth_icon_op3
    Instalación:
    a) Download the application from App Store:
    • From the iPhone, go to App Store. Go to Search screen and search “e-Health Sensor Plattform”.
    • Select e-Health app. Press FREE button, and then INSTALL button.
    • Accept the rights and then the app will appear in your iPhone screen.

    You can do the same from the Computer with iTunes. Open iTunes and search “e-Health Sensor Plattform”: https://itunes.apple.com/us/app/e-health-sensor-platform/id581953525

    • Save the app in iTunes and synchronize it with your iPhone or iPod.

     

    b) Download the application (e-Health.ipa) from the Libelium website: http://www.libelium.com/apps
    • Then double click on the icon, or right click and open with iTunes.
    • Inside iTunes, on the left panel, click on DEVICES->Your Device.
    • Select on the top “Apps”, and select Sync Apps. Drag into the desired screen e-Health app.
    Once installed, the app appears in your iPhone/iPod screen.
    The use of the app is very simple, first you have to connect to one of the Arduino nodes selecting it in Settings->Wi-Fi, and then launch the application.
    To connect to the network created by the wifi module of Arduino: Go to Settings->Wi-Fi and select iPHONE_ADHOC .
    iphone_app
    Once connected, you can launch the App.
    iphone_appiphone_app
    The App shows the information the nodes are sending which contains the sensor data gathered.
    The first tab “Charts” shows:
    • Respiratory rate chart
    • Electrocardiogram: is necessary to correctly set the delay between frames for the correct measurement of electrocardiogram
    The “Current data” tab, shows data that is in continuous change:
    • Temperatura
    • Pulso
    • Oxígeno
    • Conductividad
    • Resistencia
    • Flujo de aire
    iphone_appiphone_app
    The “Tests” tab shows the information about:
    • Systolic Pressure
    • Diastolic Pressure
    • Glucometer
    Finally, in the “Movement” tab shows the position of the body.
    iphone_app
    NOTE: The measurement of glucose has not been implemented in this example because both processes use UART communication and can cause malfunction
    Ejemplo
    Arduino
    The Arduino code used in this program is presented next:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)."  
      *
     * Explanation: This example shows the way to communicate with  
     * the Arduino Wifi Demo iPhone app. 
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad 
      * /

    # Include
    # Include

    char recv[256];
    float parameter = 0.098;
    uint8_t cont = 0;

    void setup () {

    //eHealth.readGlucometer();
    Serial.begin (9600);
    eHealth.initPulsioximeter();
    eHealth.initPositionSensor();
    }

    void loop () {

    Serial.print(«$$$»);
    marcar ();

    / / 1. Configure the transport protocol (UDP, TCP, FTP, HTTP…)
    Serial.print(«set ip 3\r»); check();
    / / 2. Configure the way the modules will resolve the IP address.
    Serial.print(«set id 2\r»); check();
    / / 3. Configure how to connect the AP.
    Serial.print(«set wa 6\r»); check();
    // 3.1 Sets the name of the ADhoc network.
    Serial.print(«set ws iPHONE_ADHOC\r»); check();
    // 3.2 Sets the channel of the ADhoc network
    Serial.print(«set wc 6\r»); check();

    Serial.print(«set wj 4\r»); check();
    Serial.print(«save\r»); check();
    Serial.print(«exit\r»); check();
    Serial.print(«$$$»); check();
    // Configures UDP host and ports.
    Serial.print(«set ih 255.255.255.255\r»); check();
    Serial.print(«set ir 12345\r»); check();
    Serial.print(«set il 2000\r»); check();
    // Checks if everything is Ok, even if It’s correctly connected.

    // Exits from command mode, and then the UDP messages
    // can be sent and received.
    Serial.print(«exit\r»);
    marcar ();

    //Attach the inttruptions for using the pulsioximeter.
    PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
    delay (1000);

    while (1) {

    eHealth.initBloodPressureSensor(0.1);

    //1. Read from eHealth.
    int airFlow = eHealth.getAirFlow();
    float temperature = eHealth.getTemperature();
    float conductance = eHealth.getSkinConductance();
    float resistance = eHealth.getSkinResistance();
    float conductanceVol = eHealth.getSkinConductanceVoltage();
    int BPM = eHealth.getBPM();
    int SPO2 = eHealth.getOxygenSaturation();
    uint8_t pos = eHealth.getBodyPosition();
    int syst = eHealth.getSystolicPressure();
    int diast = eHealth.getDiastolicPressure();
    float ECG = eHealth.getECG();
    //uint8_t glucose = eHealth.glucoseDataVector[0].glucose;

    / / 2. Send data to the Android smartphone
    Serial.print(int(airFlow)); Serial.print(«#»);
    Serial.print(ECG); Serial.print(«#»);
    Serial.print(temperature); Serial.print(«#»);
    Serial.print(int(BPM)); Serial.print(«#»);
    Serial.print(int(SPO2)); Serial.print(«#»);
    Serial.print(conductance); Serial.print(«#»);
    Serial.print(int(resistance)); Serial.print(«#»);
    Serial.print(int(airFlow)); Serial.print(«#»);
    Serial.print(syst); Serial.print(«#»);
    Serial.print(diast); Serial.print(«#»);
    Serial.print(int(0)); Serial.print(«#»);
    Serial.print(int(pos)); Serial.print(«#»);
    Serial.print(«\n»);

    // Reduce this delay for more data rate
    retardo (100);
    }

    }

    //=========================================================================

    void check(){
    cont=0;
    retardo (500);
    while (Serial.available()>0)
    {
    recv[cont]=Serial.read();
    delay(10);
    cont + +;
    }
    recv[cont]=’\0′;
    Serial.println(recv);
    Serial.flush ();
    retardo (100);
    }

    //Include always this code when using the pulsioximeter sensor
    //=========================================================================
    void readPulsioximeter(){

    cont ++;

    if (cont == 50) { //Get only one 50 measures to reduce the latency
    eHealth.readPulsioximeter();
    cont = 0;
    }
    }

    Instalación:
    a) Download the application from Android Market:
    • From the Android device, go to Android Market.
    • Search “” or “” and press enter
    b) Download the application () from Libelium website: http://www.libelium.com/apps
    • Insert it to the SD card of your Android device.
    • Then explore the SD card in your Android device and install the application. You can explore the SD card with “Astro”, “ES Explora”, or “File Explorer” applications.
    Once installed, the app appears in your device screen.
    The use of the app is very simple, first you have to create an AP from your Android device and then set Waspmote to connect to it.
    To create the AP from the Android device:
    Go to Settings->Tethering & Portable Hotspot or Settings->Wifi-> My Wifi Zone (depending of the version of mobile).
    android_app

    Then configure the WLAN hotspot (name= ANDROID, Security= Open).

    android_app
    Finally, enable Portable WLAN hotspot (or My Wifi Zone), and Arduino will connect to the Android device. Once connected, you can launch the e-Health App.
    android_appandroid_app
    The App shows the information the nodes are sending which contains the sensor data gathered.
    The first tab “Charts” shows:
    • Respiratory rate chart
    • Electrocardiogram: is necessary to correctly set the delay between frames for the correct measurement of electrocardiogram
    The “Current data” tab, shows data that is in continuous change:
    • Temperatura
    • Pulso
    • Oxígeno
    • Conductividad
    • Resistencia
    • Flujo de aire
    android_appandroid_app

    The “Tests” tab shows the information about:
    • Systolic Pressure
    • Diastolic Pressure
    • Glucometer
    Finally, in the “Movement” tab shows the position of the body.
    android_app
    NOTE: The measurement of glucose has not been implemented in this example because both processes use UART communication and can cause malfunction
    Ejemplo
    Arduino
    The Arduino code used in this program is presented next:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)."  
      *
     * Explanation: This example shows the way to communicate with  
     * the Arduino Wifi Demo Android app. 
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad 
      * /

    # Include
    # Include

    char recv[128];
    float parameter = 0.098;
    uint8_t cont = 0;

    void setup ()
    {
    Serial.begin (9600);

    eHealth.initPulsioximeter();
    eHealth.initPositionSensor();

    //Attach the inttruptions for using the pulsioximeter.
    PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
    delay (1000);

    }

    void loop ()
    {
    while (Serial.available()>0) {}
    // Enters in command mode
    Serial.print(«$$$»); check();
    // Sets DHCP and TCP protocol
    Serial.print(«set ip dhcp 1\r»); check();
    Serial.print(«set ip protocol 1\r»); check();
    // Configures the way to join the network AP
    Serial.print(«set wlan join 0\r»); check();
    Serial.print(«join ANDROID\r»); check();

    Serial.print(«set ih 255.255.255.255\r»); delay(1000);

    Serial.print(«set ir 12345\r»); check();
    Serial.print(«set il 2000\r»); check();
    Serial.print(«exit\r»); check();

    while (1) {

    eHealth.initBloodPressureSensor(0.098);

    //1. Read from eHealth.
    int airFlow = eHealth.getAirFlow();
    float temperature = eHealth.getTemperature();
    float conductance = eHealth.getSkinConductance();
    float resistance = eHealth.getSkinResistance();
    float conductanceVol = eHealth.getSkinConductanceVoltage();
    int BPM = eHealth.getBPM();
    int SPO2 = eHealth.getOxygenSaturation();
    uint8_t pos = eHealth.getBodyPosition();
    int syst = eHealth.getSystolicPressure();
    int diast = eHealth.getDiastolicPressure();
    float ECG = eHealth.getECG();
    //uint8_t glucose = eHealth.glucoseDataVector[0].glucose;

    //Data sensor must be sent in this order to mobile android application
    Serial.print(int(airFlow)); Serial.print(«#»);
    Serial.print(ECG); Serial.print(«#»);
    Serial.print(syst); Serial.print(«#»);
    Serial.print(diast); Serial.print(«#»);
    Serial.print(int(0)); Serial.print(«#»); //Glucose is not implemented yet
    Serial.print(temperature); Serial.print(«#»);
    Serial.print(int(BPM)); Serial.print(«#»);
    Serial.print(int(SPO2)); Serial.print(«#»);
    Serial.print(conductance); Serial.print(«#»);
    Serial.print(int(resistance)); Serial.print(«#»);
    Serial.print(int(airFlow)); Serial.print(«#»);
    Serial.print(int(pos)); Serial.print(«#»);
    Serial.print(«\n»);

    // Reduce this delay for more data rate
    delay(250);
    }
    }

    void check(){
    cont=0; delay(500);
    while (Serial.available()>0)
    {
    recv[cont]=Serial.read(); delay(10);
    cont + +;
    }
    recv[cont]=’\0′;
    Serial.println(recv);
    Serial.flush(); delay(100);
    }

    //Include always this code when using the pulsioximeter sensor
    //=========================================================================
    void readPulsioximeter(){

    cont ++;

    if (cont == 50) { //Get only one 50 measures to reduce the latency
    eHealth.readPulsioximeter();
    cont = 0;
    }
    }

    Para más informacion,pulse aquí

    Sensor de posicion corporal para Arduino y Netduino


     

    Características del sensor de posición

    El sensor de posición del paciente (Acelerómetro) supervisa cinco posiciones diferentes de pacientes (de pie / sentado, en decúbito supino, prono, izquierda y derecha).
    En muchos casos, es necesario supervisar las posiciones del cuerpo y movimientos realizados a causa de su relación con enfermedades particulares (es decir, apnea del sueño y el síndrome de las piernas inquietas). El análisis de los movimientos durante el sueño también ayuda a la hora de determinar la calidad del sueño y los patrones de sueño irregulares. El sensor de posición del cuerpo también podría ayudar a detectar desmayos o caídas de personas mayores o personas con discapacidad.
    pulsometro_pecho_presentacion
    Sensor de Posición del cuerpo eHealth utiliza un acelerómetro de triple eje para obtener la posición del paciente.
    Caracteristicas:
    1,95 V a 3,6 V de tensión de alimentación
    1,6 V a 3,6 V de tensión interfaz
    ± 2g / ± 4g / ± 8g de forma dinámica a gran escala seleccionable
    Este acelerómetro se embala con funciones integradas con opciones programables por el usuario flexible, configurable a dos acelerómetro pins.The interrupción tiene seleccionables por el usuario escalas completas de ± 2g / ± 4g / ± 8g con datos filtrados de paso alto, así como los datos no filtrados disponible en tiempo real .
    Posiciones del cuerpo:

    body_positions

    Conexión del sensor
    Lo primero que vamos a hacer con el módulo para conectar los puentes en la posición correcta. En este caso, los puentes tienen que ajustar en posición de puerta de enlace POS.
    El sensor de posición del cuerpo tiene sólo una manera sencilla y de conexión. Conecte el cable de cinta con el sensor de posición del cuerpo y la junta de e-Salud como se muestra en la imagen de abajo.conectando_pulsometro_pecho
    elementos_pulsometro
    e_health+pulsometro_pecho
    Coloque la cinta alrededor del pecho y el conector colocado abajo
    luis1
    Funciones de biblioteca
    La biblioteca de la salud electrónica permite una forma de programación simple. Con una simple función que podemos obtener la posición del paciente y mostrarla en el monitor de serie del Arduino / RasberryPi o en el GLCD.
    Inicialización del sensor
    Antes de comenzar a utilizar el sensor, tenemos que inicializar algunos parámetros. Utilice la siguiente función para configurar el sensor.
    Example:
       {
      eHealth.initPositionSensor ();
      }
    Obtención de datos
    Las funciones siguientes devuelven el valor a que representan la posición corporal almacenada en variables privadas de la clase de e-Salud.
    Example:
       {
       posición uint8_t eHealth.getBodyPosition = ();
      }
    La posición de la pacient
    1 == posición supina.
    2 == decúbito lateral izquierdo.
    3 == Rigth decúbito lateral.
    4 == posición prona.
    5 == permanezca sentado o de posición.
    impresión de datos
    Para representar los datos de una manera fácil en el monitor de Arduino / RasberryPi serial, e-salud biblioteca, incluye una función de impresión.
    Ejemplo:
      {
      Serial.print("Current position : ");
      uint8_t position = eHealth.getBodyPosition(); 
      eHealth.printPosition(position);  
     }
    Arduino
    Sube el siguiente código para ver los datos en el monitor serie:.
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)." 
      *
     * In this example with the body position sensor we measure 
     * the current body position of the patient and show it in the serial
     * monitor.
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad
      * /

    # Include

    void setup () {

    Serial.begin(115200);
    eHealth.initPositionSensor();
    }

    void loop () {

    Serial.print(«Current position : «);
    uint8_t position = eHealth.getBodyPosition();
    eHealth.printPosition(position);

    Serial.print(«\n»);
    delay(1000); // wait for a second.
    }

    Sube el código y ver el monitor.Here serie es la salida utilizando el terminal USB Arduino IDE puerto serie:
    Ejemplo_BodyPosition_
    Raspberry Pi
    En desarrollo
    Mobile App
    La aplicación muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. aplicación de Smartphone
    iphone_6
    GLCD
    El GLCD muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. GLCD
    GLCD
    Para saber más ,pulsa  aquí

    Sensores GSR para Arduino/Netduino/Raspberry


     

    Conductancia de la piel, también conocida como la respuesta galvánica de la piel (GSR) es un método de medición de la conductividad eléctrica de la piel, que varía con su nivel de humedad. Esto es de interés porque las glándulas sudoríparas son controlados por el sistema nervioso simpático, por lo que los momentos de emoción fuerte, cambie la resistencia eléctrica de la piel. Conductancia de la piel se utiliza como una indicación de excitación psicológica o fisiológica, el sensor de respuesta galvánica de la piel (GSR – sudoración) mide la conductancia eléctrica entre 2 puntos, y es esencialmente un tipo de ohmímetro.
    velcro
    gsr
    En el método de respuesta conductancia de la piel, la conductividad de la piel se mide en dedos de la palma de la mano. El principio o la teoría de funcionamiento del sensor de respuesta galvánica es para medir la resistencia eléctrica de la piel basado en el sudor producido por el cuerpo. Cuando alto nivel de sudoración se lleva a cabo, la resistencia eléctrica de la piel cae. Una piel secadora registra resistencia mucho mayor. La conductancia de la piel de respuesta del sensor mide el reflejo psico galvánico del cuerpo. Emociones como la excitación, estrés, choque, etc puede dar lugar a la fluctuación de la conductividad de la piel. Medición de conductancia de la piel es uno de los componentes de los dispositivos de polígrafo y se utiliza en la investigación científica de excitación emocional o fisiológico.

    Calibración del sensor
    La precisión del sensor es suficiente en la mayoría de las aplicaciones. Pero se puede mejorar esta precisión mediante un proceso de calibración.
    Cuando se utiliza sensor de temperatura, en realidad se está midiendo una tensión, y en relación a lo que la temperatura de funcionamiento del sensor debe ser. Si usted puede evitar errores en las mediciones de voltaje, y representan la relación entre la tensión y la temperatura con mayor precisión, se pueden obtener mejores lecturas de temperatura.
    La calibración es un proceso de medición de los valores reales de tensión. En el archivo eHealth.cpp podemos encontrar getSkinConductance y funciones getSkinResistance. El valor 0,5 es imprecisa por defecto.
    Si se mide el valor de la tensión con un multímetro y modificar la biblioteca obtendrá una mayor precisión.
    Resistencia
    Coloque las puntas del multímetro entre 0,5 V (cable rojo) y GND (Negro cable). En este caso se modificaría 0,5 a 0,498.
    e-Health_button4-01
    Conexión del sensor
    Conecte los cables a los contactos en el GSR. Los contactos no tiene polarización.
    4_det
    e_health_velcros
    El sensor galvánica de la piel tiene dos contactos y funciona como un ohmiómetro de la medición de la resistencia de los materiales. Coloque sus dedos en los contactos metálicos y apriete el velcro como se muestra en la imagen de abajo ..
    dedo_velcro1
    dedo_velcro2
    dedo_velcro3
    dedo_velcro4
    Library functions con  Arduino
    Getting data
    With this simple functions we can read the value of the sensor. The library returns the value of the skin resistance and the skin conductance.
    Ejemplo:
      {
     float conductance = eHealth.getSkinConductance();
     float resistance = eHealth.getSkinResistance();
      float conductanceVol = eHealth.getSkinConductanceVoltage();
     }
    Upload the next code for seeing data in the serial monitor:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)." 
      *
     * In this example we use the skin sensor to measure some 
     * parameters like the skin resistance and coductance. 
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad 
      * /

    # Include

    / / La rutina de instalación se ejecuta una vez cuando se pulsa reset:
    void setup () {
    Serial.begin(115200);
    }

    / / Bucle se ejecuta la rutina una y otra vez para siempre:
    void loop () {

    float conductance = eHealth.getSkinConductance();
    float resistance = eHealth.getSkinResistance();
    float conductanceVol = eHealth.getSkinConductanceVoltage();

    Serial.print(«Conductance : «);
    Serial.print(conductance, 2);
    Serial.println («»);

    Serial.print(«Resistance : «);
    Serial.print(resistance, 2);
    Serial.println («»);

    Serial.print(«Conductance Voltage : «);
    Serial.print(conductanceVol, 4);
    Serial.println («»);

    Serial.print(«\n»);

    // wait for a second
    delay (1000);
    }

    Upload the code to Arduino and watch the Serial monitor.
    Here is the USB output using the Arduino IDE serial port terminal:
    Ejemplo_GSR_
    Raspberry Pi
    Compile the following code example:
    Show Code

    //Include eHealth library
    #include "eHealth.h"

    //Needed for eHealth
    eHealthClass eHealth;

    extern SerialPi Serial;

    void setup () {

    }

    void loop () {

    float conductance = eHealth.getSkinConductance();
    float resistance = eHealth.getSkinResistance();
    float conductanceVol = eHealth.getSkinConductanceVoltage();

    printf(«Conductance : %f \n», conductance);
    printf(«Resistance : %f \n», resistance);
    printf(«Conductance Voltage : %f \n», conductanceVol);

    printf («\ n»);

    // wait for a second
    delay (1000);
    }

    int main (){
    setup ();
    while (1) {
    bucle ();
    }
    return (0);
    }

    Mobile App
    The App shows the information the nodes are sending which contains the sensor data gathered. Smartphone app
    android_6
    GLCD
    The GLCD shows the information the nodes are sending which contains the sensor data gathered. GLCD
    GLCD
    KST
    KST program shows the ECG wave.
    Pantallazo-2
    Pantallazo2
    Para saber más ,pulse  aquí

    Sensor de Glucosa para Arduino y Netduino


    Glucometer es un dispositivo médico para determinar la concentración aproximada de glucosa en la sangre. Una pequeña gota de sangre, obtenida pinchando la piel con una lanceta, se coloca sobre una tira de ensayo desechable que el medidor lee y utiliza para calcular el nivel de glucosa en sangre. El medidor muestra el nivel en mg / dl o mmol / l.

    presentacion_glucometro
    A pesar de intervalos muy variables entre las comidas o el consumo ocasional de comidas con una carga de carbohidratos sustancial, humanos los niveles de glucosa en la sangre tienden a permanecer dentro de la gama normal. Sin embargo, poco después de comer, el nivel de glucosa en la sangre puede aumentar, en los no diabéticos, de manera temporal hasta 7,8 mmol / L (140 mg / dL) o un poco más.
    Conexión del sensor
    Antes de comenzar a utilizar el glucómetro necesitamos una medida al menos en la memoria del glucómetro. Después de eso, puede obtener toda la información contenida en el glucómetro (fecha, valor de glucosa).
    elementos_pulsometro
    Encienda el glucómetro y coloque una tira de prueba en la máquina cuando la máquina está lista. Observe el indicador para la colocación de la sangre a la tira.
    glucometro
    Limpie el extremo de su dedo índice con alcohol antes de pincharse con una aguja o lanceta estéril.
    pinchando_dedo
    Punzee la punta de su dedo en la almohadilla suave, carnoso y obtener una gota de sangre. El tipo de gota de sangre está determinado por el tipo de tira que está utilizando
    dedo_sangre
    Coloque la gota de sangre en el lado de la tira.
    prueba_glucosa1
    prueba_glucosa
    El glucómetro se tome unos momentos para calcular la lectura de azúcar en la sangre
    medida_glucosa
    El glucómetro almacenará el valor en la memoria.
    Con el fin de extraer los datos del glucómetro a la Arduino o Raspberry Pi, conecte el cable como se muestra en la imagen.
    conectando_lector_azul
    Usted debe ver en la pantalla del glucómetro el mensaje «PC», que indica la conexión correcta.
    elementos_pulsometro
    Library functions para Arduino
    Getting data
    With a simple function we can read all the measures stored in the glucometer and show them in the terminal. The function must be used before the intilizazion of the serial monitor.
    Example of use:
      {
     eHealth.readGlucometer();
     Serial.begin(115200);
     }
    The amount of data read is accessible with a another public function.
    Example of use:
      {
     uint8_t numberOfData eHealthClass.getGlucometerLength()
     }
    The maximum number of measures is 32. The vector where data is a public variable of the e-Health class.
    Example of use:
    { Serial.print(F("Glucose value : ")); Serial.print(eHealth.glucoseDataVector[i].glucose); Serial.println(F(" mg/dL")); }
    Arduino
    Upload the next code for seeing data in the serial monitor:
    Show Code

      / *
     * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
      *
     * Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi 
     * users to perform biometric and medical applications by using 9 different 
     * sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
     * Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
     * Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and 
     * Patient Position (Accelerometer)." 
      *  
     * In this example we are going to get data stored in the glucometer 
     * memory and show the result in the serial monitor.   
      *
     * Copyright (C) 2012 Libelium Comunicaciones Distribuidas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
     * the Free Software Foundation, either version 3 of the License, or
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería. If not, see .
      *
     * Version 0.1
     * Author: Luis Martin & Ahmad Saad
      * /

    # Include

    void setup () {

    eHealth.readGlucometer();
    Serial.begin(115200);
    retardo (100);
    }

    void loop () {

    uint8_t numberOfData = eHealth.getGlucometerLength();
    Serial.print(F(«Number of measures : «));
    Serial.println(numberOfData, DEC);
    retardo (100);

    for (int i = 0; i < numberOfData; i++) {
    // The protocol sends data in this order
    Serial.println(F(«==========================================»));

    Serial.print(F(«Measure number «));
    Serial.println(i + 1);

    Serial.print(F(«Date -> «));
    Serial.print(eHealth.glucoseDataVector[i].day);
    Serial.print(F(» of «));
    Serial.print(eHealth.numberToMonth(eHealth.glucoseDataVector[i].month));
    Serial.print(F(» of «));
    Serial.print(2000 + eHealth.glucoseDataVector[i].year);
    Serial.print(F(» at «));

    if (eHealth.glucoseDataVector[i].hour < 10) {
    Serial.print(0); // Only for best representation.
    }

    Serial.print(eHealth.glucoseDataVector[i].hour);
    Serial.print(F(«:»));

    if (eHealth.glucoseDataVector[i].minutes < 10) {
    Serial.print(0);// Only for best representation.
    }
    Serial.print(eHealth.glucoseDataVector[i].minutes);

    if (eHealth.glucoseDataVector[i].meridian == 0xBB)
    Serial.println(F(» pm»));
    else if (eHealth.glucoseDataVector[i].meridian == 0xAA)
    Serial.println(F(» am»));

    Serial.print(F(«Glucose value : «));
    Serial.print(eHealth.glucoseDataVector[i].glucose);
    Serial.println(F(» mg/dL»));
    }

    delay(20000);
    }

    Upload the code and watch the Serial monitor.Here is the USB output using the Arduino IDE serial port terminal:
    Ejemplo_glucometro_
    Raspberry Pi
    Compile the following code:
    Show Code

    //Include eHealth library #include "eHealth.h" //Needed for eHealth eHealthClass eHealth; /********************************************************* * IF YOUR ARDUINO CODE HAS OTHER FUNCTIONS APART FROM * * setup() AND loop() YOU MUST DECLARE THEM HERE * * *******************************************************/ void setup() { eHealth.readGlucometer(); delay(100); } void loop() { uint8_t numberOfData = eHealth.getGlucometerLength(); printf("Number of measures : %d\n",numberOfData); delay(100); for (int i = 0; i %d",eHealth.glucoseDataVector[i].day); printf(" of "); printf("%d",eHealth.numberToMonth(eHealth.glucoseDataVector[i].month)); printf(" of "); printf("%d",2000 + eHealth.glucoseDataVector[i].year); printf(" at "); if (eHealth.glucoseDataVector[i].hour < 10) { printf("0"); // Only for best representation. } printf("%d",eHealth.glucoseDataVector[i].hour); printf(":"); if (eHealth.glucoseDataVector[i].minutes < 10) { printf("0");// Only for best representation. } printf("%d",eHealth.glucoseDataVector[i].minutes); if (eHealth.glucoseDataVector[i].meridian == 0xBB) printf(" pm"); else if (eHealth.glucoseDataVector[i].meridian == 0xAA) printf(" am"); printf("Glucose value : %d mg/dL",eHealth.glucoseDataVector[i].glucose); } delay(20000); } int main (){ setup(); while(1){ loop(); } return (0); }

    Más informacion ,pulse aqui

    Sensor presión arterial para Arduino y Netduino


     

    Presión arterial

    La presión arterial es la presión de la sangre en las arterias cuando se bombea alrededor del cuerpo por el corazón. Cuando el corazón late, se contrae y empuja la sangre por las arterias para el resto de su cuerpo. Esta fuerza crea la presión en las arterias.La presión arterial se registra como dos números-la presión sistólica (cuando late el corazón) sobre la presión diastólica (cuando el corazón se relaja entre latidos).
    Monitoreo de la presión arterial en casa es importante para muchas personas, especialmente si usted tiene presión arterial alta.La presión arterial no se mantiene igual todo el tiempo. Cambia para satisfacer las necesidades de su cuerpo. Se ve afectada por varios factores, incluyendo la posición del cuerpo, la respiración o el estado emocional de ejercicio y el sueño. Lo mejor es medir la presión arterial cuando se está relajado y sentado o acostado.
    Clasificación de la presión arterial en adultos (18 años y mayores)
    Sistólica (mm Hg) Diastólica (mm Hg)
    La hipotensión <90 <60
    Deseado 90-119 60-79
    La prehipertensión 120-139 80-89
    Hipertensión en fase 1 140-159 90-99
    Fase 2 Hipertensión 160-179 100-109
    Crisis hipertensiva ≥ 180 ≥ 110
    La presión arterial alta (hipertensión) puede llevar a problemas graves como el infarto de miocardio, accidente cerebrovascular o enfermedad renal. La presión arterial alta generalmente no tiene síntomas, por lo que necesita para que su presión arterial regularmente.
    El sensor tiene que estar conectado a la Arduino y utilizar la batería interna (2X3A)
    tensiometro_presentacion
    La precisión del sensor de la presión arterial (esfigmomanómetro) es suficiente en la mayoría de las aplicaciones. Pero se puede mejorar esta precisión mediante un proceso de calibración.
    La calibración de este sensor es complicado. Libelium equipo se encarga de realizar y proporciona un valor de calibración de desviación.
    Tan sólo hay que modificar el parámetro en nuestro código.
    pegatina_tensiometro
    Tensionometre
    Lo primero que vamos a hacer con el módulo para conectar los puentes en la posición correcta. En este caso, los puentes tienen que ajustar en posición de puerta de enlace SPHY.
    pulsometro_conectando_e_health
    Conecte el cable jack con el esfigmomanómetro y el consejo e-Salud.
    tensiometro + e_health
    Coloque el tensiómetro en la muñeca, como se muestra en la imagen de abajo. La palma hacia arriba y el lado rigth del medidor de la presión arterial para arriba, coloque el brazalete en la muñeca izquierda desde 5-10mm (aproximadamente un ancho dedo meñique).
    tensiometro_conector
    Para corregir medida es importante para mantener el corazón y la muñeca en el plano horizontal.
    tensionometer_man
    Luis2
    Presione On / Off botón y espere a que el esfigmomanómetro se adopte la medida.
    pulsando_boton_pulsometro
    Después de unos segundos, el resultado se muestra en la pantalla del esfigmomanómetro y en el monitor de Arduino serial. La medida se toma de forma independiente por el Arduino / RasberryPi, y puede no coincidir exactamente, pero los valores deben ser muy similares. No haga movimientos bruscos o la medida no será fiable.
    Inicialización del sensor de la presión arterial
    Algunos parámetros se debe inicializar para empezar a utilizar el sensor de la presión arterial (esfigmomanómetro). La siguiente función inicializa algunas variables y esperar hasta que el botón de encendido / apagado del esfigmomanómetro se presiona.
    Ejemplo:
      {
       flotar parámetro = -0,1;
       eHealth.initBloodPressureSensor (parámetro);  
      }
    Debido a un proceso de calibración, todo el esfigmomanómetro tienen un parámetro especial que debe ser introducido en el código.

    Obtención de datos

    Las funciones siguientes devuelven los valores de la presión sistólica y diastólica, medida por el esfigmomanómetro y se almacenan en las variables privadas de la clase de e-Salud.
    Ejemplo:
      }
       int = Serial.println sistólica (eHealth.getSystolicPressure ());      
       int = Serial.println diastólica (eHealth.getDiastolicPressure ());
      }
    Arduino
    Sube el siguiente código para ver los datos en el monitor serie:
    Show Code

      / *
      * Plataforma para la eSalud sensor Arduino y frambuesa de cocina-hacks.
      *
      * Descripción: "The Shield Sensor de e-Salud permite a Arduino y Frambuesa Pi 
      * Los usuarios realizar aplicaciones biométricas y médicos mediante el uso de 9 diferentes 
      * Sensores de pulso: Sensor de oxígeno y sangre (SpO2), sensor de flujo de aire (respiración),
      * Temperatura Corporal, Sensor Electrocardiograma (ECG), Glucómetro, Skin Galvanic
      * Respuesta del sensor (GSR - Sudoración), la tensión arterial (esfigmomanómetro) y 
      * Paciente posición (acelerómetro). " 
      *  
      * En este ejemplo vamos a medir la presión arterial
      * Y mostrar el resultado en el monitor serie.   
      *
      * Copyright (C) 2012 Libelium Comunicaciones distribuídas SL
      * Http://www.libelium.com
      *
      * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
      * Bajo los términos de la Licencia Pública General de GNU según es publicada por
      * La Free Software Foundation, bien de la versión 3 de la Licencia, o
      * (A su elección) cualquier versión posterior.
      *
      * Este programa se distribuye con la esperanza de que sea útil,
      * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
      * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.  Consulte la
      * GNU General Public License para más detalles.
      *
      * Usted debe haber recibido una copia de la Licencia Pública General de GNU
      * Junto con esta librería.  Si no es así, consulte.
      *
      * Versión 0.1
      * Autor: Luis Martin & Saad Ahmad
      * /

    # Include

    / / Este parámetro debe ser introducido manualmente.
    / / Por favor, consulte el tutorial para más información.
    flotar parámetro = 0,0;

    void setup () {
    Serial.begin (115200);
    Serial.println («Pulse el botón On / Off por favor …»);

    }

    void loop () {

    eHealth.initBloodPressureSensor (parámetro);

    Serial.println («****************************»);
    Serial.print («valor de la presión arterial sistólica:»);
    Serial.println (eHealth.getSystolicPressure ());
    delay (10);

    Serial.println («****************************»);
    Serial.print («valor presión arterial diastólica:»);
    Serial.println (eHealth.getDiastolicPressure ());
    delay (10);

    retardo (3000);
    }

    Sube el código y ver el monitor.Here serie es la salida utilizando el terminal USB Arduino IDE puerto serie:
    Ejemplo_PresionSanguinea_
    Raspberry Pi
    Mobile App
    The App shows the information the nodes are sending which contains the sensor data gathered. Smartphone app
    iphone_5
    GLCD
    The GLCD shows the information the nodes are sending which contains the sensor data gathered. GLCD
    GLCD
    Para saber más pulse aquí

    Sensor Temperatura corporal para Arduino y Netduino


    Temperatura del cuerpo

    Características del sensor de temperatura 

    La temperatura corporal depende del lugar en el cuerpo en el que se realiza la medición, y la hora del día y el nivel de actividad de la persona. Diferentes partes del cuerpo tienen diferentes temperaturas.
    elementos_pulsometro
    El comúnmente aceptado temperatura corporal promedio (tomado internamente) es 37,0 ° C (98,6 ° F). En los adultos sanos, la temperatura corporal fluctúa alrededor de 0,5 ° C (0,9 ° F) durante todo el día, con temperaturas más bajas en la mañana y temperaturas más altas en la tarde y por la noche, según las necesidades del cuerpo y los cambios actividades.
    Es de gran importancia médica para medir la temperatura corporal. La razón es que un número de enfermedades están acompañadas por cambios característicos en la temperatura corporal. Así mismo, el curso de ciertas enfermedades pueden controlarse midiendo la temperatura del cuerpo, y la eficiencia de un tratamiento iniciado puede ser evaluado por el médico.

    La hipotermia <35,0 ° C (95,0 ° F) 
    Normal 36.5-37.5 ° C (97,7-99,5 ° F) 
    La fiebre o hipertermia> 37.5-38.3 ° C (99,5 a 100,9 ° F) 
    Hiperpirexia> 40.0-41.5 ° C (104 a 106,7 ° F) 

    La precisión del sensor de la temperatura del cuerpo es suficiente en la mayoría de las aplicaciones. Pero se puede mejorar esta precisión mediante un proceso de calibración.
    Cuando se utiliza sensor de temperatura, en realidad se está midiendo una tensión, y en relación a lo que la temperatura de funcionamiento del sensor debe ser. Si usted puede evitar errores en las mediciones de voltaje, y representan la relación entre la tensión y la temperatura con mayor precisión, se pueden obtener mejores lecturas de temperatura.
    La calibración es un proceso de medición de tensión y valores de resistencia reales. En el archivo eHealth.cpp podemos encontrar la función getTemperature. Los valores de [RC, Ra, Rb, RefTension] se imprecisa definido por defecto.
    Temperatura
    Si se mide estos valores con un multímetro y modificar la biblioteca obtendrá una mayor precisión.
    e-Health_button3-01
    Multímetro Coloque los extremos en los extremos de las resistencias y medir el valor de resistencia. En este caso, sería modificar el valor de la resistencia (Ra = 4640 / Rb = 819) …
    1_det
    2_det
    Haga el mismo proceso entre 3V (cable rojo) y GND (cable negro), pero con el multímetro en medición de voltaje. En este caso, no iba a cambiar el valor.
    elementos_pulsometro
    Para la toma de medidas de temperatura, conecte el sensor en el conector jack utilizando el adaptador
    conectando_elementos_pulsometro
    Haga contacto entre la pieza metálica y la piel
    Use un pedazo de cinta adhesiva para sujetar el sensor conectado a la piel
    tmp
    cinta_aislante
    sensor_dedo
    sensor_dedo_puesto
    Consiguiendo datos
    La temperatura corporal se puede tomar por una función simple. Esta función devuelve un float con el último valor de la temperatura medida por el Arduino / RasberryPi.
    Ejemplo:
      {
    temperatura float = eHealth.getTemperature ();
    }
    Arduino
    Sube el siguiente código para ver los datos en el monitor serie:
    Show Code

      / *
    * Plataforma para la eSalud sensor Arduino y frambuesa de cocina-hacks.
    *
    * Descripción: "The Shield Sensor de e-Salud permite a Arduino y Frambuesa Pi
    * Los usuarios realizar aplicaciones biométricas y médicos mediante el uso de 9 diferentes
    * Sensores de pulso: Sensor de oxígeno y sangre (SpO2), sensor de flujo de aire (respiración),
    * Temperatura Corporal, Sensor Electrocardiograma (ECG), Glucómetro, Skin Galvanic
    * Respuesta del sensor (GSR - Sudoración), la tensión arterial (esfigmomanómetro) y
    * Paciente posición (acelerómetro). "
    *
    * En este ejemplo se utiliza el sensor de temperatura para medir la
    * La temperatura corporal del cuerpo.
    *
    * Copyright (C) 2012 Libelium Comunicaciones distribuídas SL
    * Http://www.libelium.com
    *
    * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
    * Bajo los términos de la Licencia Pública General de GNU según es publicada por
    * La Free Software Foundation, bien de la versión 3 de la Licencia, o
    * (A su elección) cualquier versión posterior.
    *
    * Este programa se distribuye con la esperanza de que sea útil,
    * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
    * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
    * GNU General Public License para más detalles.
    *
    * Usted debe haber recibido una copia de la Licencia Pública General de GNU
    * Junto con esta librería. Si no es así, consulte.
    *
    * Versión 0.1
    * Autor: Luis Martin & Saad Ahmad
    * /

    # Include

    / / La rutina de instalación se ejecuta una vez cuando se pulsa reset:
    void setup () {
    Serial.begin (115200);
    }

    / / Bucle se ejecuta la rutina una y otra vez para siempre:
    void loop () {
    temperatura float = eHealth.getTemperature ();

    Serial.print ("Temperatura (º C):");
    Serial.print (temperatura, 2);
    Serial.println ("");

    delay (1000); / / esperar por un segundo
    }


    Sube el código y ver el monitor de serie. Aquí está la salida utilizando el terminal USB Arduino IDE puerto serie:
    Ejemplo_Temperatura_
    Raspberry Pi
    Compilar el código de ejemplo siguiente:
    Show Code

     

    / / Incluir biblioteca eHealth
    # Include "eHealth.h"

    / / Necesario para la sanidad electrónica
    eHealthClass cibersalud;

    Serial extern SerialPi;


    void setup () {

    }

    void loop () {
    temperatura float = eHealth.getTemperature ();
    printf ("Temperatura:% f \ n", temperatura);
    retardo (2000);
    }

    int main () {
    setup ();
    while (1) {
    bucle ();
    }
    return (0);
    }


    Mobile App
    La aplicación muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. aplicación Smartphone
    android_6
    GLCD
    GLCD
    Para saber más pulse aquí

    Sensor de respiración para Arduino y Netduino


    Flujo de Aire: respiración

    Anormal tasas respiratorias y los cambios en la frecuencia respiratoria son un indicador general de la inestabilidad fisiológica importante, y en muchos casos, el ritmo respiratorio es uno de los primeros indicadores de esta inestabilidad. Por lo tanto, es crítico para controlar la frecuencia respiratoria como un indicador del estado del paciente. Sensor de flujo de aire puede proporcionar una alerta temprana de la hipoxemia y la apnea.
    El sensor de flujo de aire nasal y la boca es un dispositivo utilizado para medir la frecuencia respiratoria en un paciente en necesidad de ayuda respiratoria o persona. Este dispositivo consta de un hilo flexible que se ajusta detrás de las orejas, y un conjunto de dos puntas que se colocan en las fosas nasales con un tercio que se encuentra en frente de la boca. La respiración se mide por los dientes.
    El específicamente diseñado cánula / soporte permite que el sensor de termopar que se coloca en la posición óptima para detectar de forma precisa los cambios térmicos oral / nasal de flujo de aire, así como la temperatura del aire nasal. Cómodo ajustable y fácil de instalar.
    canula_presentacion

    Un solo canal oral o nasal / bucal Sensor de flujo de aire reutilizable. Estar-dientes sensor de posición precisamente en la ruta de flujo de aire. 
    Un humano adulto normal que tiene una frecuencia respiratoria de 15-30 respiraciones por minuto. 

    air_glow

    El sensor de flujo de aire e-Salud tiene dos conexiones (positivos y negativos) 
    detalle_canula_presentacione-Health_button2-01

    Conecte el cable rojo al terminal positivo (marcado como «+» en el tablero) y el cable negro al terminal negativo (marcado como «-» en el tablero). 

    e_health_canula_conectando

    Después de conectar los cables, apretar los tornillos 

    cánula + e_health

    Colocar el sensor tal como se muestra en la imagen siguiente 

    montaje_luis_canula_airflow
    Obtención de datos
    El sensor de flujo de aire está conectado a la Arduino / RasberryPi por una entrada analógica y devuelve un valor de 0 a 1024.Con las siguientes funciones se puede obtener este valor directamente e imprimir una forma de onda en el monitor serie.
    Ejemplo:
      {
    int = flujo de aire eHealth.getAirFlow ();
    eHealth.airFlowWave (aire);
    }
    Arduino

    Sube el siguiente código para ver los datos en el monitor serie: 

    Show Code

      / *
    * Plataforma para la eSalud sensor Arduino y frambuesa de cocina-hacks.
    *
    * Descripción: "The Shield Sensor de e-Salud permite a Arduino y Frambuesa Pi
    * Los usuarios realizar aplicaciones biométricas y médicos mediante el uso de 9 diferentes
    * Sensores de pulso: Sensor de oxígeno y sangre (SpO2), sensor de flujo de aire (respiración),
    * Temperatura Corporal, Sensor Electrocardiograma (ECG), Glucómetro, Skin Galvanic
    * Respuesta del sensor (GSR - Sudoración), la tensión arterial (esfigmomanómetro) y
    * Paciente posición (acelerómetro). "
    *
    * En este ejemplo se lee el valor en voltios del sensor de ECG y el espectáculo
    * Estos valores en la serie del monitor.
    *
    * Copyright (C) 2012 Libelium Comunicaciones distribuídas SL
    * Http://www.libelium.com
    *
    * Este programa es software libre: usted puede redistribuirlo y / o modificarlo
    * Bajo los términos de la Licencia Pública General de GNU según es publicada por
    * La Free Software Foundation, bien de la versión 3 de la Licencia, o
    * (A su elección) cualquier versión posterior.
    *
    * Este programa se distribuye con la esperanza de que sea útil,
    * Pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
    * COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
    * GNU General Public License para más detalles.
    *
    * Usted debe haber recibido una copia de la Licencia Pública General de GNU
    * Junto con esta librería. Si no es así, consulte.
    *
    * Versión 0.1
    * Autor: Luis Martin & Saad Ahmad
    * /

    # Include

    / / La rutina de instalación se ejecuta una vez cuando se pulsa reset:
    void setup () {
    Serial.begin (115200);
    }

    / / La rutina bucle se ejecuta una y otra vez para siempre:
    void loop () {

    flotar ECG eHealth.getECG = ();

    Serial.print ("valor ECG:");
    Serial.print (ECG, 2);
    Serial.print ("V");
    Serial.println ("");

    retraso (1); / / esperar un milisegundo
    }


    Sube el código y ver el monitor.Here serie es la salida utilizando el terminal USB Arduino IDE puerto serie: 

    Ejemplo_AirFlow
    Raspberry Pi
    Compile este código de ejemplo:
    Show Code

     

    / / Incluir biblioteca eHealth
    # Include "eHealth.h"

    / / Necesario para la sanidad electrónica
    eHealthClass cibersalud;

    Serial extern SerialPi;

    void setup () {

    }

    void loop () {
    int aire = eHealth.getAirFlow ();
    eHealth.airFlowWave (aire);
    retardo (100);
    }

    int main () {
    setup ();
    while (1) {
    bucle ();
    }
    return (0);
    }

    Mobile App
    La aplicación muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. aplicación Smartphone
    iphone_3
    GLCD
    El GLCD muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. GLCD
    breathing_measure
    KST
    Programa KST muestra la onda del ECG.
    breathing_measure
    Para saber más aquí

    Sensor ECG para Arduino y Netduino


     

    Electrocardiograma (ECG)

    El electrocardiograma (ECG o EKG) es una herramienta de diagnóstico que se utilizan habitualmente para evaluar la función muscular y eléctrica del oído.

    El sensor de electrocardiograma (ECG) se ha convertido en una de las pruebas más utilizadas médicos en la medicina moderna. Su utilidad en el diagnóstico de un gran número de patologías cardíacas que van desde la isquemia miocárdica y el infarto al síncope y palpitaciones ha sido muy valiosa para los médicos durante décadas.

    La precisión del ECG depende de la afección que se estudia. Un problema cardíaco no siempre aparecen en el ECG. Algunas afecciones cardíacas nunca producen cambios específicos en el ECG. Derivaciones de ECG se une al cuerpo mientras el paciente se encuentra de plano sobre una mesa o cama.

    Lo que se mide o se puede detectar en el ECG (electrocardiograma)?

    La orientación del corazón (la forma en que se coloca) en la cavidad torácica. 
    Evidencia de espesor aumentado (hipertrofia) del músculo del corazón. 
    Evidencia de daño a las diversas partes del músculo cardíaco. 
    Evidencia de flujo sanguíneo deteriorado agudamente al músculo del corazón. 
    Los patrones de actividad eléctrica anormal que puede predisponer al paciente a alteraciones del ritmo cardíaco anormal. 
    La tasa subyacente y el mecanismo de ritmo del corazón.

    Representación esquemática de ECG normal

    sinus_rhythmlabels
    Presentación parches
    Conecte los tres cables (positivo, negativo y neutro) en el tablero de e-Salud.
    parches salud en líneaparches salud en línea
    Conectar el cable de ECG a los electrodos.
    Montaje parches
    Retire el plástico protector
    quitando Pegatinas
    Coloque los electrodos como se muestra a continuación

    cuerpohuman_body

    Funciones de biblioteca

    Obtención de los datos:
    Este ECG devuelve un valor analógico en voltios (0 – 5) para representar la forma de onda del ECG.
    Ejemplo
      {
       flotar ECGvolt eHealth.getECG = ();
      }

    Ejemplo

    Arduino

    Sube el siguiente código para ver los datos en el monitor serie:

    Sube el código y ver el monitor de serie. Aquí está la salida utilizando el terminal USB Arduino IDE puerto serie:

    Raspberry Pi

    En desarrollo

    Mobile App
    La aplicación muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. aplicación Smartphone
    android_8
    GLCD
    El GLCD muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. GLCD
    pantalla5
    KST
    Programa KST muestra la onda del ECG.
    ecg_measure
    Para saber más aquí

    Sensor de pulso y oxigeno en la sangre(SpO2) para arduino


    Funciones de sensor SPO2

    Oximetría de pulso de un método no invasivo que indica la saturación de oxígeno arterial de la hemoglobina funcional.
    La saturación de oxígeno se define como la medición de la cantidad de oxígeno disuelto en la sangre, basado en la detección de la hemoglobina y la desoxihemoglobina. Dos longitudes de onda de luz diferentes se utilizan para medir la diferencia real de los espectros de absorción de Hb y HbO2. La circulación sanguínea se ve afectada por la concentración de Hb y HbO2, y sus coeficientes de absorción se midió utilizando dos longitudes de onda de 660 nm (espectros de luz roja) y 940 nm (espectros de luz infrarroja). Desoxigenada y oxigenada hemoglobina absorbe diferentes longitudes de onda.
    Hemoglobina desoxigenada (Hb) tiene una mayor absorción en 660 nm y la hemoglobina oxigenada (HbO2) tiene una mayor absorción en 940 nm. Entonces un fotodetector percibe la luz no absorbida por los LED para calcular la saturación de oxígeno arterial.
     Un sensor de oxímetro de pulso es útil en cualquier entorno en el que la oxigenación de un paciente es inestable, incluyendo cuidados intensivos, operativo, recuperación de emergencia y la configuración de la sala del hospital, los pilotos en aeronaves no presurizadas, para la evaluación de la oxigenación de cualquier paciente, y la determinación de la eficacia o la necesidad de oxígeno suplementario.

    Aceptables rangos normales para los pacientes son de 95 a 99 por ciento, los que tienen un problema en la unidad hipóxico esperaría valores a ser de entre 88 a 94 por ciento, valores de 100 por ciento puede indicar envenenamiento por monóxido de carbono.

    El sensor tiene que estar conectado a Arduino o Pi frambuesa, y no utilice externo / interno de la batería.

    Conexión del sensor 

    Conecte el módulo en la plataforma de sensores e-Salud. El sensor tiene una sola forma de conexión para evitar errores y hacer más fácil la conexión.

    Introduzca el dedo en el sensor y pulse el botón ON.

    Después de unos segundos obtendrá los valores en la pantalla del sensor.

    Funciones de biblioteca 

    Inicialización
    Este sensor utiliza interrupciones y es necesario incluir una biblioteca especial cuando se va a utilizar.
       # Include
    Después de esto incluyen, debe adjuntar las interrupciones en el código para obtener los datos del sensor de th. El sensor interrumpirá el proceso para actualizar los datos almacenados en las variables privadas.
      PCintPort :: attachInterrupt (6, readPulsioximeter, en aumento);
    El pin digital 6 de Arduino es el pin de sensor donde enviar la interrupción y la readpulsioximeter función se ejecutará.
      readPulsioximeter void () {    
          cont + +; 
        if (cont == 50) {/ / Obtener sólo un 50 medidas para reducir la latencia
             eHealth.readPulsioximeter ();  
             cont = 0;
            }
       }
    Antes de comenzar a utilizar el sensor SP02, debe ser inicializado. Utilice la siguiente función de configuración para configurar algunos parámetros básicos y para iniciar la comunicación entre el Arduino / RaspberryPi y el sensor.
    La lectura del sensor

    Para leer el valor actual del sensor, utilice la función siguiente. 
    Ejemplo: 

      {
       eHealth.readPulsioximeter ();
      }

    Esta función almacenar los valores del sensor en variables privadas. 

    Obtención de datos

    Para ver los datos que podemos obtener los valores del sensor almacenada en la variable privada mediante el uso de las funciones siguientes. 
    Ejemplo: 

      {
       int SPO2 = eHealth.getOxygenSaturation ()

    int BPM = eHealth.getBPM ()
    }

    Ejemplo 
    Arduino

    Sube el siguiente código para ver los datos en el monitor serie: 

    # Include
    # Include

    int cont = 0;

    void setup () {
    Serial.begin (115200);
    eHealth.initPulsioximeter ();

    / / Añadir los inttruptions para usar el pulsioxímetro.
    PCintPort :: attachInterrupt (6, readPulsioximeter, en aumento);
    }

    void loop () {

    Serial.print («PRbpm:»);
    Serial.print (eHealth.getBPM ());

    Serial.print («% SpO2:»);
    Serial.print (eHealth.getOxygenSaturation ());

    Serial.print («\ n»);
    Serial.println («=============================»);
    retardo (500);
    }

    / / Incluir siempre este código cuando se utiliza el sensor de pulsioxímetro
    / / ================================================ =========================
    readPulsioximeter void () {

    cont + +;

    if (cont == 50) {/ / Obtener sólo un 50 medidas para reducir la latencia
    eHealth.readPulsioximeter ();
    cont = 0;
    }
    }

    Sube el código de Arduino y ver el monitor.Here serie es la salida de la terminal USB utilizando Arduino IDE puerto serie:
    Raspberry Pi
    En desarrollo.
    Mobile App
    La aplicación muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. aplicación Smartphone
    GLCD
    El GLCD muestra la información de los nodos se envía, que contiene los datos de sensor recogidos. GLCD
    Más información aquí

    Terminos en Google más buscados en 2012 en el mundo y tambien en España


    google4google3

    Como puede verse en la imagen de más arriba, Google acaba de dar a conocer su lista Zeitgeist anual tanto global como partiularizada para cada pais

    En cuanto a España, como puede verse en la imagen de más bajo, en su lista Zeitgeist anual este año , desgraciadamente ha tenido un claro portagonista : la crisis económica. Y es que, entre las búsquedas generales con mayor crecimiento son los términos económicos como Bankia, prima de riesgo o reforma laboral 2012, los que han experimentando un mayor crecimiento en Google este año.

    google2
    google1

    A pesar de la preocupación de los españoles por la situación económica y laboral, lo cierto es que también ha habido espacio para términos más lúdicos, como el ya famoso video del cantante coreano PSY Gangnam Style; la canción Yo te esperaré, de Cali y el Dandy, y el también más que famoso Ai si eu te pego, de Michel Telo.

    Los personajes que más han evolucionado en búsquedas han sido, por un lado, Whitney Houston, que falleció este año, y Paula Echevarría y la cantante Adele

    Por otro lado es curiosa la busqueda de frases que comienzan con “como” (cómo ganar dinero, cómo ahorrar dinero, cómo buscar trabajo, cómo encontrar trabajo…).

    Lo más buscado en lo que a películas se refiere han sido Ted , Lo Imposible y Carmina o Revienta, mientras que en el mundo de la literatura bestsellers como Juegos de Tronos o el libro que está revolucionando a gran parte de las mujeres de este país, 50 Sombras de Grey, se han situado en el top de lo más buscado.

    El presidente del Gobierno, Mariano Rajoy, Andrea Fabra o Santiago Carrillo,(este ultimo que en falleció 2012 ), son los personajes más populares en el apartado de política, y Sergio Ramos, Fernando Torres y Gerard Piqué comienzan la lista de los deportistas que suscitan más interés. El Sevilla C.F, el Barcelona y el Valencia, los clubs que más búsquedas han acaparado y Mireia Belmonte, Pau Gasol y Rudy Fernández, los deportistas olímpicos más buscados.

    En lo que respecta a la televisión, la “tele realidad” acapara gran parte de la búsquedas con Gran Hermano o Gandia Shore como abanderadas, aunque también destaca las búsquedas relacionadas con La Voz.

    Madrid , Barcelona, Valencia , Malaga y Sevilla han sido las ciudades españolas más buscadas en Google Maps.

    Fuente

    Terminos en Google más buscados en 2012 en el mundo y tambien en España


    google4google3

    Como puede verse en la imagen de más arriba, Google acaba de dar a conocer su lista Zeitgeist anual tanto global como partiularizada para cada pais

    En cuanto a España, como puede verse en la imagen de más bajo, en su lista Zeitgeist anual este año , desgraciadamente ha tenido un claro portagonista : la crisis económica. Y es que, entre las búsquedas generales con mayor crecimiento son los términos económicos como Bankia, prima de riesgo o reforma laboral 2012, los que han experimentando un mayor crecimiento en Google este año.

    google2
    google1

    A pesar de la preocupación de los españoles por la situación económica y laboral, lo cierto es que también ha habido espacio para términos más lúdicos, como el ya famoso video del cantante coreano PSY Gangnam Style; la canción Yo te esperaré, de Cali y el Dandy, y el también más que famoso Ai si eu te pego, de Michel Telo.

    Los personajes que más han evolucionado en búsquedas han sido, por un lado, Whitney Houston, que falleció este año, y Paula Echevarría y la cantante Adele

    Por otro lado es curiosa la busqueda de frases que comienzan con “como” (cómo ganar dinero, cómo ahorrar dinero, cómo buscar trabajo, cómo encontrar trabajo…).

    Lo más buscado en lo que a películas se refiere han sido Ted , Lo Imposible y Carmina o Revienta, mientras que en el mundo de la literatura bestsellers como Juegos de Tronos o el libro que está revolucionando a gran parte de las mujeres de este país, 50 Sombras de Grey, se han situado en el top de lo más buscado.

    El presidente del Gobierno, Mariano Rajoy, Andrea Fabra o Santiago Carrillo,(este ultimo que en falleció 2012 ), son los personajes más populares en el apartado de política, y Sergio Ramos, Fernando Torres y Gerard Piqué comienzan la lista de los deportistas que suscitan más interés. El Sevilla C.F, el Barcelona y el Valencia, los clubs que más búsquedas han acaparado y Mireia Belmonte, Pau Gasol y Rudy Fernández, los deportistas olímpicos más buscados.

    En lo que respecta a la televisión, la “tele realidad” acapara gran parte de la búsquedas con Gran Hermano o Gandia Shore como abanderadas, aunque también destaca las búsquedas relacionadas con La Voz.

    Madrid , Barcelona, Valencia , Malaga y Sevilla han sido las ciudades españolas más buscadas en Google Maps.

    Fuente