Go Down

Topic: modulo RTC, bluetooth, SD, TFT + caudalimetro y sondas varias con lentitud (Read 92 times) previous topic - next topic

cescbit

buenas a todos, en breve si finalizo con éxito la programación subiré a proyectos esto que llevo entre manos...
tengo problemas con la lentitud en el refresco de los datos tanto por LCD como a través del bluetoth, y es a partir de cuando pongo en el código los caudalimetros que funcionan con los millis, el sistema no es tan inmediato. Estoy usando una mega pro mini, dónde lo que hago es la lectura de 6 sondas de temperatura, dos de presión, dos caudalimetros, mostrando los datos por la pantalla LCD, guardando en la SD en el fichero y enviando los datos por bluetoth a la aplicación movil. No soy programador y bien seguro el programa contiene muchos errores básicos, con que alguien me pueda indicar en que estoy fallando para que se relantice tanto le estaría muy agradecido...

Quote
adjunto el fichero ya qe no me deja por espacio postearlo

Sereno

A ver si lo adivino, el retraso en el refresco del lcd y de bluetoth es de unos 2 segundos???

cescbit


Sereno

El problema lo tienes cada vez que obtienes la frecuencia
Code: [Select]
int ObtenerFrecuecia()
{
  int frecuencia;
  NumPulsos = 0;   //Ponemos a 0 el número de pulsos
  interrupts();    //Habilitamos las interrupciones
  delay(1000);   //muestra de 1 segundo
  noInterrupts(); //Deshabilitamos  las interrupciones
  frecuencia=NumPulsos; //Hz(pulsos por segundo)
  return frecuencia;
}

En ObternerFrecuencia y ObtenerFrecuencia2, lo tienes muy sencillo ya que como tomas muestras de 1 segundo obtienes la frecuencia facil facil, pero detiene el programa 1 segundo.
Intenta no utilizar ese delay, yo miraría de obtener los pulsos si el tiempo que pasa entre mediciones es > 1 segundo si se cumple eso, calculas el tiempo que ha tardado y listos.
No se si me explico.
Realizas la primera medición, la segunda cuando el tiempo desde la anterior hasta la actual sea >1seg.

cescbit


Go Up