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
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