Estoy trabajando en un prototipo que requiere el uso de un Arduino Uno, un sensor de humedad digital, un monitor de ritmo cardíaco, una sonda de temperatura y una unidad de GPS. Mi problema, creo que es con tratar de implementar los dos dispositivos serie (GPS y Temperatura) con la biblioteca de serie del software. He leído en otras publicaciones que tales problemas pueden surgir si el código intenta comunicarse con ambos dispositivos a la vez. No creo que esté haciendo eso, pero podría estar equivocado.
Estoy logrando una salida de sensor viable, pero la salida de Temperatura y las lecturas del GPS son inconsistentes. Específicamente, las lecturas de GPS se muestran con la frecuencia suficiente pero no con regularidad y, aunque los datos de temperatura son en general buenos, esporádicamente el código imprimirá -1000. Puedo filtrar estos datos sin sentido, pero prefiero resolver el problema. ¿Alguna idea?
Main Code Loop:
void loop(void) {
//Read the serial port to see if GPS data is available
while(uart_gps.available()){
byte c = uart_gps.read();
//If incoming data is GPS data, process it
if(gps.encode(c)){
Serial.println(F("Reading"));
getgps(gps);
}
}
int heartRate = getHeartRate();
float temperature = getTemp();
float hum_temp = getTemperature();
float humidity = getHumidity();
// ... print statements