Arduino ECG emitiendo valores totalmente aleatorios

0

Comunidad Hello StackExchange,

He encontrado un problema en mi diseño de ECG / EKG. Estoy intentando crear el ECG utilizando Arduino como microcontrolador para enviar / recuperar mediciones de la frecuencia cardíaca a través de Bluetooth (JY-MCU). Sé que mi circuito está funcionando porque cuando coloco un LED en la salida del amplificador operacional y su fondo, obtengo una leve atenuación de la luz si pongo suavemente la mano en los cables. Sé que el problema está con mi código. He estado trabajando en este proyecto por un tiempo y aún no puedo encontrar una solución. Aquí está mi esquema.

1 http://i57.tinypic.com/10p68ef.jpg

Lo sentimos, ¡quizás quieras voltear tu pantalla para ver la foto! Aquí está mi código que creo que es incorrecto. El código es solo un mínimo.

// External variables
const int  signal = 8;    // Pin connected to the filtered signal from the circuit
unsigned long time;   
unsigned long frequency;
char freq[3];

// Internal variables
double period = 2000;
double starttime = 2000;
double input = 0;
double lastinput = 0;
unsigned long death = 0;

// initialize the library with the numbers of the interface pins

void setup() {
pinMode(signal, INPUT);
Serial.begin(9600);
}

void loop() {
delay(500);

time = millis();
input = digitalRead(signal);

 period = time - starttime; // Compute the time between the previous beat and the one that has just been detected
 starttime = time; // Define the new time reference for the next period computing
 death = time;
 frequency = 60000/period;
 freq[0] = frequency/100+48; // Sort the hundreds character and convert it in ASCII
 freq[1] = (frequency/10)%10+48; // Sort the thents character and convert it in ASCII
 freq[2] = frequency%10+48; // Sort the units character and convert it in ASCII
 Serial.println(freq);
}

Todo lo que estoy obteniendo es 120 o 119 como mi valor. Fluctúa entre esos dos. Intenté cambiar mis resistencias pero eso no hizo nada. También saqué completamente el cable entre el pin 8 y la placa de pruebas, y todavía fluctuaba entre 119 y 120. ¡No tengo idea de lo que está pasando aquí! Apreciaría si alguien pudiera ayudarme aquí. Gracias!

    
pregunta Rohodude

1 respuesta

5

Ese amplificador simplemente no le dará una señal de ECG. No hay ganancia suficiente, y el rechazo del modo común es muy malo. Debe controlar su adquisición de datos mediante algún tipo de señal de prueba que pueda usar sin su amplificador. Una vez que haya funcionado, puede trabajar en un amplificador que funcione. No llegará a ninguna parte rápidamente tratando de resolver todos los aspectos de su problema al mismo tiempo.

Al mirar su código, parece que está calculando el tiempo entre sus MUESTRAS (por lo que obtiene algo casi constante), que no tiene nada que ver con la frecuencia cardíaca. De alguna manera, debe procesar una señal de ECG VÁLIDA para obtener un ritmo cardíaco.

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas