Muy estimados!
Cómo están?
Bueno, tengo aquí algo que no sé por qué actúa como actúa... vean el código.
Esto es en el Arduino UNO.
Lo que sale, son cosas que no entiendo:
La "velocidad" que aparece en el monitor serial siempre es 0.
El "Tiempo" que aparece en el monitor serial siempre es un número muy grande. Cuando han pasado como 3 segundos, el "Tiempo" que aparece es como 32568 (cualquier cosa en ese orden). Según tutorial de Arduino, eso serían como 32 segundos.
Es decir, a simple vista, la función millis() tira números tan grandes, que hace que la velocidad sea prácticamente cero. Pero... no ha pasado nunca tanto tiempo!
El código que está entremedio, solamente lee dos botones diferentes que yo mismo presiono, e insisto, típicamente dejo pasar 3 segundos aprox, y no tantos como me indica la millis().
Estaré usando mal la función millis() ?
Según la página de Arduino, no...
Alguien sabe lo que pasa aquí?
Muchas gracias!
Cómo están?
Bueno, tengo aquí algo que no sé por qué actúa como actúa... vean el código.
Esto es en el Arduino UNO.
Código:
#define DistanciaSensores 1
unsigned long Tiempo1,Tiempo2,Tiempo;
float Velocidad;
Tiempo1=millis();
// Aquí hay más código que demora un tiempo en ejecutarse
Tiempo2=millis();
Tiempo=(Tiempo2-Tiempo1);
Velocidad=(DistanciaSensores/(Tiempo/1000))*3.6; // V=d/t en [km/h]
Serial.print("Velocidad: ");
Serial.print(Velocidad);
Serial.println(" [km/h]");
Serial.print(Tiempo);
Lo que sale, son cosas que no entiendo:
La "velocidad" que aparece en el monitor serial siempre es 0.
El "Tiempo" que aparece en el monitor serial siempre es un número muy grande. Cuando han pasado como 3 segundos, el "Tiempo" que aparece es como 32568 (cualquier cosa en ese orden). Según tutorial de Arduino, eso serían como 32 segundos.
Es decir, a simple vista, la función millis() tira números tan grandes, que hace que la velocidad sea prácticamente cero. Pero... no ha pasado nunca tanto tiempo!
El código que está entremedio, solamente lee dos botones diferentes que yo mismo presiono, e insisto, típicamente dejo pasar 3 segundos aprox, y no tantos como me indica la millis().
Estaré usando mal la función millis() ?
Según la página de Arduino, no...
Alguien sabe lo que pasa aquí?
Muchas gracias!