#include <LiquidCrystal.h>
// Definition der Pins für den Ultraschallsensor
const int trigPin = 7;
const int echoPin = 6;
// Variable zur Speicherung der gemessenen Entfernung und um den Motor zu stopen
long distance;
bool stop = false;
// Zeitvariablen für die Berechnung der Entfernung
unsigned long previousMillis = 0;
const long interval = 500; // Messintervall in Millisekunden
void setup() {
// put your setup code here, to run once:
// Initialisiere die serielle Kommunikation
Serial.begin(9600);
// Setze die Pins als Ein- oder Ausgang
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
// put your main code here, to run repeatedly:
// Aktuelle Zeit abrufen
unsigned long currentMillis = millis();
// Überprüfen, ob das Messintervall erreicht wurde
if (currentMillis - previousMillis >= interval)
// Ultraschallsensor aktivieren
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Echo-Laufzeit in Mikrosekunden messen
distance = pulseIn(echoPin, HIGH) * 0.034 / 2;
// Entfernung über die serielle Schnittstelle ausgeben
Serial.print("Gemessene Entfernung: ");
Serial.print(distance);
Serial.println(" cm");
if (distance <= 100)
{
// Motor stoppt
stop = true;
}
else
{
// Motor rennt weiter
stop = false;
}
// Aktuelle Zeit für das nächste Messintervall speichern
previousMillis = currentMillis;
}