Tengo un problema menor con mi ECG. Cuando toco en los cables, me dan una lectura. Pero cuando sostengo los cables o los coloco cerca de mi corazón, no obtengo nada. Estoy bastante seguro de que esto está relacionado con el hardware, pero no quiero descartar por completo un posible problema de software. Utilicé este video de YouTube como guía: enlace , con el circuito que se muestra a continuación.
Mitablerocasiseveexactamenteigualqueeso,peroconunpardecambios.EnlugardeconectarelECGalacomputadoraatravésdeuncabledeaudio,uséBluetoothparatransferirloamiteléfono.Aquíestámidiagramaesquemático.
Aquí está mi diagrama de tablero.
2 http://i62.tinypic.com/5lcpzc.jpg
En mi tablero, usé tres amplificadores operacionales LM358. Aquí está mi código de Arduino (si lo necesitas):
const int signal = 7; // Pin connected to the filtered signal from the circuit
unsigned long currentBeatTime;
unsigned long previousBeatTime;
unsigned long frequency;
// Internal variables
unsigned long period = 0;
int input = 0;
int lastinput = 0;
void setup() {
pinMode(signal, INPUT);
Serial.begin(9600);
previousBeatTime = millis();
}
void loop() {
delay(100);
input = digitalRead(signal);
if ((input != lastinput) && (input == HIGH)) {
// If the pin state has just changed from low to high (edge detector)
currentBeatTime = millis();
period = currentBeatTime - previousBeatTime; // Compute the time between the previous beat and the one that has just been detected
previousBeatTime = currentBeatTime; // Define the new time reference for the next period computing
}
lastinput = input; // Save the current pin state for comparison at the next loop iteration
// Detect if there is no beat after more than 2 seconds
if ( (millis() - previousBeatTime) > 2000 )
{
//Serial.println("dead");
}
else
{
if (period <= 0)
{
frequency = 0;
}
else
{
frequency = 60000/period; // Compute the heart rate in beats per minute (bpm) with the period in milliseconds
}
Serial.println(frequency);
}
}
Cualquier ayuda con respecto a este problema es muy apreciada. ¡Gracias!