byte button =2;
float startTime;
float endTime;
float duration;
float distance = 10;
float speed;
byte timerRunning;
void setup(){
pinMode(14,INPUT);
pinMode(27,INPUT);
pinMode(18,OUTPUT);
pinMode(19,OUTPUT);
Serial.begin(9600);
}
void loop(){
if (timerRunning == 0 && digitalRead(14) == HIGH){ //Grüner Button startet den Timer
startTime = millis();
timerRunning = 1;
}
if (timerRunning == 1 && digitalRead(27) == HIGH){ // Roter Button stoppt den Timer
endTime = millis();
timerRunning = 0;
duration = (endTime - startTime) / 1000; // Endzeit - Startzeit /1000 = Timer dauer in Sekunden
Serial.print ("button press time in seconds: "); // ausgabe Duration
Serial.println (duration); // ausgabe Duration
speed = (distance / duration) * 3.6 ; // Geschwindigkeitsberechnung = distance(m) / duration(s) * 3.6 = km/h
Serial.println (speed);
if (speed > 30.0) { // wenn Geschwindigkeit höher als 30km/h, dann gehen alle lampen für 1 sekunde an.
digitalWrite(18, HIGH);
digitalWrite(19, HIGH);
delay(1000);
digitalWrite(18, LOW);
digitalWrite(19, LOW);
}
}
}