long time1 = 0; //this declares time1 as a long
//and initialises it to 0;
long time2 = 0;
bool redPressed = false;
bool greenPressed = false;
int distanceCM = 400;
void setup() {
Serial.begin(115200);
pinMode(6, INPUT); //THE GREEN BUTTON
pinMode(5, INPUT); //THE RED BUTTON
}
void loop() {
if(digitalRead(5) == HIGH && redPressed == false){
while(digitalRead(5) == HIGH){
delay(1);
}
time1 = micros();
Serial.print("Recorded Point A: ");
Serial.println(time1);
redPressed = true;
greenPressed = false;
}
if(digitalRead(6) == HIGH && redPressed == true && greenPressed ==false){
while(digitalRead(6) == HIGH){
delay(1);
}
time2 = micros();
long timeDiffernce = time2 - time1;
Serial.println("Assuming a seperation of 100m");
Serial.print("Time Differnce between A&B is ");
Serial.println(timeDiffernce);
greenPressed = true;
redPressed = false;
float speed = (distanceCM/100.0) / (timeDiffernce/1000000.0);
Serial.print("Speed is: ");
Serial.print(speed);
Serial.println(" meters per second");
}
}