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