Hola buenos dias/noches , estoy haciendo un proyecto en el cual integro los valores del blood pressure y el pulsioximetro y los envio a un programa externo por medio del puerto serial.. este es el codigo:
Code:
#include <eHealth.h>
#include <PinChangeInt.h>
int cont = 0;
int rele = 4;
int rr = 0;
void setup() {
//pinMode(rele,OUTPUT);
//delay(5000);
eHealth.readBloodPressureSensor();
Serial.begin(9600);
delay(100);
eHealth.initPulsioximeter();
PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
//
}
void loop() {
pinMode(rele,OUTPUT);
uint8_t numberOfData = eHealth.getBloodPressureLength();
delay(100);
Serial.print(30+eHealth.bloodPressureDataVector[numberOfData-1].systolic);
Serial.print(F(","));
Serial.print(eHealth.bloodPressureDataVector[numberOfData-1].diastolic);
Serial.print(",");
Serial.print(eHealth.getBPM());
Serial.print(",");
Serial.print(eHealth.getOxygenSaturation());
float temperature = eHealth.getTemperature();
Serial.print(",");
Serial.print("00");
Serial.println("");
delay(2000);
}
void readPulsioximeter(){
cont ++;
if (cont == 50) { //Get only of one 50 measures to reduce the latency
eHealth.readPulsioximeter();
cont = 0;
}
}
mientras lo pruebo en el monitor serial del IDE funciona perfecto:

el software de resepcion lo estoy en QT,y el problema es que paraque tome los datos del blood pressure debo abrirlo primero en el monitor serial de arduino, cerrarlo y luego probar en QT ... asi funciona perfecto... pero si abro primero desde qt directo.. los valores del blood pressure no funcionan aunque los otros si.. por ejemplo:
Si abro desde el programa sin abrir previamente el monitor serial de arduino:

Los datos de abajo corresponden a los valores que le paso porvalor serial... pero vemos que al incicio sale 30,0 que corresponden al valor de la presion sistolica y diastolica respectivamente... y estos valores no los correctos... sim embargo los valores del pulsioximetro los toma sin problema...
Perooooooo esto pasa si antes de abrir el programa en QT abro el monitor serial de arduino:

Como se puede ver hay si pasa los valores sin problemas...
Entonces alguna ayuda para que esto no pase???