Contador de tempo com retorno no programa

Galera, quero saber como posso fazer um contador de tempo no qual ele me retorne o tempo na própria programação.
Quero fazer um radar, no qual se tem 2 botões com uma distancia já definida (8cm), quando o objeto passar sobre esses botões o Arduino ira cronometrar o tempo em que se levou para passar sobre esses dois botões, e dividir a distancia por tempo me informando a velocidade. Eu acho q para isso precisarei fazer com que o tempo seja uma variável para eu poder fazer a conta.

Hola, AdrianoMunin.
Espero haber entendido tu pregunta, a pesar de que no conozco el portugués.

unsigned millisA, millisB, tiempo;

while (!digitalRead(botonA) {
    millisA=millis();
}
while (!digitalRead(botonB) {
    millisB=millis();
}
tiempo=millisB-millisA;

Según Google Traductor dijo esto:

Chicos, quieren saber cómo puedo hacer un contador de tiempo en el cual me devuelve el tiempo en su propia programación .
Quiero hacer un radar , que tiene 2 botones con una distancia ya definida ( 8 cm) , cuando el objeto pase sobre estos botones Arduino ira marcando el tiempo que se tardó en pasar estos dos botones , y dividir la distancia por el tiempo diciéndome cuanto acelerar. Q Creo que tendrá que ver con que el tiempo es una variable para que pueda hacer los cálculos.

Bueno me huele a autos de carrera eléctricos. Yo los conozco por Scalectrix pero habrá otras marcas.
Dos autos pasan por dos puntos conocidos que puede ser una serie de switchs.
Se toma el tiempo que bien calculó Noter y con el dato de distancia se calcula la velocidad.

La aceleración es la derivada de la velocidad en el tiempo.
Nos hace falta otro punto para poder calcular alguna aceleración.

:stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes: :stuck_out_tongue_closed_eyes:

Surbyte:

¿Ves cómo no hay que fiarse del google translator a pies juntillas?

Intenta buscar la palabra aceleración dentro del texto original, aunque sepas tan poco portugués como yo. Creo que en este caso estás "derivando" tú :grin:.

Un detalle, pobre traductor. No miré porque para comenzar, tu sabes que no corresponde que haga su consulta en este foro en español.

Pero por cierto, tienez razón, no habla de aceleración como yo intuí por la mala traducción y si velocidad.

muy gracias, mas yo tive un pequnito erro :

este es mi codigo:

#define sensorA 51
#define sensorB 52

void setup() {

Serial.begin (1900);
pinMode (sensorA, INPUT);
pinMode (sensorB, INPUT);

}

void loop() {

{while (!digitalRead(sensorA))
int tiempoA = millis();
}

{while (!digitalRead(sensorB))
int tiempoB = millis();
}

byte tiempo = tiempoB-tiempoA;

byte vel = 0.085/tiempo; // Medir la velicidad con 85cm distancia del sensor

Serial.print (vel);
Serial.print ('\n');

}

lo erro es:

sketch_may01a.ino: In function 'void loop()':

sketch_may01a.ino:22:15: error: 'tiempoB' was not declared in this scope

sketch_may01a.ino:22:23: error: 'tiempoA' was not declared in this scope

Erro compilando.

yo no quería saber acerca de la aceleración, pero gracias por intentarlo me ajudat.
yo quería saber acerca de como medir el tiempo de los sensores

yo no entiendo frances o italiano lo que sea. yo no parlo italiano.
foro español. :zipper_mouth_face: :zipper_mouth_face: :zipper_mouth_face:

define tiempoB y tiempoB

unsigned long tiempoB, tiempoA;

Y las aperturas de llaves van después del while:

{while (!digitalRead(sensorA))

while (!digitalRead(sensorB)) {

A ver, amigos! Yo se que en su afán de ayudar, ustedes hasta pueden intentar responder en un idioma que no es el nuestro.
Esto no es correcto, en el Foro tenemos un sub-foro en Portugués y lo que hubiera sido correcto es que un admin moviera la consulta del amigo AdrianoMunin al sub-foro en Portugués.
Y hubiera sido más efectivo si alguno de ustedes lo informa, pero con "buena onda", la misma buena onda que demostraron al intentar resolver el problema del amigo.
Desgraciadamente ahora no puedo remitir la solicitud del amigo al sub-foro en Portugués sin borrar previamente todos los comentarios en Castellano.
Amigo AdrianoMunin:
Por favor, procure escriver sua pergunta no foro Portugués, de novo.
Brigado!

Aparece solo o numero 255

Mano não sei se tu já resolveu, mas seguinte. Teu código ta errado

#define sensorA 51
#define sensorB 52

void setup() {
 
Serial.begin (1900);  
pinMode (sensorA, INPUT);
pinMode (sensorB, INPUT);

}

void loop() {
 
{while (!digitalRead(sensorA))
   int tiempoA = millis();               << Tu ta declarando uma variável local
}

{while (!digitalRead(sensorB))
   int tiempoB = millis();               << Tu ta declarando uma variável local
}

byte tiempo = tiempoB-tiempoA;  << E tentando usar elas AQUI

byte vel = 0.085/tiempo; // Medir la velicidad con 85cm distancia del sensor

Serial.print (vel);
Serial.print ('\n');

}

Olha o erro:


sketch_may01a.ino: In function ‘void loop()’:

sketch_may01a.ino:22:15: error: ‘tiempoB’ was not declared in this scope // Colocar no google tradutor

sketch_may01a.ino:22:23: error: ‘tiempoA’ **was not declared in this scope ** // Colocar no google tradutor

Erro compilando.

gracias, ahora todo salió bien.