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.

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).
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.
Limpie el extremo de su dedo índice con alcohol antes de pincharse con una aguja o lanceta estéril.
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
Coloque la gota de sangre en el lado de la tira.
El glucómetro se tome unos momentos para calcular la lectura de azúcar en la sangre
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.
Usted debe ver en la pantalla del glucómetro el mensaje «PC», que indica la conexión correcta.
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")); }
Ejemplo
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:
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 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í