miércoles, 7 de julio de 2021

Medidor de tiempos por infrarrojos con Arduino

Objetivo: medir cuanto tarda en pasar un cuerpo entre dos sensores

Montaje:








 

Vídeo:


Código:

int infrarrojo1=7;
int infrarrojo2=8;
int valor1=0;
int valor2=0;
unsigned long tiempo1 = 0;
unsigned long tiempo2 = 0;
unsigned long TiempoTotal = 0;
String T1="Obstaculo detectado en sensor 1 en t= ";
String T2="Obstaculo detectado en sensor 2 en t= ";
String TT="Tiempo total empleado T= ";

void setup(){
Serial.begin(9600);
pinMode(infrarrojo1, INPUT);
pinMode(infrarrojo2, INPUT);
Serial.println("*** Sensores listos: Leyendo... ***");
}

void loop(){
valor1 = digitalRead(infrarrojo1);

  if (valor1 == LOW) {
    tiempo1=millis();
    T1=T1+tiempo1;
    Serial.println(T1);
    
    while(tiempo2<tiempo1){
      valor2 = digitalRead(infrarrojo2);
      if (valor2 == LOW) { 
        tiempo2=millis();     
        T2=T2+tiempo2;
        Serial.println(T2);
        delay(1);
      }
      delay(1);
    }

TiempoTotal=tiempo2-tiempo1;
TT=TT+TiempoTotal;
Serial.println(TT);

}
}

No hay comentarios:

Publicar un comentario