Go Down

Topic: Frecuencimetro y voltimetro (Read 168 times) previous topic - next topic

gatoman

Hola, buen día
tengo un problema , estoy asiendo un frecuencimetro y un voltimetro , pero la opción de la frecuencia
tarda 1 segundo , eso demora la medición de voltaje ya que pierde un segundo en esa instrucción
alguien tiene un idea de como hacer que la instrucción se haga en segundo plano, mientras se realizan
las mediciones de voltaje , a si no se perdería tiempo esperando que se tenga el valor de la frecuencia
Adjunto mi código
Code: [Select]


#include <FreqCount.h>


void setup() {
 Serial.begin (9600);
 FreqCount.begin(1000);
}

void loop() {
  if (FreqCount.available()){
///////////////////////////////////////////////
//////////ENVIA FRECUENCIA/////////////////////   
   {
  double count = FreqCount.read();
   Serial.print("frecuencia");
   Serial.print("  ");
   Serial.print(count);
   Serial.print("  ");
  }
///////////////////////////////////////////////
 {
  int valordesensor= analogRead (A0);
  int valordesensor2= analogRead(A1);
///////////////////////////////////////////////
//////////ENVIA VOLTAJES///////////////////////
 {
    Serial.print("Voltaje");
    Serial.print("  ");
    Serial.print((valordesensor)+1025);
    delay (10);
    Serial.print("  ");
    Serial.print("Voltaje");
    Serial.print("  ");
    Serial.print(valordesensor2);
    delay (10);
    Serial.println('\r');
}
}
}
 
///////////////////////////////////////////////
///////////////////////////////////////////////
}


surbyte

Muy raro tu código:

1ro ya te lo aclaró @ArduMyth y no hay retraso de 1 segundo en la lectura de frecuencia porque cuando la lectura esta disponible o available es cuando la presenta.

2do. Que raro es esto

Code: [Select]
  int valordesensor= analogRead (A0);
  int valordesensor2= analogRead(A1);
///////////////////////////////////////////////
//////////ENVIA VOLTAJES///////////////////////
 {
    Serial.print("Voltaje");
    Serial.print("  ");
    Serial.print((valordesensor)+1025);


Lees dos valores y al valor leido le sumas 1025, puedes explicar por que?

Por cierto los delya(10) no sirven de nada.

Si quieres pausar la presentación del voltimetro

Ve a Documentación => Indice de temas tutoriales => millis()

gatoman

Hola , le sumo 1025 por que estoy conectandolo al visual Studio y lo uso como bandera , como lo quiero mostrar en una label , le digo que en un label muestre valores menores a 1025 y en el otro mayores a 1025 por eso le sumo

surbyte

Ahhh como no explicas nada para nosostros eso esta mal y por eso mi comentario.

Go Up