Arduino: Cronómetro

Iniciado por @synthesize, 31 Mayo 2010, 02:34 AM

0 Miembros y 1 Visitante están viendo este tema.

@synthesize


int seg =0;
int mix =0;
int hor =0;
int b;

void setup()
{
  Serial.begin(115200);
 
  hor =17;  // Actual
  mix =58;
  seg =45;
  b=1000;
}

void loop()
{

  int a =millis();
 
  if (a==b)
  {
    b+=1000;
    seg++;
   
 
    if (seg==60)
    {
      seg =0;
      mix++;
    }
 
    if (mix==60)
    {
      mix =0;
      hor++;
    }
 
    if (hor==23)
    {
      hor =0;
      mix =0;
      seg =0;
    }
    Serial.flush();
    mostrar(hor, mix, seg);
  }
}

void mostrar (int hox, int mixx, int sex)
{
  Serial.print(hox);
  Serial.print(";");
  Serial.print(mixx);
  Serial.print(";");
  Serial.print(sex);
  Serial.print("\n");
}


¿Alguien me ayuda a mejorarlo? XD

Silici0

Que tal, por si te ayuda encontré un proyecto de cronómetro en:
http://sites.google.com/site/lsdiosarduino/Proyectos-Arduino/cronometro01

El usa la función millis() una segunda vez para ver el retardo del bucle y hacer una rectificación para hacerlo mas preciso.

 time2 = millis();            //comprueba el tiempo al final del loop
 time2=time2 - time1;       //calcula la diferencia
 if (time2 >=90 ){
   time2=50;
 }
 clock=90-time2;            //hace la rectificacion con delay
 delay(clock);

 printtime();                 //Imrpime el tiempo en el LCD
"Lo que posees acabará poseyéndote."
.
..: