Boa noite pessoal, estou fazendo um projeto que retrata a queda livre, então na hora em que o led ligasse, o arduino começaria a contar um tempo, e quando o objeto chegasse no sensor, o arduino pararia de contar, e mostraria no serial o tempo1 - tempo2... Mas o que esta acontecendo é: o led liga e para, o objeto passa pelo sensor, mas o arduino só para de contar quando o led liga de novo.
int led = 12;
#include <Ultrasonic.h>
#define echoPin 8
#define trigPin 7
Ultrasonic ultrasonic(8,7);
int func_distancia_ultrasonico()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long duracao = pulseIn(echoPin, HIGH);
int distancia = duracao / 58;
return distancia;
}
unsigned long temp1;
unsigned long temp2;
unsigned long tempHL;
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
}
void ligue(){
}
void loop(){
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);
if (digitalRead(led) == HIGH)
{
temp1 = millis();
}
{
int valor = func_distancia_ultrasonico();
if(valor <=15)
{
temp2= millis();
tempHL=(temp2-temp1);
Serial.println(tempHL/1000);
}
}
}